【问题标题】:cudaMemPrefetchAsync bug on GTX 1080 (Pascal)?GTX 1080 (Pascal) 上的 cudaMemPrefetchAsync 错误?
【发布时间】:2016-12-12 09:05:06
【问题描述】:

在我的机器上,下面代码中对 cudeMemPrefetchAsync 的调用返回 10(cuda 错误无效设备)而不是 0。设置是运行 Windows 10、NVidia GTX 1080 GPU 和板载 Intel HD Graphics 530 的 Alienware 17 笔记本电脑。使用来自 NVidia 的驱动程序 376.19(移动驱动程序)。

我已经为 compute_61、sm_61 编译。另一位用户尝试在 Pascal 架构 (Titan X) 上运行相同的代码,结果正确返回 0。我还在 Debug 和 Release 模式下对此进行了测试,结果相同。有什么想法吗?

#include "cuda_runtime.h"
#include "device_launch_parameters.h"

int main()
{
    int* data;
    size_t len = 10;
    cudaError_t err = cudaSetDevice(0);
    err = cudaMallocManaged(reinterpret_cast<void **>(&data), len, cudaMemAttachGlobal);
    err = cudaMemPrefetchAsync(data, len, 0, 0);
}

【问题讨论】:

  • 只是为了更加确定 - 只有在 cudaMemAttachGlobal 调用之后才会收到无效设备错误,而不是之前,对吧?

标签: cuda nvidia


【解决方案1】:

NVIDIA 员工确认了 Windows 系统环境存在已知错误(请参阅post botton,我

另一方面,有报道称,像您这样的代码在 Linux SO 或 Maxwell 卡下运行良好。

我确实有同样的issue,但直到现在还没有解决方案,即使使用 CUDA 9.0 RC。我的建议是现在使用常规记忆方法,因为有一年多的报告,但没有修复。

【讨论】:

    猜你喜欢
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 2018-02-03
    • 2018-01-06
    • 1970-01-01
    • 2023-03-04
    • 2019-10-15
    • 2012-12-16
    相关资源
    最近更新 更多