Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions content/hpc/benchmark/bios-setting/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,11 @@ BIOS設定上 **SMT** を有効化してインスタンスを作成した場合

## 1-1. インスタンス構成でBIOS設定を指定する方法

**[インスタンス構成](../../#5-7-インスタンス構成)** を作成する際の以下 **イメージとシェイプ** フィールドで、
**[インスタンス構成](../../#5-7-インスタンス構成)** を作成する際の以下 **イメージとシェイプ** フィールドで **シェイプの変更** ボタンをクリックし

![画面ショット](console_page01.png)

**シェイプの変更** ボタンをクリックして表示される以下 **すべてのシェイプの参照** サイドバーで **ベア・メタル・マシン** をクリックして表示される所望のシェイプ(ここでは **BM.Optimized3.36** )を選択し **詳細BIOS設定** ボタンをクリックし、
表示される以下 **すべてのシェイプの参照** サイドバーで **ベア・メタル・マシン** をクリックして表示される所望のシェイプ(ここでは **BM.Optimized3.36** )を選択して **詳細BIOS設定** ボタンをクリックし、

![画面ショット](console_page02.png)

Expand All @@ -80,16 +80,16 @@ BIOS設定上 **SMT** を有効化してインスタンスを作成した場合

## 1-2. TerraformスクリプトでBIOS設定を指定する方法

**[OCI HPCチュートリアル集](../../#1-oci-hpcチュートリアル集)** の **[Terraform](../../#5-12-terraform)** を使用する自動構築でHPC/GPUクラスタを構築する際のBIOS設定を適用する方法は、HPCクラスタの場合は **OCI HPCチュートリアル集** の **[HPCクラスタを構築する(基礎インフラ自動構築編)](../../spinup-hpc-cluster-withterraform/)** の **[0-1-2. スタック作成](../../spinup-hpc-cluster-withterraform/#0-1-2-スタック作成)**(**[リソース・マネージャ](../../#5-2-リソースマネージャ)** を使用する場合)か **[0-2-3. Terraformスクリプト作成](../../spinup-hpc-cluster-withterraform/#0-2-3-terraformスクリプト作成)**(**[Terraform](../../#5-12-terraform)** CLIを使用する場合)を、GPUクラスタの場合は **OCI HPCチュートリアル集** の **[GPUクラスタを構築する(基礎インフラ自動構築編)](../../spinup-gpu-cluster-withterraform/)** の **[0-1-2. スタック作成](../../spinup-gpu-cluster-withterraform/#0-1-2-スタック作成)** ( **リソース・マネージャ** を使用する場合)か **[0-2-2. Terraformスクリプト作成](../../spinup-gpu-cluster-withterraform/#0-2-2-terraformスクリプト作成)** ( **Terraform** CLIを使用する場合)を参照してください。
**[OCI HPCチュートリアル集](../../#1-oci-hpcチュートリアル集)** の **[Terraform](../../#5-12-terraform)** を使用する自動構築でHPC/GPUクラスタを構築する際のBIOS設定を適用する方法は、HPCクラスタの場合は **OCI HPCチュートリアル集** の **[HPCクラスタを構築する(基礎インフラ自動構築編)](../../spinup-hpc-cluster-withterraform/)** の **[1-1-2. スタック作成](../../spinup-hpc-cluster-withterraform/#1-1-2-スタック作成)**(**[リソース・マネージャ](../../#5-2-リソースマネージャ)** を使用する場合)か **[1-2-3. Terraformスクリプト作成](../../spinup-hpc-cluster-withterraform/#1-2-3-terraformスクリプト作成)**(**[Terraform](../../#5-12-terraform)** CLIを使用する場合)を、GPUクラスタの場合は **OCI HPCチュートリアル集** の **[GPUクラスタを構築する(基礎インフラ自動構築編)](../../spinup-gpu-cluster-withterraform/)** の **[1-1-2. スタック作成](../../spinup-gpu-cluster-withterraform/#1-1-2-スタック作成)** ( **リソース・マネージャ** を使用する場合)か **[1-2-3. Terraformスクリプト作成](../../spinup-gpu-cluster-withterraform/#1-2-3-terraformスクリプト作成)** ( **Terraform** CLIを使用する場合)を参照してください。

## 1-3. 単一インスタンス作成時にOCIコンソールで指定する方法

**コンピュート・インスタンスの作成** 画面の以下 **イメージとシェイプ** フィールドで、
**コンピュート・インスタンスの作成** 画面の以下 **イメージとシェイプ** フィールドで**シェイプの変更** ボタンをクリックし

![画面ショット](console_page01.png)


**シェイプの変更** ボタンをクリックして表示される以下 **すべてのシェイプの参照** サイドバーで **ベア・メタル・マシン** をクリックして表示される所望のシェイプ(ここでは **BM.Optimized3.36** )を選択し **詳細BIOS設定** ボタンをクリックし、
表示される以下 **すべてのシェイプの参照** サイドバーで **ベア・メタル・マシン** をクリックして表示される所望のシェイプ(ここでは **BM.Optimized3.36** )を選択して **詳細BIOS設定** ボタンをクリックし、

![画面ショット](console_page02.png)

Expand Down
79 changes: 40 additions & 39 deletions content/hpc/benchmark/run-omb-gpu/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,16 @@ params:
| 方向 | ノード内/ノード間 | **D** ・ **H** 接続関係 | レイテンシ | 帯域幅 |
| :--------------: | :-------: | :----------------: | :-----: | :----------: |
| **D** -> **D** | ノード内 | - | 2.48 us | 279,578 MB/s |
| | 2ノード間 | - | 3.89 us | 11,962 MB/s |
| | 2ノード間 | - | 3.89 us | 23,056 MB/s |
| **H** -> **D** | ノード内 | 同一NUMAノード | 1.30 us | 23,744 MB/s |
| | | 同一ソケットで異なるNUMAノード | 1.66 us | 23,737 MB/s |
| | | 異なるソケット | 1.92 us | 23,369 MB/s |
| **D** -> **H** | ノード内 | 同一NUMAノード | 1.32 us | 23,230 MB/s |
| | | 同一ソケットで異なるNUMAノード | 1.65 us | 23,224 MB/s |
| | | 異なるソケット | 1.92 us | 23,209 MB/s |

対象のイメージが **Oracle Linux** か **Ubuntu** かで手順の異なる箇所は、都度記載の注釈でどの手順を実行するかを判断します。

以降では、以下の順に解説します。

1. **[OSU Micro-Benchmarksインストール](#1-osu-micro-benchmarksインストール)**
Expand Down Expand Up @@ -141,56 +143,56 @@ prepend-path PATH $pkg_root:$pkg_root/mpi/collective:$pkg_root/mpi/congestion:$p
$ module load openmpi omb # For Oracle Linux
$ module load nvhpc openmpi omb # For Ubuntu
$ mpirun -n 2 --report-bindings osu_latency -x 1000 -i 10000 -m 1:1 -d cuda D D
[inst-wpdlx-ao-ub24:22411] Rank 0 bound to package[0][core:0]
[inst-wpdlx-ao-ub24:22411] Rank 1 bound to package[0][core:1]
[inst-aaaaa-ao-ub24:22411] Rank 0 bound to package[0][core:0]
[inst-aaaaa-ao-ub24:22411] Rank 1 bound to package[0][core:1]

# OSU MPI-CUDA Latency Test v7.5
# Datatype: MPI_CHAR.
# Size Avg Latency(us)
1 2.48
$ mpirun -n 2 --map-by pe-list=24,25:ordered --report-bindings numactl -l osu_latency -x 1000 -i 10000 -m 1:1 -d cuda H D
[inst-wpdlx-ao-ub24:22459] Rank 0 bound to package[0][core:24]
[inst-wpdlx-ao-ub24:22459] Rank 1 bound to package[0][core:25]
[inst-aaaaa-ao-ub24:22459] Rank 0 bound to package[0][core:24]
[inst-aaaaa-ao-ub24:22459] Rank 1 bound to package[0][core:25]

# OSU MPI-CUDA Latency Test v7.5
# Datatype: MPI_CHAR.
# Size Avg Latency(us)
1 1.30
$ mpirun -n 2 --map-by pe-list=0,25:ordered --report-bindings numactl -l osu_latency -x 1000 -i 10000 -m 1:1 -d cuda H D
[inst-wpdlx-ao-ub24:22511] Rank 0 bound to package[0][core:0]
[inst-wpdlx-ao-ub24:22511] Rank 1 bound to package[0][core:25]
[inst-aaaaa-ao-ub24:22511] Rank 0 bound to package[0][core:0]
[inst-aaaaa-ao-ub24:22511] Rank 1 bound to package[0][core:25]

# OSU MPI-CUDA Latency Test v7.5
# Datatype: MPI_CHAR.
# Size Avg Latency(us)
1 1.66
$ mpirun -n 2 --map-by pe-list=32,25:ordered --report-bindings numactl -l osu_latency -x 1000 -i 10000 -m 1:1 -d cuda H D
[inst-wpdlx-ao-ub24:22558] Rank 0 bound to package[1][core:32]
[inst-wpdlx-ao-ub24:22558] Rank 1 bound to package[0][core:25]
[inst-aaaaa-ao-ub24:22558] Rank 0 bound to package[1][core:32]
[inst-aaaaa-ao-ub24:22558] Rank 1 bound to package[0][core:25]

# OSU MPI-CUDA Latency Test v7.5
# Datatype: MPI_CHAR.
# Size Avg Latency(us)
1 1.92
$ mpirun -n 2 --map-by pe-list=25,24:ordered --report-bindings numactl -l osu_latency -x 1000 -i 10000 -m 1:1 -d cuda D H
[inst-wpdlx-ao-ub24:22630] Rank 0 bound to package[0][core:25]
[inst-wpdlx-ao-ub24:22630] Rank 1 bound to package[0][core:24]
[inst-aaaaa-ao-ub24:22630] Rank 0 bound to package[0][core:25]
[inst-aaaaa-ao-ub24:22630] Rank 1 bound to package[0][core:24]

# OSU MPI-CUDA Latency Test v7.5
# Datatype: MPI_CHAR.
# Size Avg Latency(us)
1 1.32
$ mpirun -n 2 --map-by pe-list=25,0:ordered --report-bindings numactl -l osu_latency -x 1000 -i 10000 -m 1:1 -d cuda D H
[inst-wpdlx-ao-ub24:22675] Rank 0 bound to package[0][core:25]
[inst-wpdlx-ao-ub24:22675] Rank 1 bound to package[0][core:0]
[inst-aaaaa-ao-ub24:22675] Rank 0 bound to package[0][core:25]
[inst-aaaaa-ao-ub24:22675] Rank 1 bound to package[0][core:0]

# OSU MPI-CUDA Latency Test v7.5
# Datatype: MPI_CHAR.
# Size Avg Latency(us)
1 1.65
$ mpirun -n 2 --map-by pe-list=25,32:ordered --report-bindings numactl -l osu_latency -x 1000 -i 10000 -m 1:1 -d cuda D H
[inst-wpdlx-ao-ub24:22722] Rank 0 bound to package[0][core:25]
[inst-wpdlx-ao-ub24:22722] Rank 1 bound to package[1][core:32]
[inst-aaaaa-ao-ub24:22722] Rank 0 bound to package[0][core:25]
[inst-aaaaa-ao-ub24:22722] Rank 1 bound to package[1][core:32]

# OSU MPI-CUDA Latency Test v7.5
# Datatype: MPI_CHAR.
Expand All @@ -208,56 +210,56 @@ $
$ module load openmpi omb # For Oracle Linux
$ module load nvhpc openmpi omb # For Ubuntu
$ mpirun -n 2 --report-bindings osu_bw -x 10 -i 10 -m 268435456:268435456 -d cuda D D
[inst-wpdlx-ao-ub24:22768] Rank 0 bound to package[0][core:0]
[inst-wpdlx-ao-ub24:22768] Rank 1 bound to package[0][core:1]
[inst-aaaaa-ao-ub24:22768] Rank 0 bound to package[0][core:0]
[inst-aaaaa-ao-ub24:22768] Rank 1 bound to package[0][core:1]

# OSU MPI-CUDA Bandwidth Test v7.5
# Datatype: MPI_CHAR.
# Size Bandwidth (MB/s)
268435456 279577.81
$ mpirun -n 2 --map-by pe-list=24,25:ordered --report-bindings numactl -l osu_bw -x 10 -i 10 -m 268435456:268435456 -d cuda H D
[inst-wpdlx-ao-ub24:22814] Rank 0 bound to package[0][core:24]
[inst-wpdlx-ao-ub24:22814] Rank 1 bound to package[0][core:25]
[inst-aaaaa-ao-ub24:22814] Rank 0 bound to package[0][core:24]
[inst-aaaaa-ao-ub24:22814] Rank 1 bound to package[0][core:25]

# OSU MPI-CUDA Bandwidth Test v7.5
# Datatype: MPI_CHAR.
# Size Bandwidth (MB/s)
268435456 23744.00
$ mpirun -n 2 --map-by pe-list=0,25:ordered --report-bindings numactl -l osu_bw -x 10 -i 10 -m 268435456:268435456 -d cuda H D
[inst-wpdlx-ao-ub24:22877] Rank 0 bound to package[0][core:0]
[inst-wpdlx-ao-ub24:22877] Rank 1 bound to package[0][core:25]
[inst-aaaaa-ao-ub24:22877] Rank 0 bound to package[0][core:0]
[inst-aaaaa-ao-ub24:22877] Rank 1 bound to package[0][core:25]

# OSU MPI-CUDA Bandwidth Test v7.5
# Datatype: MPI_CHAR.
# Size Bandwidth (MB/s)
268435456 23736.96
$ mpirun -n 2 --map-by pe-list=32,25:ordered --report-bindings numactl -l osu_bw -x 10 -i 10 -m 268435456:268435456 -d cuda H D
[inst-wpdlx-ao-ub24:22932] Rank 0 bound to package[1][core:32]
[inst-wpdlx-ao-ub24:22932] Rank 1 bound to package[0][core:25]
[inst-aaaaa-ao-ub24:22932] Rank 0 bound to package[1][core:32]
[inst-aaaaa-ao-ub24:22932] Rank 1 bound to package[0][core:25]

# OSU MPI-CUDA Bandwidth Test v7.5
# Datatype: MPI_CHAR.
# Size Bandwidth (MB/s)
268435456 23369.30
$ mpirun -n 2 --map-by pe-list=25,24:ordered --report-bindings numactl -l osu_bw -x 10 -i 10 -m 268435456:268435456 -d cuda D H
[inst-wpdlx-ao-ub24:23111] Rank 0 bound to package[0][core:25]
[inst-wpdlx-ao-ub24:23111] Rank 1 bound to package[0][core:24]
[inst-aaaaa-ao-ub24:23111] Rank 0 bound to package[0][core:25]
[inst-aaaaa-ao-ub24:23111] Rank 1 bound to package[0][core:24]

# OSU MPI-CUDA Bandwidth Test v7.5
# Datatype: MPI_CHAR.
# Size Bandwidth (MB/s)
268435456 23229.60
$ mpirun -n 2 --map-by pe-list=25,0:ordered --report-bindings numactl -l osu_bw -x 10 -i 10 -m 268435456:268435456 -d cuda D H
[inst-wpdlx-ao-ub24:23191] Rank 0 bound to package[0][core:25]
[inst-wpdlx-ao-ub24:23191] Rank 1 bound to package[0][core:0]
[inst-aaaaa-ao-ub24:23191] Rank 0 bound to package[0][core:25]
[inst-aaaaa-ao-ub24:23191] Rank 1 bound to package[0][core:0]

# OSU MPI-CUDA Bandwidth Test v7.5
# Datatype: MPI_CHAR.
# Size Bandwidth (MB/s)
268435456 23223.68
$ mpirun -n 2 --map-by pe-list=25,32:ordered --report-bindings numactl -l osu_bw -x 10 -i 10 -m 268435456:268435456 -d cuda D H
[inst-wpdlx-ao-ub24:23246] Rank 0 bound to package[0][core:25]
[inst-wpdlx-ao-ub24:23246] Rank 1 bound to package[1][core:32]
[inst-aaaaa-ao-ub24:23246] Rank 0 bound to package[0][core:25]
[inst-aaaaa-ao-ub24:23246] Rank 1 bound to package[1][core:32]

# OSU MPI-CUDA Bandwidth Test v7.5
# Datatype: MPI_CHAR.
Expand All @@ -272,9 +274,8 @@ $

本章は、2ノードに跨るGPU番号0同士のメッセージサイズ1バイトでのレイテンシとメッセージサイズ256 MiBでの帯域幅を計測します。

使用するGPU番号が0になるのは、 **OSU Micro-Benchmarks** がMPIプロセスを割り当てるGPUを決定する際、 **OpenMPI** の環境変数 **OMPI_COMM_WORLD_LOCAL_RANK** 環境変数と同じGPU番号とするためです。

使用するノード間接続ネットワークインターフェースは、GPU番号0と同一PCIeスイッチに接続する **mlx5_6** を指定しています。
使用するGPU番号が0になるのは、 **OSU Micro-Benchmarks** がMPIプロセスを割り当てるGPUを決定する際、 **OpenMPI** の環境変数 **OMPI_COMM_WORLD_LOCAL_RANK** 環境変数と同じGPU番号とするためです。
また、使用するノード間接続ネットワークインターフェースは、GPU番号0と同一PCIeスイッチに接続する **mlx5_6** と **mlx5_7** を指定しています。

### 2-2-1. レイテンシ

Expand All @@ -284,8 +285,8 @@ $
```sh
$ module load openmpi omb # For Oracle Linux
$ module load nvhpc openmpi omb # For Ubuntu
$ mpirun -n 2 -N 1 -hostfile ~/hostlist.txt -x UCX_NET_DEVICES=mlx5_6:1 -x PATH -x LD_LIBRARY_PATH osu_latency -x 1000 -i 10000 -m 1:1 -d cuda D D
[inst-0d12t-ao-ub24:14174] SET UCX_NET_DEVICES=mlx5_6:1
$ mpirun -n 2 -N 1 -hostfile ~/hostlist.txt -x UCX_NET_DEVICES=mlx5_6:1,mlx5_7:1 -x PATH -x LD_LIBRARY_PATH osu_latency -x 1000 -i 10000 -m 1:1 -d cuda D D
[inst-aaaaa-ao:100892] SET UCX_NET_DEVICES=mlx5_6:1,mlx5_7:1

# OSU MPI-CUDA Latency Test v7.5
# Datatype: MPI_CHAR.
Expand All @@ -302,13 +303,13 @@ $
```sh
$ module load openmpi omb # For Oracle Linux
$ module load nvhpc openmpi omb # For Ubuntu
$ mpirun -n 2 -N 1 -hostfile ~/hostlist.txt -x UCX_NET_DEVICES=mlx5_6:1 -x PATH -x LD_LIBRARY_PATH osu_bw -x 10 -i 10 -m 268435456:268435456 -d cuda D D
[inst-0d12t-ao-ub24:16701] SET UCX_NET_DEVICES=mlx5_6:1
$ mpirun -n 2 -N 1 -hostfile ~/hostlist.txt -x UCX_NET_DEVICES=mlx5_6:1,mlx5_7:1 -x PATH -x LD_LIBRARY_PATH osu_bw -x 10 -i 10 -m 268435456:268435456 -d cuda D D
[inst-aaaaa-ao:100977] SET UCX_NET_DEVICES=mlx5_6:1,mlx5_7:1

# OSU MPI-CUDA Bandwidth Test v7.5
# Datatype: MPI_CHAR.
# Size Bandwidth (MB/s)
268435456 11962.21
268435456 23055.69
$
```

Expand All @@ -323,7 +324,7 @@ $
$ module load openmpi omb # For Oracle Linux
$ module load nvhpc openmpi omb # For Ubuntu
$ mpirun -n 8 -x UCX_NET_DEVICES=mlx5_6:1 osu_xccl_allreduce -x 10 -i 10 -m 1073741824:1073741824 -d cuda D D
[inst-s08bb-ao-ub24:28293] SET UCX_NET_DEVICES=mlx5_6:1
[inst-aaaaa-ao-ub24:28293] SET UCX_NET_DEVICES=mlx5_6:1
#Using NCCL
#Using NCCL
#Using NCCL
Expand All @@ -350,7 +351,7 @@ $
$ module load openmpi omb # For Oracle Linux
$ module load nvhpc openmpi omb # For Ubuntu
$ mpirun -n 16 -N 8 -hostfile ~/hostlist.txt -x UCX_NET_DEVICES=mlx5_6:1 -x PATH -x LD_LIBRARY_PATH osu_xccl_allreduce -x 10 -i 10 -m 1073741824:1073741824 -d cuda D D
[inst-s08bb-ao-ub24:28899] SET UCX_NET_DEVICES=mlx5_6:1
[inst-aaaaa-ao-ub24:28899] SET UCX_NET_DEVICES=mlx5_6:1
#Using NCCL
#Using NCCL
#Using NCCL
Expand Down
8 changes: 4 additions & 4 deletions content/hpc/benchmark/run-omb-hpc/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ $
```sh
$ module load openmpi omb
$ mpirun -n 2 -N 1 -hostfile ~/hostlist.txt -x UCX_NET_DEVICES=mlx5_2:1 -x PATH osu_latency -x 1000 -i 10000 -m 1:1
[inst-xsyjo-x9-ol905:263038] SET UCX_NET_DEVICES=mlx5_2:1
[inst-aaaaa-x9:263038] SET UCX_NET_DEVICES=mlx5_2:1

# OSU MPI Latency Test v7.5
# Datatype: MPI_CHAR.
Expand All @@ -153,7 +153,7 @@ $
```sh
$ module load openmpi omb
$ mpirun -n 2 -N 1 -hostfile ~/hostlist.txt -x UCX_NET_DEVICES=mlx5_2:1 -x PATH osu_bw -x 10 -i 10 -m 268435456:268435456
[inst-xsyjo-x9-ol905:263198] SET UCX_NET_DEVICES=mlx5_2:1
[inst-aaaaa-x9:263198] SET UCX_NET_DEVICES=mlx5_2:1

# OSU MPI Bandwidth Test v7.5
# Datatype: MPI_CHAR.
Expand All @@ -170,7 +170,7 @@ $
```sh
$ module load openmpi omb
$ mpirun -n 144 -N 36 -hostfile ~/hostlist.txt -x UCX_NET_DEVICES=mlx5_2:1 -x PATH osu_allreduce -x 10 -i 10 -m 4:268435456
[inst-ztgl1-x9-ol810:227754] SET UCX_NET_DEVICES=mlx5_2:1
[inst-aaaaa-x9:227754] SET UCX_NET_DEVICES=mlx5_2:1

# OSU MPI Allreduce Latency Test v7.5
# Datatype: MPI_INT.
Expand Down Expand Up @@ -213,7 +213,7 @@ $
```sh
$ module load openmpi omb
$ mpirun -n 144 -N 36 -hostfile ~/hostlist.txt -x UCX_NET_DEVICES=mlx5_2:1 -x PATH osu_init
[inst-ntoae-x9-ol810:19647] SET UCX_NET_DEVICES=mlx5_2:1
[inst-aaaaa-x9:19647] SET UCX_NET_DEVICES=mlx5_2:1
# OSU MPI Init Test v7.5
nprocs: 144, min: 2170 ms, max: 2216 ms, avg: 2187 ms
$
Expand Down
Loading