CudaをFedora 25に入れてみた

by ysawa

久々のエントリ。書いていない間にいろいろとありました。

長野までアプリ開発者合宿いったり、
稼働率が常に90%を超えていたり、
その結果、決算前に売上20%成長を記録したりと、

とにかく沢山のことがありました。

今回、
CudaをFedora 25にいれていきます。

CudaはFedora 25に入るのか

Cudaは、もはや現在になくてはならないインフラになりました。
フレームワークや言語の1つや2つ忘れてもいいと思っているのですが、
大きな流れではきちーっとついていかないと思っています。∠(`・ω・´)

僕もCudaを使って画像処理や深層学習の演算を早くしたい!!

もう現時点で3周くらいは潮流から遅れている気がしてなりませんが、
さっさとインストールしてやってまいりましょう。

このページから、

https://developer.nvidia.com/cuda-downloads

ダウンロードしてきます。

Select Target Platform 内で、自分のプラットフォームを選択してください。

Linux -> x86_64 -> Fedora -> 23 -> rpm [network]

を選択します。すると、ダウンロードボタンが出てくるので、ダウンロードしてください。

Fedora 23 (´・ω・`) こういうことはよくあることなので、
気にせず次に進みましょう。できなかったら戻ればよいので。

コマンドラインの人は、URLをコピーして、

wget {コピーしたURL}

していただければ、ダウンロードできますね。

インストール手順

root になって、

rpm -i {ダウンロードした.rpmファイル}
dnf clean all
dnf install cuda

これだけ。

確認してみる

無事インストールできているか確認します。

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Sun_Sep__4_22:14:01_CDT_2016
Cuda compilation tools, release 8.0, V8.0.44

8.0 は 2016/12/21 時点での最新版です。

問題なくインストールできていることが確認できました。(*´∀`)

CUDNN

ニューラルネットワークを実装したい人は、さらに、CUDNNもインストールしましょう。

https://developer.nvidia.com/cudnnから、

.tgz ファイルをダウンロードしてきて、/usr/local/cudaに移動するだけです。

tar zxvf {.tgzファイル}
mv cuda/include/* /usr/local/cuda/include/
mv cuda/lib64/* /usr/local/cuda/lib64/
ldconfig

Tensor Flowうごくかな

Tensor Flowは、前に書きましたが、

本家サイトに従って、pipでインストールするだけ。すごく簡単でした。

そして、python のインタープリタを起動して、以下のようにすると、
無事、 GPU のdevice: 0, name: GeForce GTX 960, pci bus id: 0000:03:00.0が認識されました。

$ python
Python 3.5.2 (default, Dec 19 2016, 12:47:39)
[GCC 6.2.1 20160916 (Red Hat 6.2.1-2)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcurand.so locally
>>> sess=tf.Session()
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:925] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_init.cc:102] Found device 0 with properties:
name: GeForce GTX 960
major: 5 minor: 2 memoryClockRate (GHz) 1.291
pciBusID 0000:03:00.0
Total memory: 1.95GiB
Free memory: 1.87GiB
I tensorflow/core/common_runtime/gpu/gpu_init.cc:126] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 0:   Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:838] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 960, pci bus id: 0000:03:00.0)

大雑把なのでPCIバスの3番にぶっ刺さっています。w
だって、一番刺しやすかったんだもの。若干気持ち悪いですが、このままやっていきます。

ということで、無事、CudaをTensorflowとともにFedora 25に入れることができました。

おしまい。

この記事を読んだあとに

ysawa

エヌ次元株式会社代表取締役
東京工業大学工学部計算工学専攻卒業
符号理論の応用に関する研究
在学中よりフリーランスエンジニアとして活動
「持続可能な設計」を得意領域とする
会社設立後も設計からアプリ制作や
Webサイトのコーディングまでを幅広く担当
セキュリティスペシャリスト

 このブログについて

このブログは、プログラマやエンジニアのためになる情報を垂れ流しています。
ちょっと異端的なものも含まれているかもしれません。