【问题标题】:OS versions that support the system allocator for CUDA Unified Memory?支持 CUDA 统一内存的系统分配器的操作系统版本?
【发布时间】:2018-08-15 01:28:07
【问题描述】:

here 发布的幻灯片中,似乎只有 Linux 内核版本 4.14 或更高版本才支持通过调用 mallocnew 而不是 Nvidia 的 cudaMallocManaged 来使用系统分配器?...如果是这样,有没有办法查询 Nvidia 驱动程序或 CUDA 运行时,以了解系统分配器是否可以用于正确分配内存块以在 CUDA 统一内存模型中使用?或者,如果检测到的操作系统不在白名单上,您是否必须保留操作系统/内核版本的白名单并回退到传统的cudaMallocManaged?如果是后者,是否有人知道已批准的操作系统版本白名单?

【问题讨论】:

    标签: c++ c memory-management cuda


    【解决方案1】:

    所以我遇到了这个问题,因为我认为我的系统受支持,但事实并非如此。长话短说,由于这个“功能”似乎需要兼容硬件和软件的完美风暴,我坚持使用旧 API。我知道这可能不是您想要的答案。

    如果您真的想使用mallocnew,我会说您的查询将是以下各项的组合:

    1. 询问操作系统其运行的内核版本。请参阅 uname 系统调用。
    2. 运行 deviceQuery(或类似)以检查 CUDA 版本(8.0 或更高版本)和 GPU(寻找大于或等于 6.0 的计算能力)。

    更多关于操作系统支持的信息可以在这里找到:https://www.phoronix.com/scan.php?page=news_item&px=HMM-In-Linux-4.14。似乎内核版本 4.14 或更高版本应该具有此功能。

    【讨论】:

      猜你喜欢
      • 2016-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-11
      • 1970-01-01
      • 1970-01-01
      • 2018-03-20
      • 1970-01-01
      相关资源
      最近更新 更多