WSL2-CUDA-windows10 をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
windows10のままでWSL2によるGPGPUを試してみる
windows10は「21H2」までアップグレードされている前提です
物理マシンのスペックは i7-4771(3.5GHz),16GB, NVIDIA A2000...
&ref(2021y11m20d_213520504.png,nolink);
参照先: [[https://docs.microsoft.com/en-us/windows/ai/dir...
***wslコマンドでwindows10の中にLinuxをインストールします ...
「コントロールパネル」->「プログラムと機能」にある「windo...
特段操作はしていない。「Linux用Windowsサブシステム」「仮...
その状態でコマンドプロンプトを起動させ、インストール可能...
#code(nonumber){{
C:\Users\supervisor>wsl --list --online
インストールできる有効なディストリビューションの一覧を次...
既定の分布は ' * ' で表されます。
'wsl --install -d <Distro>'を使用してインストールします。
NAME FRIENDLY NAME
* Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
openSUSE-42 openSUSE Leap 42
SLES-12 SUSE Linux Enterprise Server v12
Ubuntu-16.04 Ubuntu 16.04 LTS
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
C:\Users\supervisor>
}}
とある。ここではUbuntu-20.04を入れてみる.
#code(nonumber){{
C:\Users\supervisor>wsl --install -d Ubuntu-20.04
要求された操作には管理者特権が必要です。
C:\Users\supervisor>
}}
っとそのままのコマンドプロンプトからでは無理そうで、「ス...
&ref(2021y11m20d_215731308.png,nolink);
そのうえで再度コマンドを実行します
#code(nonumber){{
C:\WINDOWS\system32>wsl --install -d Ubuntu-20.04
インストール中: 仮想マシン プラットフォーム ...
仮想マシン プラットフォーム はインストールされました。
インストール中: Linux 用 Windows サブシステム ...
Linux 用 Windows サブシステム はインストールされました。
ダウンロード中: WSL カーネル
インストール中: WSL カーネル
WSL カーネル はインストールされました。
ダウンロード中: Ubuntu 20.04 LTS
要求された操作は正常に終了しました。変更を有効にするには...
C:\WINDOWS\system32>
}}
っで再起動を行う. 再起動後にログインを行うとUbuntu20.04の...
しばらくすると、Ubuntu20.04の中でのアカウントを作るように...
&ref(2021y11m20d_220900862.png,nolink);
アカウント名はなんでも構わない. ここでは露軍しているwindo...
この段階で「スタート」->「Ubuntu20.04」が登録され、それを...
&ref(2021y11m20d_221355481.png,nolink);
***GPU [#w66fc664]
この物理マシンにはNVIDIA RTX A2000が搭載されている.
ここで nvidiaドライバーをインストールする
&ref(2022y09m14d_182323936.png,nolink);
「516.94-quadro-rtx-desktop-notebook-win10-win11-64bit-in...
っでインストールを開始します
途中カスタムインストールを選ぶと何がインストールされるの...
インストール完了後に、「NVIDIAコントロールパネル」を開く...
&ref(2022y09m14d_182523685.png,nolink);
***WARP [#w31cb393]
「NVIDIAコントロールパネル」が無事動くので、この段階で [[...
WarpはCUDAライブラリとか別途必要なく動くみたい
***CUDA [#u03ff047]
これで一応windowsOS管理下にあるGPUがWSL側にも繋ぐようにな...
次にWSLのUbuntu20.04にCUDAライブラリをインストールします.
ただしLinuxのnvidiaドライバーはインストールしません. ''cu...
&size(10){CUDAダウンロードサイトの「WSL-Ubuntu」はnvidia...
#code(nonumber){{
supervisor@DESKTOP-P44EP9D:~$ wget https://developer.down...
supervisor@DESKTOP-P44EP9D:~$ sudo mv cuda-ubuntu2004.pin...
supervisor@DESKTOP-P44EP9D:~$ wget https://developer.down...
supervisor@DESKTOP-P44EP9D:~$ sudo dpkg -i cuda-repo-ubun...
supervisor@DESKTOP-P44EP9D:~$ sudo cp /var/cuda-repo-ubun...
supervisor@DESKTOP-P44EP9D:~$ sudo apt-get update
supervisor@DESKTOP-P44EP9D:~$ sudo apt-get install -y cud...
}}
その後ターミナルにて
#code(nonumber){{
supervisor@DESKTOP-P44EP9D:~$ nvidia-smi
Wed Sep 14 18:28:27 2022
+--------------------------------------------------------...
| NVIDIA-SMI 515.65.01 Driver Version: 516.94 CU...
|-------------------------------+----------------------+-...
| GPU Name Persistence-M| Bus-Id Disp.A | ...
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | ...
| | | ...
|===============================+======================+=...
| 0 NVIDIA RTX A2000 On | 00000000:01:00.0 Off | ...
| 30% 30C P8 6W / 70W | 0MiB / 6138MiB | ...
| | | ...
+-------------------------------+----------------------+-...
+--------------------------------------------------------...
| Processes: ...
| GPU GI CI PID Type Process name ...
| ID ID ...
|========================================================...
| No running processes found ...
+--------------------------------------------------------...
supervisor@DESKTOP-P44EP9D:~$
}}
と表示される。
***cryoSPARC [#g3863388]
nvidiaドライバが用意されてCUDAも入ったので、relionは作れ...
まずはパスワードなしで localhost にログインできるようにす...
#code(nonumber){{
supervisor@DESKTOP-P44EP9D:~$ sudo su -
root@DESKTOP-P44EP9D:~# apt install openssh-server
root@DESKTOP-P44EP9D:~# /etc/init.d/ssh start
}}
次に、/scratchも用意してみる。この辺は別のSSD(Dドライブ)...
#code(nonumber){{
root@DESKTOP-P44EP9D:~# mkdir /scratch/
root@DESKTOP-P44EP9D:~# chmod 1777 /scratch/
root@DESKTOP-P44EP9D:~# exit
}}
自サイトパスワードなしログインを有効にさせるために
#code(nonumber){{
supervisor@DESKTOP-P44EP9D:~$ ssh-keygen
supervisor@DESKTOP-P44EP9D:~$ cp ~/.ssh/id_rsa.pub ~/.ssh...
supervisor@DESKTOP-P44EP9D:~$ chmod 600 ~/.ssh/authorized...
}}
その上で cryoSPARCを入れてみる
#code(nonumber){{
supervisor@DESKTOP-P44EP9D:~$ export L=XXXXX-XXXXX-XXXX-X...
supervisor@DESKTOP-P44EP9D:~$ curl -L https://get.cryospa...
supervisor@DESKTOP-P44EP9D:~$ curl -L https://get.cryospa...
supervisor@DESKTOP-P44EP9D:~$ mkdir cryoSPARC
supervisor@DESKTOP-P44EP9D:~$ cd cryoSPARC/
supervisor@DESKTOP-P44EP9D:~/cryoSPARC$ tar xf ../master....
supervisor@DESKTOP-P44EP9D:~/cryoSPARC$ tar xf ../worker....
supervisor@DESKTOP-P44EP9D:~/cryoSPARC$ mkdir /scratch/cs
supervisor@DESKTOP-P44EP9D:~/cryoSPARC$ cd cryosparc_master
supervisor@DESKTOP-P44EP9D:~/cryoSPARC/cryosparc_master$ ...
--license $L \
--worker_path /home/supervisor/cryoSPARC/cryosparc_worker \
--cudapath /usr/local/cuda-11.7 \
--ssdpath /scratch/cs \
--initial_email saber@fgo \
--initial_password saber \
--initial_username saber \
--initial_firstname Artoria \
--initial_lastname Pendragon
supervisor@DESKTOP-P44EP9D:~/cryoSPARC/cryosparc_master$
}}
っで母機のwindowsPCのブラウザで「localhost:39000」を叩くと
&ref(2022y09m14d_215829866.png,nolink); &ref(2022y09m14d_...
リソースを見るとGPUも認識されて、ssdなscratchも見えている...
***nfsクラアントになってファイルを参照したい [#p861d5a9]
nfsクラアントになるパッケージをインストールして、mountポ...
#code(nonumber){{
supervisor@DESKTOP-P44EP9D:~$ sudo apt install nfs-kernel...
supervisor@DESKTOP-P44EP9D:~$ sudo mkdir /Public
supervisor@DESKTOP-P44EP9D:~$ sudo mount qnap:/Public /Pu...
}}
これでnfs mountは完了. ってもautofsの方が現実的かな
#code(nonumber){{
supervisor@DESKTOP-P44EP9D:~$ sudo apt install autofs
supervisor@DESKTOP-P44EP9D:~$ sudo echo "/- /etc/auto.hom...
supervisor@DESKTOP-P44EP9D:~$ sudo echo "/Public qnap:/Pu...
supervisor@DESKTOP-P44EP9D:~$ sudo /etc/init.d/autofs sta...
* automount is not running
supervisor@DESKTOP-P44EP9D:~$ sudo /etc/init.d/autofs start
* Starting automount... ...
supervisor@DESKTOP-P44EP9D:~$ sudo update-rc.d autofs ena...
}}
ただ、、、UID/GIDの統合とかの問題があります。でもwindowsP...
***WSL2のcryoSPARCを母機windows以外からアクセスしたい [#g...
まずはWSL2上のマシンのIPアドレスを調べる
#code(nonumber){{
supervisor@DESKTOP-P44EP9D:~$ ip -4 address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue sta...
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc...
inet 172.30.224.248/20 brd 172.30.239.255 scope globa...
valid_lft forever preferred_lft forever
supervisor@DESKTOP-P44EP9D:~$
}}
なので「172.30.224.248」と分かる. 母機のwindowsPCのipアド...
方策としては、「外部から 192.168.0.6 の39000に届いたアク...
いわゆるポートフォワーディングです。
以前windowsPCをルーターに仕立てて、ポートフォワードを試し...
#code(nonumber){{
(設定)
netsh interface portproxy add v4tov4 listenport=39000 lis...
(確認)
netsh interface portproxy show v4tov4
(解除)
netsh interface portproxy delete v4tov4 listenport=39000 ...
}}
っでこのように設定して外部からアクセスしてみます。&size(1...
&ref(2022y09m14d_225523757.png,nolink);
このように全くの外部からWSL2のサービスに繋げました。
上記はwindowsのファイアウォールをすべて解除してます。ファ...
&ref(2022y09m14d_230310227.png,nolink);
***メモ [#x2d22f33]
...メモリーは潤沢にあったほうがいい. 16GBではwindowsOSは...
#code(nonumber){{
「/etc/init.d/ssh restart」で「sshd; no hostkeys avaiable...
ssh-keygen -A
で回避可能
}}
終了行:
windows10のままでWSL2によるGPGPUを試してみる
windows10は「21H2」までアップグレードされている前提です
物理マシンのスペックは i7-4771(3.5GHz),16GB, NVIDIA A2000...
&ref(2021y11m20d_213520504.png,nolink);
参照先: [[https://docs.microsoft.com/en-us/windows/ai/dir...
***wslコマンドでwindows10の中にLinuxをインストールします ...
「コントロールパネル」->「プログラムと機能」にある「windo...
特段操作はしていない。「Linux用Windowsサブシステム」「仮...
その状態でコマンドプロンプトを起動させ、インストール可能...
#code(nonumber){{
C:\Users\supervisor>wsl --list --online
インストールできる有効なディストリビューションの一覧を次...
既定の分布は ' * ' で表されます。
'wsl --install -d <Distro>'を使用してインストールします。
NAME FRIENDLY NAME
* Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
openSUSE-42 openSUSE Leap 42
SLES-12 SUSE Linux Enterprise Server v12
Ubuntu-16.04 Ubuntu 16.04 LTS
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
C:\Users\supervisor>
}}
とある。ここではUbuntu-20.04を入れてみる.
#code(nonumber){{
C:\Users\supervisor>wsl --install -d Ubuntu-20.04
要求された操作には管理者特権が必要です。
C:\Users\supervisor>
}}
っとそのままのコマンドプロンプトからでは無理そうで、「ス...
&ref(2021y11m20d_215731308.png,nolink);
そのうえで再度コマンドを実行します
#code(nonumber){{
C:\WINDOWS\system32>wsl --install -d Ubuntu-20.04
インストール中: 仮想マシン プラットフォーム ...
仮想マシン プラットフォーム はインストールされました。
インストール中: Linux 用 Windows サブシステム ...
Linux 用 Windows サブシステム はインストールされました。
ダウンロード中: WSL カーネル
インストール中: WSL カーネル
WSL カーネル はインストールされました。
ダウンロード中: Ubuntu 20.04 LTS
要求された操作は正常に終了しました。変更を有効にするには...
C:\WINDOWS\system32>
}}
っで再起動を行う. 再起動後にログインを行うとUbuntu20.04の...
しばらくすると、Ubuntu20.04の中でのアカウントを作るように...
&ref(2021y11m20d_220900862.png,nolink);
アカウント名はなんでも構わない. ここでは露軍しているwindo...
この段階で「スタート」->「Ubuntu20.04」が登録され、それを...
&ref(2021y11m20d_221355481.png,nolink);
***GPU [#w66fc664]
この物理マシンにはNVIDIA RTX A2000が搭載されている.
ここで nvidiaドライバーをインストールする
&ref(2022y09m14d_182323936.png,nolink);
「516.94-quadro-rtx-desktop-notebook-win10-win11-64bit-in...
っでインストールを開始します
途中カスタムインストールを選ぶと何がインストールされるの...
インストール完了後に、「NVIDIAコントロールパネル」を開く...
&ref(2022y09m14d_182523685.png,nolink);
***WARP [#w31cb393]
「NVIDIAコントロールパネル」が無事動くので、この段階で [[...
WarpはCUDAライブラリとか別途必要なく動くみたい
***CUDA [#u03ff047]
これで一応windowsOS管理下にあるGPUがWSL側にも繋ぐようにな...
次にWSLのUbuntu20.04にCUDAライブラリをインストールします.
ただしLinuxのnvidiaドライバーはインストールしません. ''cu...
&size(10){CUDAダウンロードサイトの「WSL-Ubuntu」はnvidia...
#code(nonumber){{
supervisor@DESKTOP-P44EP9D:~$ wget https://developer.down...
supervisor@DESKTOP-P44EP9D:~$ sudo mv cuda-ubuntu2004.pin...
supervisor@DESKTOP-P44EP9D:~$ wget https://developer.down...
supervisor@DESKTOP-P44EP9D:~$ sudo dpkg -i cuda-repo-ubun...
supervisor@DESKTOP-P44EP9D:~$ sudo cp /var/cuda-repo-ubun...
supervisor@DESKTOP-P44EP9D:~$ sudo apt-get update
supervisor@DESKTOP-P44EP9D:~$ sudo apt-get install -y cud...
}}
その後ターミナルにて
#code(nonumber){{
supervisor@DESKTOP-P44EP9D:~$ nvidia-smi
Wed Sep 14 18:28:27 2022
+--------------------------------------------------------...
| NVIDIA-SMI 515.65.01 Driver Version: 516.94 CU...
|-------------------------------+----------------------+-...
| GPU Name Persistence-M| Bus-Id Disp.A | ...
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | ...
| | | ...
|===============================+======================+=...
| 0 NVIDIA RTX A2000 On | 00000000:01:00.0 Off | ...
| 30% 30C P8 6W / 70W | 0MiB / 6138MiB | ...
| | | ...
+-------------------------------+----------------------+-...
+--------------------------------------------------------...
| Processes: ...
| GPU GI CI PID Type Process name ...
| ID ID ...
|========================================================...
| No running processes found ...
+--------------------------------------------------------...
supervisor@DESKTOP-P44EP9D:~$
}}
と表示される。
***cryoSPARC [#g3863388]
nvidiaドライバが用意されてCUDAも入ったので、relionは作れ...
まずはパスワードなしで localhost にログインできるようにす...
#code(nonumber){{
supervisor@DESKTOP-P44EP9D:~$ sudo su -
root@DESKTOP-P44EP9D:~# apt install openssh-server
root@DESKTOP-P44EP9D:~# /etc/init.d/ssh start
}}
次に、/scratchも用意してみる。この辺は別のSSD(Dドライブ)...
#code(nonumber){{
root@DESKTOP-P44EP9D:~# mkdir /scratch/
root@DESKTOP-P44EP9D:~# chmod 1777 /scratch/
root@DESKTOP-P44EP9D:~# exit
}}
自サイトパスワードなしログインを有効にさせるために
#code(nonumber){{
supervisor@DESKTOP-P44EP9D:~$ ssh-keygen
supervisor@DESKTOP-P44EP9D:~$ cp ~/.ssh/id_rsa.pub ~/.ssh...
supervisor@DESKTOP-P44EP9D:~$ chmod 600 ~/.ssh/authorized...
}}
その上で cryoSPARCを入れてみる
#code(nonumber){{
supervisor@DESKTOP-P44EP9D:~$ export L=XXXXX-XXXXX-XXXX-X...
supervisor@DESKTOP-P44EP9D:~$ curl -L https://get.cryospa...
supervisor@DESKTOP-P44EP9D:~$ curl -L https://get.cryospa...
supervisor@DESKTOP-P44EP9D:~$ mkdir cryoSPARC
supervisor@DESKTOP-P44EP9D:~$ cd cryoSPARC/
supervisor@DESKTOP-P44EP9D:~/cryoSPARC$ tar xf ../master....
supervisor@DESKTOP-P44EP9D:~/cryoSPARC$ tar xf ../worker....
supervisor@DESKTOP-P44EP9D:~/cryoSPARC$ mkdir /scratch/cs
supervisor@DESKTOP-P44EP9D:~/cryoSPARC$ cd cryosparc_master
supervisor@DESKTOP-P44EP9D:~/cryoSPARC/cryosparc_master$ ...
--license $L \
--worker_path /home/supervisor/cryoSPARC/cryosparc_worker \
--cudapath /usr/local/cuda-11.7 \
--ssdpath /scratch/cs \
--initial_email saber@fgo \
--initial_password saber \
--initial_username saber \
--initial_firstname Artoria \
--initial_lastname Pendragon
supervisor@DESKTOP-P44EP9D:~/cryoSPARC/cryosparc_master$
}}
っで母機のwindowsPCのブラウザで「localhost:39000」を叩くと
&ref(2022y09m14d_215829866.png,nolink); &ref(2022y09m14d_...
リソースを見るとGPUも認識されて、ssdなscratchも見えている...
***nfsクラアントになってファイルを参照したい [#p861d5a9]
nfsクラアントになるパッケージをインストールして、mountポ...
#code(nonumber){{
supervisor@DESKTOP-P44EP9D:~$ sudo apt install nfs-kernel...
supervisor@DESKTOP-P44EP9D:~$ sudo mkdir /Public
supervisor@DESKTOP-P44EP9D:~$ sudo mount qnap:/Public /Pu...
}}
これでnfs mountは完了. ってもautofsの方が現実的かな
#code(nonumber){{
supervisor@DESKTOP-P44EP9D:~$ sudo apt install autofs
supervisor@DESKTOP-P44EP9D:~$ sudo echo "/- /etc/auto.hom...
supervisor@DESKTOP-P44EP9D:~$ sudo echo "/Public qnap:/Pu...
supervisor@DESKTOP-P44EP9D:~$ sudo /etc/init.d/autofs sta...
* automount is not running
supervisor@DESKTOP-P44EP9D:~$ sudo /etc/init.d/autofs start
* Starting automount... ...
supervisor@DESKTOP-P44EP9D:~$ sudo update-rc.d autofs ena...
}}
ただ、、、UID/GIDの統合とかの問題があります。でもwindowsP...
***WSL2のcryoSPARCを母機windows以外からアクセスしたい [#g...
まずはWSL2上のマシンのIPアドレスを調べる
#code(nonumber){{
supervisor@DESKTOP-P44EP9D:~$ ip -4 address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue sta...
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc...
inet 172.30.224.248/20 brd 172.30.239.255 scope globa...
valid_lft forever preferred_lft forever
supervisor@DESKTOP-P44EP9D:~$
}}
なので「172.30.224.248」と分かる. 母機のwindowsPCのipアド...
方策としては、「外部から 192.168.0.6 の39000に届いたアク...
いわゆるポートフォワーディングです。
以前windowsPCをルーターに仕立てて、ポートフォワードを試し...
#code(nonumber){{
(設定)
netsh interface portproxy add v4tov4 listenport=39000 lis...
(確認)
netsh interface portproxy show v4tov4
(解除)
netsh interface portproxy delete v4tov4 listenport=39000 ...
}}
っでこのように設定して外部からアクセスしてみます。&size(1...
&ref(2022y09m14d_225523757.png,nolink);
このように全くの外部からWSL2のサービスに繋げました。
上記はwindowsのファイアウォールをすべて解除してます。ファ...
&ref(2022y09m14d_230310227.png,nolink);
***メモ [#x2d22f33]
...メモリーは潤沢にあったほうがいい. 16GBではwindowsOSは...
#code(nonumber){{
「/etc/init.d/ssh restart」で「sshd; no hostkeys avaiable...
ssh-keygen -A
で回避可能
}}
ページ名:
1