見出し画像

io.net WorkerによるGPU提供の始め方

io.netは個人が持つGPUやCPUリソースをネットワーク上で共有し、提供された計算リソースをAI技術者が低コストで利用することが可能なソラナ基盤上の分散型物理インフラネットワーク(DePIN)プロジェクトです。

この記事では、Windowsユーザー向けにGPU(Nvidia RTXシリーズ)提供のためのソフトインストールや設定方法について、簡単かつ分かりやすく解説します。


1. 必要性能

どんなグラフィックボードでもGPU提供が出来るわけではありません。
また、メモリなどPCスペックや環境についてもio.netから要件としてあり、
それらは下記の通りです。

<対象グラフィックボード(Nvidia Geforce RTXシリーズを抜粋)>
1080 Ti, 2080 Ti, 3050, 3050 Ti, 3060, 3060 Ti, 3070, 3070 Ti, 3080, 3080 Ti,
3090, 3090 Ti, 4050, 4050 Ti, 4060, 4060 Ti, 4070, 4070 Ti, 4070 super, 4070 Ti super,4080, 4080 Ti, 4080 super, 4090
<メモリ>
12GB以上
<回線速度>
ダウンロード 500 Mbps以上、アップロード 250 Mbps以上 (30 ミリ秒未満の ping)

※回線速度については速い方が望ましいですが、上記を満たしていなくてもGPU提供は可能です。

2. 仮想化BIOSの確認

まずはタスクマネージャを開き、左のパフォーマンスタブをクリックしてCPUの欄で<仮想化>の項目が有効になっているか確認します。

もし<仮想化>が有効になっていなければ、以下の設定が必要です。
まずWindows Powershell を管理者で実行します。
※Windows Powershellがどこにあるか分からない場合は、タスクバーの検索欄に「Windows Powershell」と入力すると出てきます。

Windows Powershell で下記のコマンドを実行し、WSL 機能を有効にします。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

次に、同じウィンドウのままで下記のコマンドを実行し、仮想マシン プラットフォーム機能を有効にします。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

最後に、下記コマンドを実行しWSL 2 をデフォルト バージョンとして設定します。(一応、PCは再起動しましょう。)
wsl --set-default-version 2

3. dockerのインストール

次にDocker Web サイト: https://www.docker.com/products/docker-desktop/からインストーラーをダウンロードします。

ダウンロードしたDocker Desktop Installer.exeを実行し、インストール完了後PCを再起動します。
そして、docker desktopを実行し、設定画面を開きます。

そして、左のResourcesタブ→WSL integrationを開き、<Enable integration with my default WSL distro>にチェックが入っていることを確認してください。

4. Nvidia ドライバーのインストール

グラフィックボードのドライバーは、PCのセットアップ時にインストールしているはずなので基本的にはこの項はスルーして大丈夫です。
もしドライバーを入れていない方は、
Nvidia Webサイト:https://www.nvidia.com/download/index.aspxから対応するGPUのドライバーをインストールしてください。

5. NVIDIA CUDA ツールキットのインストール

これは必須ではありませんが、入れておくとGPU提供先が広がるかもしれません。
Nvidia Webサイト:https://developer.nvidia.com/cuda-downloadsから、インストーラーをダウンロードします。

ダウンロードしたcuda_12.4.0_551.61_windows.exeを実行し、画面に沿ってクリックし完了です。

6. workerページでの設定

io.net workerページ:https://cloud.io.net/worker/devices にアクセスし、Connect New Deviceをクリックします。

次に、下記の通りに選択します。
 1.Select Operating System "OS" → Windows
 2.Select Supplier → io.net
 3.Name your device → 好きな名前を入力
 4.Device Type → GPU Worker

 6.Run Docker Command
 docker desktopを起動した状態で、赤枠内のコマンドをコピーしWindows Powershell(管理者権限)で実行します。

コマンドが実行され、下記のような表示になれば完了です。

最後に、io.net workerページ:https://cloud.io.net/worker/devicesに戻って、デバイスの状態がRunningになっていればGPUの提供は全て完了です。

7. Tips

7-1. dockerの再起動方法

workerの動作が怪しかったりする場合、dockerの再起動を試してみるのも一つの手です。
まず初めにworkerページ:https://cloud.io.net/worker/devicesからdeviceを開き、Pauseを押してdeviceを一時停止します。

次に同じdeviceページ中ほどにある<Stop all containers and run new command>をクリックすると、dockerの停止および起動コマンドが表示されます。Windows Powershellで下画像赤枠のdocker停止コマンドを実行します。
※停止・起動コマンドはどこかにコピーしておくと何かと便利です。
 起動コマンドについてはdevice固有のものなので気を付けましょう。

docker停止・起動コマンドの確認

dockerを開き、containersのタブで何も動作していないことを確認してください。imagesのタブで残っているイメージがあれば、ゴミ箱アイコンをクリックし全て削除しましょう。(この後、気になるようであればdockerやPCを再起動しても良いです。)

残ったイメージの削除

最後に、Windows Powershellで上記起動コマンドを実行すればdockerの再起動完了です。

7-2. worker中のGPU利用に関する注意点

workerでGPU提供中に、GPUに高負荷が掛かるゲーム等を起動してしまうと、デバイスが問答無用でBANされてしまいます。
io.netのdiscordサポートで解除はしてもらえますが、2日ほど時間がかかるため気を付けましょう。
ちょっとゲームがしたい、他のDePINで使いたい、という時はworkerページ:https://cloud.io.net/worker/devicesPauseを押しましょう。
やりたい事が終わってworkerを再度始める時は、Resumeを押すだけで再開できます。

Resumeボタン

7-3. windows updateの永久無効化(Windows11pro限定)

workerでGPUを提供している時にwindows updateが始まると、PCが再起動されてしまうため、deviceが切断されてReputation Score(信用スコア)が下がってしまいます。io.netにおいて、信用スコアつまり連続稼働時間は特に重要視されています。
通常、windowsの設定ページからは最長4週間までしか自動更新を停止することが出来ません。しかし、サービスから無効化してやることで永久的に自動アップデートを停止することができます。
※1 セキュリティ面の問題があるため、自己責任でお願いします。
※2 Windows11 Proにしかない機能を使うため、Home版では出来ません。

まず、スタートメニューから「gpedit」と検索し、<グループポリシーの編集>を起動します。

グループポリシーの編集ウィンドウの左ツリーから、
コンピューターの構成/管理用テンプレート/Windowsコンポーネント/Windows Update/エンドユーザーエクスペリエンスの管理
をクリックし、右エリアに表示される<自動更新を構成する>をダブルクリックしてください。

表示されたウィンドウで<無効>にチェックを入れて、OKを押しましょう。

次に、スタートメニューを右クリックしコンピュータの管理を起動します。

コンピュータの管理ウィンドウの左ツリーから、<サービス>をクリックし、右エリアから<Windows Update>を探してダブルクリックします。

プロパティウィンドウでスタートアップの種類を<無効>に選択し、OKを押し、その後PCを再起動して全て完了です。
もし自動更新に戻したい場合は、<グループポリシーの編集>で無効にした<自動更新の構成>を、有効に戻せば元通りです。

この記事が気に入ったらサポートをしてみませんか?