c++ - NVIDIA Cuda访问GPU共享内存

标签 c++ cuda nvidia

我正在尝试使用cuda分配共享gpu内存(与共享内存技术无关)。内存在Intel和Nvidia GPU之间共享。要分配内存,我使用的是cudaMallocManaged,最大分配大小为2GB(cudaMalloc也是这种情况),因此,专用内存的大小是2GB。

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++ - Boost.Filesystem 和 C++ 标准文件系统库有多相似?

CUDA:不同经线之间的银行冲突?

cuda - 对于CUDA,是否可以确保三元运算符可以避免分支分歧?

java - 使用NVidia图形卡的Aparapium OpenCL无法在Manjaro Arch上运行

c++ - 具有不同参数类型的虚函数

c++ - 优先级队列之类的结构,但下限类似

c++ - 关于整数和 static_assert 的特化

c++ - 如何使用 CUDA 将 std::vector<std::string> 复制到 GPU 设备

eclipse - 由于 OpenCL/CUDA 语法,如何关闭 Eclipse 中的错误/警告?

windows - 与专有库链接的GPL代码是否取决于首先创建的库?