Below you will find pages that utilize the taxonomy term “PlaidML”
Posts
ベンチマーク TensorFlow上でCIFAR10とAMD GPUs上でROCm 対 NVIDIA GPUs上でCUDA9とcuDNN7
Introduction 前回に続きCIFAR10のベンチマークを記述していきます。
前回までの記事 2018年3月7日 Benchmarks on MATRIX MULTIPLICATION | A comparison between AMD Vega and NVIDIA GeForce series 2018年3月20日 Benchmarks on MATRIX MULTIPLICATION | TitanV TensorCore (FP16=>FP32)
CIFAR10 Average examples pre second
計算指標 ゙世界コンペティションやベンチマークでよく使用される CIFAR10 を TensorFlow の公式を使用し 、学習スピードを計測するものとしました。今回の記事は、”CIFAR10”のみ掲載します。
ベンチマークに使うプログラムはこちらを使用しました。 https://github.com/tensorflow/models/tree/master/tutorials/image/cifar10
動作環境 For AMD(TF1.0.1): Ubuntu 16.04.3 x64 HIP-TensorFlow 1.0.1 Python 2.7 Driver: ROCm 1.7
For AMD(TF1.3): Ubuntu 16.04.4 x64 TensorFlow 1.3 Python 3.5 Driver: ROCm 1.7.137
For NVIDIA: Ubuntu 16.
Posts
PlaidMLd上でKeras VGG-19
ROCm-TensorFlowより速いと噂のPlaidMLを動かしてみました。 Introduction HIP(ROCm)-TensorFlowはTensorFlowをCUDAシミュレーションを行って実現されたライブラリですが、その動作スピードはまだ開発の途中であるか、古いTensorFlowをもとに作られているため、DeepLearingの計算においては最新のNVIDIA+TensorFlowの組み合わせに対して速度差があります。また、RX580と上位GPUであるVega56、Vega64と変わらないスピードであることから、Vegaシリーズの能力が発揮出来ていないという部分からもまだ未成熟のライブラリです。(2018/03/13)
PlaidMLはそれを補うことが出来るライブラリの一つだと言われており、TensorFlowの代わりにKerasのバックエンド化が出来ることが特徴です。
HIP(ROCm)-TensorFlowとPaidMLのライブラリスタック ROCm-TensorFlowPlaidMLKeras or something
TensorFlow
MIOpen(CUDA simulation layer)
ROCm(GPU computing driver)
AMD-GPU driver
OS
Native GPU
Keras or something
PlaidML
PlaidML
ROCm or AMDGPUPRO or CUDASDK
AMD-GPU driver/NVIDIA-GPU driver
OS
Native GPU
ライブラリスタックからもわかるように、PlaidMLはKerasのバックエンドとしての役割を担います。Kerasのバックエンド層には他の候補として、GoogleのTensorFlow、MicrosoftのCNTK、モントリオール大学のTheanoなどが有名です。
Installation PlaidMLを弊社のAMD Ubuntu16.04インスタンスに入れていきます。 まずはAMDGPUのドライバをインストールします。この場合、ROCmをベースとしますので簡単です。
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 libnuma-dev rocm-dkms rocm-opencl-dev sudo usermod -a -G video $LOGNAME OpenCLのコマンド /opt/rocm/opencl/bin/x86_64/clinfo にて確認してください。
Posts
MATRIX MULTIPLICATION ベンチマーク | AMD Vega and NVIDIA GeForce シリーズ比較
Introduction 株式会社ACUBE様より、Radeon Pro WX9100をお貸しして頂きましたので、そのレポートと共に弊社ブログへの結果を記載することに致しました。ご協力頂いた、ACUBE様に心より御礼を申し上げます。
このレポートは、Radeon Pro WX9100 製品を主軸に、同社 RadeonRX560/580, RadeonVega56/64/Frontier Edition, 他 NVIDIA 製品で、GeForceシリーズを比較したものになります。
元々の目的は、GPU クラウドコンピューティングにおける DeepLearning において、推論及び学習スピード、ライブラリの動作評価、費用対効果、耐久性及び熱処理効率、安定性、消費電力量、等などを比較し、導入を検討することですが、もっと多くの方々にGPUの能力について知って貰いたいがため記事に書くことにしました。
Matrix Multiplication *TitanX(M)のみ途中で計測が途切れたので最後の値を機械的に入れています。
計算指標 計算指標としては、一般ニューラルネットワークにおける基礎、ρ(φiωji + βj)の計算で重要な行列 x 行列の速度、及び世界コンペティションやベンチマークでよく使用される CIFAR10 を TensorFlow の公式を使用し 、学習スピードを計測するものとしました。 今回の記事は、”行列計算”のみ掲載します。
行列の掛け算については、 https://github.com/yaroslavvb/stuff/blob/master/matmul_benchmark_seq.py を参照。
動作環境 AMD側 Ubuntu 16.04.3 x64 HIP-TensorFlow 1.0.1 Python 2.7 Driver: ROCm 1.7, AMDGPUPRO 17.50
NVIDIA側 Ubuntu 16.04.3 x64 TensorFlow r1.6 Python 3.5 Driver: 390.30, CUDA9.0, cuDNN7
HIP-TensorFlow1.0.1 については Python3.5 でのセットアップ方法が不明なため、 Python2.7 を使用しました。また、今ベンチマークにおける指標については CPU 能力は基本不要で、Python2.