【发布时间】:2020-04-06 03:51:27
【问题描述】:
我正在尝试使用 cuda 分配共享 gpu 内存(与共享内存技术无关)。内存在 intel 和 nvidia gpu 之间共享。为了分配内存,我使用cudaMallocManaged,最大分配大小为2GB(cudaMalloc也是如此),因此专用内存的大小。
有没有办法从主机分配 gpu 共享内存或 RAM,然后可以在内核中使用?
【问题讨论】:
我正在尝试使用 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驱动模型。
【讨论】: