LoginSignup
6
8

More than 3 years have passed since last update.

Ubuntu16.04LTS環境でCUDA9.2+ROCm2.1環境を構築してAMD/NVIDIA混成GPU環境を作る

Last updated at Posted at 2019-02-15

一回環境構築に失敗しましたが今回は成功したので失敗記事と比較しながらやっていきたいと思います。
途中まで大体同じです

目的として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の標準ソフトでやりました
Screenshot from 2019-02-14 17-59-09.png
また予期せぬトラブルを避けるため、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

以上でベンチマークが実行されます

マルチGPU設定(GTX1080TI+VegaFE)にて
Screenshot from 2019-02-15 21-56-58.png

VegaFEにて
Screenshot from 2019-02-15 22-05-26.png

ちょっとスコアが悪い気もしますが一応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 タイトルの誤字を修正

6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8