指定されたCPUでmpirunを実行する方法を知っている人はいますか?「mpirun-np4」は使用するCPUの数を指定しますが、ここでやりたいのはCPUIDを指定することです。
OSはCentOS5.6であり、MVAPICH2は6x2コアの単一ノードで使用されます。
ご協力ありがとうございます。
はい; 新しいバージョンのmvapich2は、hwlocライブラリを使用してCPUアフィニティとバインディングを有効にします。
ユーザーガイドから:
たとえば、ノードごとに4つのプロセスを実行し、各ノードでコア0、1、4、5を使用する場合は、次のように指定できます。
$ mpirun_rsh -np 64 -hostfile hosts MV2_CPU_MAPPING=0:1:4:5 ./a.out
また
$ mpiexec -n 64 -f hosts -env MV2_CPU_MAPPING 0:1:4:5 ./a.out
このようにして、各ノードのプロセス0はコア0にマップされ、プロセス1はコア1にマップされ、プロセス2はコア4にマップされ、プロセス3はコア5にマップされます。各プロセスについて、マッピング単一の「:」で区切られます。