我正在尝试使用 cuda 分配共享 gpu 内存(与共享内存技术无关)。内存由 intel 和 nvidia gpu 共享。我正在使用 cudaMallocManaged 分配内存最大分配大小为 2GB(cudaMalloc 也是如此),因此是专用内存的大小。
有没有办法从主机分配gpu共享内存或RAM,然后可以在内核中使用?
最佳答案
我假设这里的目标是能够从 MX150 GPU 上运行的 CUDA 代码访问超过 2GB 的内存。您突出显示的“共享”内存是 Windows 图形系统的一部分,不能直接从 CUDA 访问。
您唯一的选择就是切换到 Linux。然后,您可以使用 cudaMallocManaged “超额订阅”您的 GPU 内存(即分配超过 2GB)。
Windows WDDM驱动模型不支持GPU显存超额订阅,MX150仅支持Windows WDDM驱动模型。
关于c++ - nvidia cuda访问gpu共享内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59309937/