支持CUDA统一内存系统分配器的操作系统版本是什么?

3
这里发布的幻灯片中,似乎只有在Linux内核版本4.14或更高版本上,通过调用mallocnew来使用系统分配器而不是Nvidia的cudaMallocManaged才受到支持?如果是这样,是否有一种方法可以查询Nvidia驱动程序或CUDA运行时,以了解是否可以使用系统分配器来正确地分配内存块以在CUDA统一内存模型内使用?还是必须建立操作系统/内核版本白名单,如果检测到的操作系统不在白名单上,则回退到传统的cudaMallocManaged?如果是后者,是否有人知道经过批准的操作系统版本白名单?
1个回答

2
我遇到了一个问题,因为我以为我的系统是支持的,但实际上并不支持。长话短说,由于这个“功能”需要兼容的硬件和软件的完美结合,所以我选择使用旧的API。我知道这可能不是你想要的答案。
如果你真的想使用mallocnew,我建议你查询以下内容:
1.询问操作系统正在运行的内核版本。请参见uname系统调用。 2.运行deviceQuery(或类似的工具)来检查CUDA版本(8.0或更高版本)和GPU(寻找计算能力大于或等于6.0的GPU)。
有关操作系统支持的更多信息,请访问此处:https://www.phoronix.com/scan.php?page=news_item&px=HMM-In-Linux-4.14。看起来,内核版本4.14或更高版本应该支持此功能。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接