2014-07-19 216 views
0

我有多個虛擬機,我想使用這些虛擬機執行並行處理。我編寫了一個使用ssh連接到虛擬機的程序。 mpiexec命令應該通過虛擬機上的ssh執行。 但是,這沒有發生,我甚至不得到錯誤信息無法通過ssh執行mpiexec命令

ssh=paramiko.SSHClient() 
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())  
ssh.connect(ips_in_file[0]) # connecting to the VM 
cmd1="mpiexec --wdir /export/validation_files/ -f /export/validation_files/freeVMs.txt -n "+str(numVMs)+" python mulpar_new.py "+ s+" cmd>>matrix_result.txt" 
ssh.exec_command(cmd1) 

我不認爲是mpiexec的執行 我在做什麼錯?

+0

第一,你可以通過'ssh' 'ssh'本身就像'ssh user @ server'或通過任何方式? –

回答

0

包括路徑mpiexec的,你可以使用以下命令它VM

which mpiexec 

而不是

cmd1="mpiexec --wdir /export/validation_files/ -f /export/validation_files/freeVMs.txt -n "+str(numVMs)+" python mulpar_new.py "+ s+" cmd>>matrix_result.txt" 

使用

cmd1="<path to mpiexec>mpiexec --wdir /export/validation_files/ -f /export/validation_files/freeVMs.txt -n "+str(numVMs)+" python mulpar_new.py "+ s+" cmd>>matrix_result.txt"