【发布时间】:2020-11-18 07:18:21
【问题描述】:
我有一台配备 Nvidia GPU - MX250 的笔记本电脑,我想编写和执行使用 CUDA 编写的代码。我在 Windows 10 上安装了一个 Ubuntu 20.04 LTS 模拟器,即来自 Microsoft 商店的这个应用程序 - https://ubuntu.com/tutorials/ubuntu-on-windows#1-overview。
我已经安装了nvcc工具包,安装的版本是
nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2019 NVIDIA Corporation Built on Sun_Jul_28_19:07:16_PDT_2019 Cuda compilation tools, release 10.1, V10.1.2431
我正在尝试运行基本示例,例如官方教程中的规范 vec_add 示例。代码编译没有问题,但是,在运行时,使用以下宏包装代码后:
#define CATCH_ERROR(rhs) cudaError_t status = rhs; \
if(rhs != cudaSuccess) printf("%s", cudaGetErrorString(status));
// Allocate vectors in device memory
CATCH_ERROR(cudaMalloc(&d_a, size));
cudaMalloc(&d_b, size);
cudaMalloc(&d_c, size);
我收到一条消息 - no CUDA-capable device is detected。纠正我,如果我错了,但据我了解,UNIX 的 NVIDIA 驱动程序通常附带 nvidia-cuda-toolkit。我该怎么做才能让 Ubuntu 看到 GPU,或者在安装在 Windows 10 之上的 Ubuntu 子系统上没有办法做到这一点。
我将不胜感激!
【问题讨论】:
-
也许更重要的是,我对模拟器不熟悉(也许它使用 WSL?我不知道。)但是 windows 上的 linux“模拟器”可能无法访问 GPU全部,如果您使用 WSL,则需要按照特定步骤使用 WSL 为 CUDA 启用 GPU。
-
@RobertCrovella 是的,它使用 WSL,我找到了适用于 Ubuntu 模拟器的特定版本的驱动程序,我希望它可以工作,感谢您的评论
-
要在 WSL 中获取 CUDA GPU 访问权限,您应该按照说明进行操作 here。请注意,该功能目前处于预览状态,您需要特定的驱动程序。
标签: c++ ubuntu cuda nvidia windows-subsystem-for-linux