我对 GPU 的经验不多,所以请原谅我的无知。如今,GPU 被用作用于通用编程的 GPGPU。但我想知道GPU是否有内存保护和虚拟化机制。我的意思是,例如,你在一个 GPU 上运行两个内核,如果你没有虚拟化和内存保护,一个内核可以很容易地写入另一个内核的地址。这个问题是如何解决的?有没有在提高 GPU 上运行的代码的可靠性方面做任何工作?是否可以通过某种沙盒机制同时运行两个内核?
最佳答案
内存由视频内存管理器管理,它可以是驱动程序或任何你想要的,只要它管理内存,我相信有不同的方法来管理这个内存,但我知道有些人使用共享内存架构 (SMA)。虚拟地址空间可用于隔离进程。虚拟地址可以转换为存储实际位/字节的逻辑地址。通常由经理或司机决定流程的地址。
关于c - GPU 上是否有内存保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10414781/