ubuntu 16.04安装 nvidia driver + cuda

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

sudo apt purge nvidia-*
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-381
sudo reboot

@H_404_1@2. 安装nvidia cuda最新版本

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

@H_404_1@3. 测试

#include "cuda_runtime.h" 
#include "device_launch_parameters.h" 
#include <stdio.h>

#define N 10


__global__ void add(int *a,int *b,int *c){
    int tid = blockIdx.x;

    if(tid < N){
        c[tid] = a[tid] + b[tid];   
    }
}


int main(){
    int a[N],b[N],c[N];
    int *dev_a,*dev_b,*dev_c;

    cudaMalloc((void**)&dev_a,N*sizeof(int));
    cudaMalloc((void**)&dev_b,N*sizeof(int));
    cudaMalloc((void**)&dev_c,N*sizeof(int));

    for(int i=0; i<N; i++){
        a[i] = i;
        b[i] = i+1;
    }

    cudaMemcpy(dev_a,a,N*sizeof(int),cudaMemcpyHostToDevice);
    cudaMemcpy(dev_b,b,cudaMemcpyHostToDevice);

    add<<<N,1>>>(dev_a,dev_b,dev_c);

    cudaMemcpy(c,dev_c,cudaMemcpyDeviceToHost);

    for(int i=0; i<N; i++){
        printf("%d + %d = %d\n",a[i],b[i],c[i]);
    }   

    return 0;
}

@H_404_1@参考文献
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/

相关文章

1.安装过程出现0x00000000指令引用的0x00000000内存该内存不能为written 如果你安装的是inux系统 需要在...
写在全面:如果根据以下教程涉及到只读文件需要更改文件权限才能需修改文件内容,参考我的另一篇博客:...
写在前面:以下步骤中需要在终端输入命令,电脑端查看博客的朋友可以直接复制粘贴到终端,手机端查看的...
ubuntu16.04和18.04更换国内源 写在前面:安装好ubuntu双系统后,默认的软件更新源是国外的,在国内使用...
ubuntu双系统启动时卡死解决办法(在ubuntu16.04和18.04测试无误) 问题描述: 在安装完ubuntu双系统后...
又来造轮子了。。。。。。。。。。。。。。。。 今天使用w3af向文件中写入的时候,发现没有write权限,...