一回環境構築に失敗しましたが今回は成功したので失敗記事と比較しながらやっていきたいと思います。
途中まで大体同じです
目的としてCUDA9.2とROCm2.1の混在環境をクラッシュ等させずに構築するまでもっていくこと。
そこからtensorflowなどの構築ができるようにすることです。
※ 2019/07/04に追記
現時点でこの方法でインストールされるROCm versionは2.5なので気をつけてください。
#目次
・テスト環境
・環境構築
・OpenCLベンチマーク LuxMark(OpenCLレンダリング)
・TensorFlow環境編
・各種運用手法
#テスト環境
CPU Xeon E5-2603 v4
MB msi-x99 Gaming7
RAM DDR4-2400 32GB
GPU0 NVIDIA GTX1080Ti
GPU1 AMD Vega Frontier Edition
OS Ubuntu16.04.5 LST kernel version 4.13
テスト実行日 2019 02/14-02/16
以上のような環境においてテストを行った
#環境構築
##OSインストール
http://releases.ubuntu.com/16.04/ubuntu-16.04.5-desktop-amd64.iso
からisoを落として任意のUSBメモリにライティングします。
自分はubuntuの標準ソフトでやりました
また予期せぬトラブルを避けるため、install時にサードパーティドライバのインストールなどはしない設定でinstallを行いました。
##CUDA環境構築
sudo apt update
sudo apt upgrade
環境構築の流れは
・ドライバー+CUDA tool kitのインストール
・ROCmのインストール
大まかにいうとこんな感じです、デペロッパーからtool kitをダウンロードしてインストールするときGPUドライバーも一緒にインストールされるので大変便利です。
ここではcuda-repo-ubuntu1604_9.2.148-1_amd64.debをダウンロードして使います
※これはUbuntu16.04LSTでないとインストールできないパッケージなので今更16.04は古いと思う人も多いと思うので気をつけてください。
https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu
ココらへんから該当するパッケージを探してください。
$ wget developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.2.148-1_amd64.deb
$ sudo dpkg -i cuda-repo-ubuntu1604_9.2.148-1_amd64.deb
$ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
$ sudo apt-get update
$ sudo apt-get install cuda-9-2
以上でドライバとtool kitが入ったはずです
~/.bashrcに以下のパスを追加して
export PATH=/usr/local/cuda-9.2/bin:${PATH}
次に再起動して
$ nvidia-smi
これでドライバとGPU名が表示されたらCUDAインストールはひとまず成功と言えます。
CUDA Version: 10.0 って表示されてる問題は以下の通りになります。
大まかな意訳をするとCUDAのランタイムAPIのバージョンとnvidia-smiで表示されるバージョンはドライバAPIのサポートするバージョンであって別物。ランタイムAPIがちゃんと9.2でインストールされてても関係ないとのことです。
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Tue_Jun_12_23:07:04_CDT_2018
Cuda compilation tools, release 9.2, V9.2.148
確かにrelease 9.2となっています。
##ROCm環境構築
CUDAより正直楽です
$ sudo apt update
$ sudo apt dist-upgrade
$ sudo apt install libnuma-dev
$ wget -qO - http://repo.radeon.com/rocm/apt/debian/rocm.gpg.key | sudo apt-key add -
$ sudo sh -c 'echo deb [arch=amd64] http://repo.radeon.com/rocm/apt/debian/ xenial main > /etc/apt/sources.list.d/rocm.list'
$ sudo apt update
$ sudo apt install -y rocm-dkms
これをして
.bashrcに
export ROCM_PATH=/opt/rocm
export HCC_HOME=/opt/rocm/hcc
export HIP_PATH=/opt/rocm/hip
export PATH=$HCC_HOME/bin:$HIP_PATH/bin:$PATH
パスを通して再起動したらROCm環境自体は構築終了です。
ひとまず今回はOpenCLによるベンチマーク(luxmark)をやって終わりにします。
luxmarkは任意のディレクトリで
$ wget https://github.com/LuxCoreRender/LuxMark/releases/download/luxmark_v3.1/luxmark-linux64-v3.1.tar.bz2
$ tar xf ./luxmark-linux64-v3.1.tar.bz2
$ rm luxmark-linux64-v3.1.tar.bz2
$ cd ./luxmark-v3.1/
$ ./luxmark
以上でベンチマークが実行されます
ちょっとスコアが悪い気もしますが一応UbuntuでもAMD,NVIDIA混在環境が可能であることがわかりました
今後の進展としてはTensorFlowやHIP-CUDA間の互換などをテストしていきたいと思います。
#引用
https://qiita.com/_JG1WWK/items/56d897dadaae7db47f57
Ubuntu16.04とCUDA9.2とROCmの両方の実行環境を構築しようとし失敗した話
https://developer.nvidia.com/cuda-92-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=debnetwork
CUDA Toolkit 9.2 Download
https://qiita.com/shrimp_f/items/0c2909e3d958540af570
ubuntu16.04にてcudaのインストール方法
https://qiita.com/bohemian916/items/46df7c50c7001bc56239
CUDAインストールの罠
http://swytel.hatenablog.com/entry/2018/06/25/153153
Ubuntu 16.04LTSにCUDA 9.2を入れた時のメモ
http://ogimotokin.hatenablog.com/entry/2018/07/05/093438
【環境構築】Ubuntu16.04+GTX1080+Cuda9.2+cudnn7.1+ROS Kineticのワークマシン導入
自己記事の参照もいろいろ多くなりましたが、他皆様の参考資料が多くて助かりました
感謝申し上げます。
2019/02/16 タイトルの誤字を修正