国内DCUおよびNVIDIA GPU操作マニュアル
1. DCU の動作:
1. 環境をインストールしてテストする
1.1 pytorchをインストールする
DCU をサポートするには、提供されている pytorch をインストールする必要があります。
- 独自の環境をアクティブ化します。
source acctivate 环境名
- トーチをインストールします:
pip install /public/software/apps/DeepLearning/whl/dtk-22.04.2/torch-1.10.0a0_gitc7f69d6_dtk22.04.2-cp37-cp37m-manylinux2014_x86_64.whl
- torchvision をインストールします。
pip install /public/software/apps/DeepLearning/whl/dtk-22.04.2/torchvision-0.10.0a0_dtk22.04.2_e17f5ea-cp37-cp37m-manylinux2014_x86_64.whl
1.2 DCUが呼び出せるか確認する
-
キューを表示:
whichpartition
-
アプリケーションノード:
salloc -p 队列名 -N 1 --gres=dcu:2
-
適用されたノードに従ってノードにログインします。
ssh 节点
-
rocm コンパイラのバージョンを切り替えます (dtk22.04 ドライバをロードします)。
module switch compiler/dtk/22.04.1
-
環境変数を追加する
- 環境変数を保存するテキストを編集します。
vi ~/pytorch_env.sh
- 以下を追加します。
export LD_LIBRARY_PATH=/public/software/apps/DeepLearning/PyTorch_Lib/lib:/public/software/apps/DeepLearning/PyTorch_Lib/lmdb-0.9.24-build/lib:/public/software/apps/DeepLearning/PyTorch_Lib/opencv-2.4.13.6-build/lib:/public/software/apps/DeepLearning/PyTorch_Lib/openblas-0.3.7-build/lib:$LD_LIBRARY_PATH
- 保存 ESC + :+ w+ q
- 環境変数をアクティブにします。
source ~/pytorch_env.sh
- 環境変数を保存するテキストを編集します。
-
環境をアクティブ化します。
source acctivate 环境名
-
次のステートメント検証を実行します。
python import torch torch.cuda.is_available() torch.__version__
-
ログアウトノード
exit
2. ジョブの操作
2.1 課題の提出
- まず、独自の .sh ジョブ送信スクリプトを作成します。
- ジョブ スクリプト テンプレート:
-
ドライバーはジョブスクリプトにロードされていますが、環境変数が設定されていません
-
ファイルを編集: vi ファイル名 (例: vi fastrcnn.sh) またはファイルを直接開きます
-
sbatch 作业名.sh
(例: sbatch fastrcnn.sh)経由で送信します。
-
2.2 割り当ての表示
端子入力:squeue
2.3 ジョブの削除
ターミナル入力: scancel 作业号
(ジョブ番号は squeue を実行するもので、ジョブ ID の下にある番号です)
2.4 出力をリアルタイムで表示する
ターミナル入力: tail -f 出力ファイル名 (出力ファイルはスクリプト ファイルと同じディレクトリにあり、ターミナルに文字を入力するls
と表示されますll
)
3. 試験概要
カーブフィッティングの効果は少し良くありません。同じ構成 (8 コアのシングル カード) では、それぞれの計算時間と結果は非常に不安定で、大きな差があります。これは状況によって異なります。
2. GPU操作マニュアル
1. 環境をインストールしてテストする
1.1 pytorchをインストールする
GPU をサポートするには、提供されている pytorch をインストールする必要があります。
- 独自の環境をアクティブ化します。
source acctivate 环境名
- torch をインストールする: エンジニアにどのバージョンの pytorch をインストールする必要があるかを直接尋ねてから、pytorch [公式 Web サイト] にアクセスして、対応するバージョンを見つけます。公式ウェブサイトに記載されている指示に従ってください。
1.2 GPUが呼び出せるか確認する
-
キューを表示:
whichpartition
-
アプリケーションノード:
salloc -p 队列名 -N 1 --gres=gpu:1
-
適用されたノードに従ってノードにログインします。
ssh 节点
-
cuda (pytorch バージョン番号に従って) ドライバーをロードします。
module load apps/cuda/10.2
-
環境をアクティブ化します。
source acctivate 环境名
-
次のステートメント検証を実行します。
python import torch torch.cuda.is_available() torch.__version__
-
ログアウトノード
exit
2. ジョブの操作
2.1 課題の提出
- まず、独自の .sh ジョブ送信スクリプトを作成します。
- ジョブ スクリプト テンプレート:
-
ドライバーはジョブスクリプトにロードされていますが、環境変数が設定されていません
-
ファイルを編集: vi ファイル名 (例: vi fastrcnn.sh) またはファイルを直接開きます
-
sbatch 作业名.sh
(例: sbatch fastrcnn.sh)経由で送信します。
-
2.2 割り当ての表示
端子入力:squeue
2.3 ジョブの削除
ターミナル入力: scancel 作业号
(ジョブ番号は squeue を実行するもので、ジョブ ID の下にある番号です)
2.4 出力をリアルタイムで表示する
ターミナル入力: tail -f 出力ファイル名 (出力ファイルはスクリプト ファイルと同じディレクトリにあり、ターミナルに文字を入力するls
と表示されますll
)
3. 試験概要
カーブのフィット感も非常に良く、タイムも速いです。これを使ってもいいし、これを使ってもいい。