最近、1つのマスターノードと2つのクライアントノードを使用してBeowulfクラスターをセットアップしました。クライアントノードはすべてマスタノードの/home/mpiuser/
ディレクトリを共有し、マスタノードでディレクトリが変更されると自動的に更新されます。私は正常例では、私が試してみて、私はここで作成したPythonのファイルを実行するとその後、次の出力Beowulfクラスタで個人ジョブを正しく実行できません。ジョブの例が正常に動作する
Process 0 of 3 is on Master
Process 2 of 3 is on Slave2
Process 1 of 3 is on Slave1
pi is approximately 3.1415926544231318, Error is 0.0000000008333387
wall clock time = 0.001477
を与え、次のコマンド
$ mpiexec -f hosts -n 3 /home/mpiuser/mpich2-1.4.1/examples/cpi
とMPICH2をダウンロードするときに与えられたcpi
ファイルをコンパイルして実行しています:このコマンドを使用して/home/mpiuser/Development/fact_test.py
、
$ mpiexec -f hosts -n 3 /home/mpiuser/Development/fact_test.py
は、私は、次のエラーを取得
[proxy:0:[email protected]] HYDU_create_process (./utils/launch/launch.c:69): execvp error on file /home/mpiuser/Development/fact_test.py (Permission denied)
[proxy:0:[email protected]] HYDU_create_process (./utils/launch/launch.c:69): execvp error on file /home/mpiuser/Development/fact_test.py (Permission denied)
[proxy:0:[email protected]] HYDU_create_process (./utils/launch/launch.c:69): execvp error on file /home/mpiuser/Development/fact_test.py (Permission denied)
さらに、私はまた、正しく、この入力と出力とマスターとクライアントノードの名前を取得することができます:
$ mpirun --machinefile hosts hostname
Master
Slave1
Slave2
私はエラーがどこから来ている、非常にわかりません。いくつかの追加情報: MPICH2のバージョン:1.4.1 Pythonのバージョン:3.5.2
fact_test.py:あなたは任意のより多くの情報が必要な場合
import scipy as sp
import time
def factorial_func(i):
return sp.math.factorial(i)
if __name__ == "__main__":
i = 1e5
t0 = time.time()
fac = factorial_func(i)
t1 = time.time()
print(t1-t0)
私はそれを提供させていただきます。ありがとう!
ありがとう、これは問題を解決しました! –