当然你首先需要有张N卡
可以参考以下WSL的流程
官方文档:CUDA on WSL User Guide https://docs.nvidia.com/cuda/wsl-user-guide/
p5291@DESKTOP-1217V6I:~$ nvidia-smi Sat Oct 5 17:38:10 2024 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 560.31.01 Driver Version: 560.81 CUDA Version: 12.6 | |-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 NVIDIA GeForce RTX 3050 ... On | 00000000:01:00.0 Off | N/A | | N/A 44C P0 12W / 75W | 0MiB / 4096MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | No running processes found | +-----------------------------------------------------------------------------------------+
接下来安装CUDA Toolkit
# 以下的命令只是举例,不保证时效性,安装的时候请参照最新的官方安装说明 wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt-get update sudo apt-get -y install cuda-toolkit-12-6
安装完成后,检查nvcc是否可用
p7742@DESKTOP-1217V6I:~$ nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2024 NVIDIA Corporation Built on Thu_Sep_12_02:18:05_PDT_2024 Cuda compilation tools, release 12.6, V12.6.77 Build cuda_12.6.r12.6/compiler.34841621_0
上述步骤执行完成之后,nvcc应该是可用的,但是在某些地方使用cuda仍然可能报错,比如taichi.init(arch=taichi.cuda),比如如下的报错:
# 报错类型1:找不到合适的设备 [Taichi] Starting on arch=cuda [E 12/28/24 23:37:27.982 2773] [cuda_driver.h:operator()@92] CUDA Error CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected while calling init (cuInit) # 报错类型2:找不到lib [W 12/29/24 01:53:49.394 139] [cuda_driver.cpp:load_lib@36] libcuda.so lib not found.
上述两种错误,都可能是因为找不到libcuda.so而引起的,按照以下步骤解决:
# 首先我们尝试找到这个lib
> find /usr -name libcuda.so
/usr/lib/wsl/lib/libcuda.so
/usr/lib/x86_64-linux-gnu/libcuda.so
/usr/local/cuda-12.6/targets/x86_64-linux/lib/stubs/libcuda.so
# 把lib的路径添加到环境变量
export LD_LIBRARY_PATH="/usr/lib/wsl/lib:${LD_LIBRARY_PATH}"
没有root权限,能否在自己的home下面安装CUDA Toolkit呢?
一般来说还是联系管理员更好,所有人都自己安装一遍浪费硬盘
技术上是否可行呢?TODO
直接下载官网的CUDA Toolkit安装包,好像就是普通的exe(安装后,直接就能在VS新建项目的地方看见CUDA项目了?)
如果你有管理员权限,首先在这里下载历史版本的CUDA:https://developer.nvidia.com/cuda-toolkit-archive
然后执行安装程序,将cuda-<version>安装到/usr/local/
然后使用链接管理多个版本的cuda(/usr/local/cuda → /usr/local/cuda-<version>),可以参照可替换命令
有一些环境变量可以设置,比如$CUDA_HOME(还有一些其他的环境变量)
应该有一些程序可以以类似[–cuda-path=xxx]的参数形式,手动指定cuda-toolkit的位置
尝试将cuda安装到/home下,是否可行呢?[待验证]
思路:从官网下载离线版sh安装程序,以普通权限执行,修改安装位置,这样能否安装成功呢?