Help us understand the problem. What is going on with this article?

GTX-1080 など GeForce を Ubuntu 16.04 LTS で CUDA-8.0RC と共に使う

More than 3 years have passed since last update.

Overview

Ubuntu 16.04 LTS環境で、GTX-1080/1070とかのnVIDIA GeForceを使うときの設定について.

ちなみに、GTX-750Tiでも同じ手順で動作することを確認しています。

まずは Ubuntu 16.04LTS で nVIDIA GeForce を使う一般設定から

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
$ sudo apt-get install nvidia-367
$ sudo apt-get install mesa-common-dev
$ sudo apt-get install freeglut3-dev

Install CUDA

  • Download CUDA8.0RC from https://developer.nvidia.com/cuda-toolkit

    • Linux, amd64,Ubuntu 16.04, Runfile (Local)を選択してdownload
    • "cuda_8.0.27_linux-run" (約1.4GB)のがダウンロードできるはずです.
  • ~/.bashrc に以下を追加する必要があります

    export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    export CUDA_HOME=/usr/local/cuda
  • X無しのモードに移動します。

    1. CTRL+ALT+F1を押します。黒画面になりますがびっくりしないように、
    2. 自分のアカウントでloginします。
    3. sudo init 3 を実行して、非X環境にします。
    4. 先ほどdownloadしたcudaのpackageをinstallします
    $ chmod +x cuda_8.0.27_linux-run
    $ sudo sh ./cuda_8.0.27_linux-run
    $ sudo Reboot
    

おそらく、再起動後、まともに動かない状態かと思いますので、
再度、

  1. CTRL+ALT+F1
  2. Login
  3. $ sudo apt-get install nvidia-367 --reinstall
  4. $ sudo reboot

を行って、ドライバーを再インストールすると、まともになるとおもいます。

$ sudo cat /var/log/syslog | grep NVRM を行ったときに、

NVRM: API mismatch: the client has version 361.62, but this kernel module has the version 367.27 のように出ているケースでは
直ると思います。

動作確認

$ nvidia-smi

を実行して、GTX-1080とか表示されればOkです。

また、先ほどのcuda_8.0.27_linux-runのinstall時に、CUDA sampleもinstallしている場合には、

$ cd NVIDIA_CUDA-8.0_Samples/5_Simulations/nbody
$ make
$ ./nbody -benchmark -numbodies=256000 -device=0

のようにして、動作確認ができるはずです。

Enjoy CUDAライフ! on Ubuntu 16.04 LTS!

hidenorly
All tweets are my personal opinions and do not represent those of my employer.
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away