c++ - nvidia cuda访问gpu共享内存

标签 c++ cuda nvidia

我正在尝试使用 cuda 分配共享 gpu 内存(与共享内存技术无关)。内存由 intel 和 nvidia gpu 共享。我正在使用 cudaMallocManaged 分配内存最大分配大小为 2GB(cudaMalloc 也是如此),因此是专用内存的大小。

Shared memory

有没有办法从主机分配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/

相关文章:

c++ - QT query.exec() 始终返回 false

c++ - SolvePNP 一段时间后返回错误的 rvec 和 tvec

Cuda 不同的内存分配

windows - 为什么带有 TensorFlow 的 Keras 没有使用所有 GPU 内存

opengl - X失败的请求: BadMatch错误

c++ - string& 和 char* 版本的 string::append()、string::replace() 和 string::compare()

cuda - 我如何告诉 PyCUDA 使用哪个 GPU?

c++ - 链接 CUDA 和 C++ : Undefined symbols for architecture i386

c++ - CUDA 在执行期间结合线程独立(??)变量

c++ - 如何用这个类的其他成员数据初始化一个类成员数据?