windowsユーザーにとって悩ましいのは、多くのOSSのインストールや実行はシェルスクリプトで書かれていることです。

せっかくcondaやCUDAによってOS間の開発環境の差異が少なくなっているのにこれは辛い。WSLがあるじゃないか、と思うでしょうが、

WSLではGPUがサポートされていないため、CUDAを使ったりした高速な学習等がこのままではできません。どうすれば。。。

という方のために朗報です。

実は、WSL上ではwindowsのバイナリを実行することができるのです。

CUDA対応したpythonコードをWSL上から実行する、これはconda envをactivateして呼び出したWSL上でwindowsのバイナリを呼ぶことで実現できます。な、なんだってー

下記記事を参考にしてください。

コマンドプロンプトを開いたら、wslと打ちます。するとWSLのシェルが立ち上がるので、 vi .bashrcして以下を追記しましょう:

alias conda="conda.exe"
alias python="python.exe"
alias ipython="ipython.exe"
alias nosetests="nosetests.exe"
alias pip="pip.exe"

cd /mnt/c/Users/user_name

condaとかpythonにwindowsバイナリのエイリアスを作っています。あと、最後にwindows上のホームフォルダに移動すると便利でしょう。

 

これで、OSSでのインストラクションやpythonコード実行に使われているシェルスクリプトを実行しながら、実際に動かされるpythonはwindows上の実行環境であり、gpuやCUDAを利用するということが可能になるのでした。

すごいわ、WSL

関連記事

エンジニアの苦しい毎日を救う魔法の白い粉

汎用クローラのリポジトリを更新しました

windows10でvid2vidを動かそう

Optunaでハイパーパラメータ探索ができるようにTensor2Tensorを改造した!

Ubuntu 16(WSL)でのaptエラー対処

RTX2080Tiとi9-9900Kでマザボとメモリがぶっ壊れたので交換した

コメント

コメントを返信する

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です