Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
71
Help us understand the problem. What is going on with this article?
@bohemian916

UbuntuにCUDAを入れようとしたらハマった

More than 5 years have passed since last update.

背景

Deep Learning用に手元のcuda対応のグラボが指してあるLinuxPCにcudaを入れるべく、公式ドキュメントの通りにインストールしたらハマりました。

試した環境

  • ubuntu 14.04
  • GeForce GTX 560
  • CUDA 7.0

行った手順

nvidiaの環境の確認

lspci | grep -i nvidia
=====================
01:00.0 VGA compatible controller: NVIDIA Corporation GF114 [GeForce GTX 560] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GF114 HDMI Audio Controller (rev a1)

ubuntuの環境確認

uname -m && cat /etc/*release
===================================
x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"
NAME="Ubuntu"
VERSION="14.04.2 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.2 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

gcc環境設定

sudo apt-get install build-essential
gcc --version

CUDA 7.0 インストール

パッケージファイルのダウンロード

wget http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/rpmdeb/cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb

インストール

sudo dpkg -i cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb  
sudo apt-get update  
sudo apt-get install cuda

環境変数設定

export PATH=/usr/local/cuda-7.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH
source .bashrc
sudo init 6

再起動

sudo init 6

確認

cat /proc/driver/nvidia/version

NVRM version: NVIDIA UNIX x86_64 Kernel Module  346.46  Tue Feb 17 17:56:08 PST 2015
GCC version:  gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04) 
nvcc -V

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2015 NVIDIA Corporation
Built on Mon_Feb_16_22:59:02_CST_2015
Cuda compilation tools, release 7.0, V7.0.27
dpkg -l | grep nvidia

ii  nvidia-346                                            346.46-0ubuntu1                                     amd64        NVIDIA binary driver - version 346.46
ii  nvidia-346-dev                                        346.46-0ubuntu1                                     amd64        NVIDIA binary Xorg driver development files
ii  nvidia-346-uvm                                        346.46-0ubuntu1                                     amd64        NVIDIA Unified Memory kernel module
ii  nvidia-modprobe                                       346.46-0ubuntu1                                     amd64        Load the NVIDIA kernel driver and create device files
ii  nvidia-opencl-icd-346                                 346.46-0ubuntu1                                     amd64        NVIDIA OpenCL ICD
ii  nvidia-prime                                          0.6.2                                               amd64        Tools to enable NVIDIA's Prime
ii  nvidia-settings                                       346.46-0ubuntu1                                     amd64        Tool for configuring the NVIDIA graphics driver

サンプルファイル実行

cd /usr/local/cuda-7.0/sample
sudo make
cd bin
sudo ./deviceQuery

cd ../0_Simple/bandwidthTest
sudo ./bandwidthTest

ハマったところ

サンプルファイルの実行の際に、deviceQueryを実行させても、何も返ってこずフリーズする。
ためしに以下のコマンドを打って、gpuの状態を確認しようとしても、同じくフリーズする。
nvidia-smi

またx-windowが表示されなくなった。

原因

nouveauとNVidiaのドライバを同時に使用すると、うまくいかない。
公式ドキュメントでは、2つのインストール方法が記載されており、1つは今回行った、パッケージマネージャーを利用する方法、もう一つはインストーラーを利用する方法である。
後者のほうでは、インストールを開始する前の手順にこのような記載があった

To install the Display Driver, the Nouveau drivers must first be disabled.

"ディスプレイドライバをインストールするときは、まずNouveauを無効にすべし"

CentOSで行った他の方の記事でも、同様の記載があったため、ここが怪しいと判断。

対応方法

ubuntuでNouveauを無効にする方法は公式ドキュメントに書いてあり、

/etc/modprobe.d/blacklist-nouveau.confを作成
以下を記載
blacklist nouveau
options nouveau modeset=0

sudo /sbin/mkinitrd
sudo init 6

でいける。これを行った後、x-windowが復帰し、サンプルファイルの実行でフリーズすることがなくなった。

参考

CentOS 6.6 上で NVIDIA の GPU (の一部) と共に nouveau 使うと発狂して死ぬ
公式ドキュメント
UbuntuでNVIDIAのディスプレイドライバが動作しない場合のチェック項目

71
Help us understand the problem. What is going on with this article?
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
bohemian916
研究機関で働く研究技術員になりました。 技術だけのものはQiitaに ネタを含むものはこっちに書いてます http://bohemia.hatenablog.com/

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
71
Help us understand the problem. What is going on with this article?