本ページは OCI: HPC Cluster のサブページになります。
MPI 関連
Q: MPI はプリインストールされているか?
OpenMPI ver.4 と Intel MPI (OneAPI)がプリインストールされています。
OpemMPI は /usr/mpi 配下、Intel MPI は /opt/intel配下にインストールされています。
Q: MPI で RDMA を利用するためにはどんなオプションを指定すれば良いか?
OCI では RDMA の I/F として RoCEv2 を採用しております。代表的な以下3つの MPI で RoCEv2 を利用するオプションを記載します。インスタンスや MPI の ver によりオプションが異なるのでご注意ください。
また<I/F name>の部分についてはibdev2netdevコマンドで対象のUCX_NET_DEVICESよりご確認ください。
OpenMPI 3.x
- BM.HPC2.36
--report-bindings \
-mca btl self \
-mca coll_hcoll_enable 0 \
-x UCX_TLS=rc,self,sm \
-x HCOLL_ENABLE_MCAST_ALL=0 \
-x UCX_IB_TRAFFIC_CLASS=105 \
-x UCX_IB_GID_INDEX=3
OpenMPI 4.x
- BM.HPC2.36
--report-bindings \
-mca pml ucx \
-mca coll_hcoll_enable 0 \
-x UCX_TLS=rc,self,sm \
-x UCX_NET_DEVICES=mlx5_0:1 \
-x UCX_IB_TRAFFIC_CLASS=105 \
-x UCX_IB_GID_INDEX=3 \
-x HCOLL_ENABLE_MCAST_ALL=0
- BM.Optimized3.36
--report-bindings \
-mca pml ucx \
-mca coll_hcoll_enable 0 \
-x UCX_TLS=rc,self,sm \
-x UCX_NET_DEVICES=mlx5_2:1 \
-x UCX_IB_TRAFFIC_CLASS=105 \
-x UCX_IB_GID_INDEX=3 \
-x HCOLL_ENABLE_MCAST_ALL=0
Intel MPI 2018 まで
- BM.HPC2.36
-iface <I/F name> \
-genv I_MPI_FABRICS=shm:dapl \
-genv DAT_OVERRIDE=/etc/dat.conf \
-genv I_MPI_DAT_LIBRARY=/usr/lib64/libdat2.so \
-genv I_MPI_DAPL_PROVIDER=ofa-v2-cma-roe-<I/F name> \
-genv I_MPI_FALLBACK=0 \
–genv I_MPI_DEBUG=5
BM.Optimized3.36
-iface <I/F name> \
-genv I_MPI_FABRICS=shm:dapl \
-genv DAT_OVERRIDE=/etc/dat.conf \
-genv I_MPI_DAT_LIBRARY=/usr/lib64/libdat2.so \
-genv I_MPI_DAPL_PROVIDER=ofa-v2-cma-roe-<I/F name> \
-genv I_MPI_FALLBACK=0 \
–genv I_MPI_DEBUG=5
Intel MPI 2019 から
- BM.HPC2.36
-iface <I/F name> \
-genv UCX_TLS rc,self,sm \
-genv UCX_NET_DEVICES mlx5_?:1 \
-genv I_MPI_FABRICS shm:ofi \
–genv I_MPI_DEBUG=5
- BM.Optimized3.36
-iface <I/F name> \
-genv UCX_TLS=rc,self,sm \
-genv UCX_NET_DEVICES=mlx5_2:1 \
-genv I_MPI_FABRICS=shm:ofi \
–genv I_MPI_DEBUG=5
Platform MPI
- BM.HPC2.36:
-intra=shm \
-e MPI_HASIC_UDAPL=ofa-v2-cma-roe-<I/F name> \
-UDAPL \
-e MPI_FLAGS=y
- BM.Optimized3.36:
-intra=shm \
-e MPI_HASIC_UDAPL=ofa-v2-cma-roe-<I/F name>
-UDAPL \
-e MPI_FLAGS=y
Q: VM Shapeにて複数ノードでジョブを実行したい
VM Shapeの場合、ノード間通信はTCPを利用することになります(RDMAはBM Shapeのみ対応のため)。
また2024年3月27日現在、HPC Clusterで生成されるVM ShapeではHyperthredingを無効にできないため、それについても対処をする必要があります。
OpenMPI v4
ポイント
- tcpを明示的に指定: --mca btl self,tcp
- HCOLLを明示的に無効: --mca coll_hcoll_enable 0
- 物理コアへのバインド: --bind-to core
--mca btl self,tcp --mca coll_hcoll_enable 0 --bind-to core