LoginSignup
0
2

More than 3 years have passed since last update.

PlaidML(OpenCL) で AMD GPU で Transformer

Posted at

背景

  • 最終的には自前で OpenCL なりで BERT, GPT-3 など学習できるようにしたいが, まずは動作確認を兼ねて既存で動くものがほしい
  • クロスプラットホームで動かしたい

を試します.

環境

  • Linux Ubuntu 18.04 HWE(kernel 5.4)
  • AMD GPU(amdgpu-pro driver)
  • miniconda

PlaidML setup and keras-transformer run

とくに難しいことはありません.

conda で環境を作り, pip install するだけです.

を参考に必要なパッケージを pip で入れましょう.

あとは環境変数に KERAS_BACKEND=keras.backend.plaidml を指定して実行するか,
実行 python スクリプトで明示的に指定します.

experimental.json が見つからない場合

たぶん python と pip が別の python 環境を使っていて, 関連するライブラリが見つかっていない(ファイルパス問題)と思われます.

python -m pip install plaidml-keras

と, python -m pip でパッケージインストールするのがよいでしょう.

Issues

RX5700(Navi) + amdgpu-pro OpenCL では, plaidml-setup でデバイスを認識してくれませんでした.

あんまり新しすぎるのはだめなのかも?
(Radeon VII は認識しました)

No multi GPUs

PlaidML は複数 GPU サポートしていません.

大規模学習したいときはやはり自前でライブラリを書くことになるでしょう.

TODO

  • PlaidML は MLIR ベースになるのが予定されています. いずれは MLIR -> SPIR-V -> OpenCL(or Vulkan) 実行とかもできるのでしょうか
0
2
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
0
2