2014-01-16 53 views
1

當我在終端運行的mpirun產生不同的行爲

mpirun -np 2 exec 

,在EXEC中並行運行。然而,當我把一個bash腳本中的命令

#!/bin/bash 
mpirun -np 2 exec 

我得到以下拋出

/opt/intel/composer_xe_2013_sp1.0.080/mpirt/bin/intel64/mpirun: 96: .: Can't open /opt/intel/composer_xe_2013_sp1.0.080/mpirt/bin/intel64/mpivars.sh 

我的猜測是,bash腳本是看到一組不同的環境變量,但我不知道如何確認這個猜測。

+0

哪一個是你的腳本? 'mpivars.sh'或'mpirun',你把你的腳本放在哪裏? – ray

+0

第二塊是我的腳本,第三塊是腳本的輸出。腳本和原始命令(第一個塊)從同一個目錄運行。 – schuberm

+0

你是如何運行腳本的?從終端或從cron?在終端試試'哪個mpirun'。 – ray

回答

1

我今天碰到同樣的問題,並在這裏找到了解決辦法: link to emuch。 根據這個鏈接,intel編譯器不包含mpif90和mpicc環境。如果使用另一個mpi編譯器,則需要指定mpirun的絕對目錄(在我的情況下爲/ usr/bin/X11/mpirun)。 例如在我的情況下,它是

/usr/bin/X11/mpirun -np 2 exc 
相關問題