小白的机器学习坑3:粗大的安装CUDA
1.官方的安装方法
https://developer.nvidia.com/cuda-toolkit-archive
选择一个版本,然后会有一步步的命令指引。
版本分为driver version和runtime version。
driver version通过nvidia-smi查询。
runtime version通过nvcc -V查询。(装完cuda之后才有runtime version,nvcc命令才能用,注意-V要大写)
2.简单的方法,apt源直接装
sudo apt-get install nvidia-cuda-toolkit
这也是系统提示才知道还有这个方法。但是无法选版本。
直接安装成功,nvcc查询是9.1版。
3.验证
试验脚本helloWorldCUDA.cu
#include <stdio.h> const int N = 16; const int blocksize = 16; __global__ void hello(char *a, int *b) { a[threadIdx.x] += b[threadIdx.x]; } int main(){ char a[N] = "Hello \0\0\0\0\0\0"; int b[N] = {15, 10, 6, 0, -11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; char *ad; int *bd; const int csize = N*sizeof(char); const int isize = N*sizeof(int); printf("%s", a); cudaMalloc( (void**)&ad, csize ); cudaMalloc( (void**)&bd, isize ); cudaMemcpy( ad, a, csize, cudaMemcpyHostToDevice ); cudaMemcpy( bd, b, isize, cudaMemcpyHostToDevice ); dim3 dimBlock( blocksize, 1 ); dim3 dimGrid( 1, 1 ); hello<<<dimGrid, dimBlock>>>(ad, bd); cudaMemcpy( a, ad, csize, cudaMemcpyDeviceToHost ); cudaFree( ad ); cudaFree( bd ); printf("%s\n", a); return EXIT_SUCCESS; }
编译和运行试验脚本
nvcc helloWorldCUDA.cu -o helloWorld
./helloWorld
./filename是运行可执行程序的方式,linux出于安全考虑,直接filename不能运行,要加./强调一下才行。
参考:https://medium.com/@fmorenovr/installing-successfully-cuda-10-1-and-tensorflow-1-14-to-enable-gpu-processing-1b220dcb23b9
4.查看算力
K620算力是5
https://developer.nvidia.com/cuda-gpus
5.安装CUDnn