GPU上是不是有内存保护

Posted

技术标签:

【中文标题】GPU上是不是有内存保护【英文标题】:Is there memory protection on GPUsGPU上是否有内存保护 【发布时间】:2012-05-11 23:43:11 【问题描述】:

我对 GPU 没有太多经验,所以请原谅我的无知。如今,GPU 被用作通用编程的 GPGPU。但我想知道 GPU 是否具有内存保护和虚拟化机制。我的意思是,例如,您在 GPU 上运行两个内核,如果您没有虚拟化和内存保护,一个内核可以轻松写入另一个内核。这个问题是如何解决的?是否在提高 GPU 上运行的代码的可靠性方面做了任何工作?可以通过某种沙盒机制同时运行两个内核吗?

【问题讨论】:

见 cmets 至***.com/a/8686409/929437 【参考方案1】:

内存由视频内存管理器管理,它可以是驱动程序,也可以是您想要的任何东西,只要它管理内存,我相信有不同的方法来管理此内存,但我认为有些人使用共享内存架构 (SMA)。虚拟地址空间可用于隔离进程。虚拟地址可以转换为存储实际位/字节的逻辑地址。通常由经理或驱动程序来决定进程可以在哪里处理。

【讨论】:

以上是关于GPU上是不是有内存保护的主要内容,如果未能解决你的问题,请参考以下文章

“试图读取或写入受保护的内存。这通常表明其他内存已损坏。”

尝试读取或写入受保护的内存。这通常指示其他内存已损坏

在 /MT 或 /MD 上 P/调用“受保护的内存”异常

[使用硬件内存保护在64位硬件上检查数组范围

System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

C和内存中的资源保护