小白的机器学习坑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

 

posted @ 2020-07-01 11:00  cityfckr  阅读(335)  评论(0编辑  收藏  举报