Upgrade to Pro — share decks privately, control downloads, hide ads and more …

EXLAでcudaが動作する環境の構築と実際にNxで動かしたデモ

masahiro-999
November 10, 2022

 EXLAでcudaが動作する環境の構築と実際にNxで動かしたデモ

Nxバックエンド勉強会#7
EXLAでcudaが動作する環境の構築と実際にNxで動かしたデモ

masahiro-999

November 10, 2022
Tweet

Other Decks in Programming

Transcript

  1. EXLAで使う場合の注意 sudo apt-key del 7fa2af80 wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin sudo mv cuda-wsl-ubuntu.pin

    /etc/apt/preferences.d/cuda-repository-pin-600 sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/3bf863cc.pub sudo add-apt-repository 'deb https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/ /' sudo apt-get update sudo apt-get -y install cuda=11.1.0-1 #バージョン指定する 最新のバージョン(1.1.8だとうまく動作しない)ので、 11.1.0-1を指定 xlaのissue報告中。https://github.com/elixir-nx/xla/issues/23 8
  2. 動作確認 Mix.install([ {:nx, "~> 0.3.0"}, {:exla, "~> 0.3.0"}, ], config:

    [ nx: [ default_backend: EXLA.Backend, default_defn_options: [compiler: EXLA], ] ], system_env: [ XLA_TARGET: "cuda111" ], force: false, ) Nx.add(Nx.tensor([1]), Nx.tensor([1])) iexのプロンプトで実行 9
  3. XLA_TARGETの指定 export XLA_TARGET=cuda111 mix deps.clean --all rm -Rf ~/.cache/xla/ mix

    deps.get iex -S mix cpuを使う場合は、XLA_TARGET=cpu ※変更した場合、deps.cleanが必要。~/.cache/xla/を削除しないとEXLAのコンパイルエラーになる。 13