0

指定されたCPUでmpirunを実行する方法を知っている人はいますか?「mpirun-np4」は使用するCPUの数を指定しますが、ここでやりたいのはCPUIDを指定することです。

OSはCentOS5.6であり、MVAPICH2は6x2コアの単一ノードで使用されます。

ご協力ありがとうございます。

4

1 に答える 1

2

はい; 新しいバージョンの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にマップされます。各プロセスについて、マッピング単一の「:」で区切られます。

于 2012-01-17T20:35:59.110 に答える