ubuntu 16.04安装 nvidia driver + cuda

前端之家收集整理的这篇文章主要介绍了ubuntu 16.04安装 nvidia driver + cuda前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1. 选择安装nvidia driver最新版本

  1. sudo apt purge nvidia-*
  2. sudo add-apt-repository ppa:graphics-drivers/ppa
  3. sudo apt update
  4. sudo apt install nvidia-381
  5. sudo reboot

2. 安装nvidia cuda最新版本

  1. wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
  2. sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
  3. sudo dpkg -i cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
  4. sudo apt-get update
  5. sudo apt-get install -y cuda nvidia-cuda-toolkit

3. 测试

  1. #include "cuda_runtime.h"
  2. #include "device_launch_parameters.h"
  3. #include <stdio.h>
  4.  
  5. #define N 10
  6.  
  7.  
  8. __global__ void add(int *a,int *b,int *c){
  9. int tid = blockIdx.x;
  10.  
  11. if(tid < N){
  12. c[tid] = a[tid] + b[tid];
  13. }
  14. }
  15.  
  16.  
  17. int main(){
  18. int a[N],b[N],c[N];
  19. int *dev_a,*dev_b,*dev_c;
  20.  
  21. cudaMalloc((void**)&dev_a,N*sizeof(int));
  22. cudaMalloc((void**)&dev_b,N*sizeof(int));
  23. cudaMalloc((void**)&dev_c,N*sizeof(int));
  24.  
  25. for(int i=0; i<N; i++){
  26. a[i] = i;
  27. b[i] = i+1;
  28. }
  29.  
  30. cudaMemcpy(dev_a,a,N*sizeof(int),cudaMemcpyHostToDevice);
  31. cudaMemcpy(dev_b,b,cudaMemcpyHostToDevice);
  32.  
  33. add<<<N,1>>>(dev_a,dev_b,dev_c);
  34.  
  35. cudaMemcpy(c,dev_c,cudaMemcpyDeviceToHost);
  36.  
  37. for(int i=0; i<N; i++){
  38. printf("%d + %d = %d\n",a[i],b[i],c[i]);
  39. }
  40.  
  41. return 0;
  42. }

参考文献
https://askubuntu.com/questions/902636/nvidia-smi-command-not-found-ubuntu-16-04
https://cryptoandcoffee.com/mining-gems/cuda-9-1-install-ubuntu-16-04-apt-get/

猜你在找的Ubuntu相关文章