2014-09-03 106 views
2

我正在運行一個程序,並且正在使用調試模式。在調試模式下,程序會打印出一些有用的信息,並且我想在運行過程中檢查它。然而,我無法在輸出目錄中找到輸出文件..在代碼中可用,或者我可以在代碼結束時找到它。MPI pbs輸出文件在運行時間內是否可用?

有作業信息:

Job Id: 420302.kavun-ib 
Job_Name = pKmeans 
Job_Owner = [email protected] 
resources_used.cput = 00:00:00 
resources_used.mem = 8148kb 
resources_used.vmem = 138560kb 
resources_used.walltime = 20:27:15 
job_state = R 
queue = cenga 
server = kavun-ib 
Checkpoint = u 
ctime = Wed Sep 3 14:40:27 2014 
Error_Path = nar:/home1/e1893122/10m_data/pKmeans.err 
exec_host = ceng33-ib/7+ceng33-ib/6+ceng33-ib/5+ceng33-ib/4+ceng33-ib/3+ce 
ng33-ib/2+ceng33-ib/1+ceng33-ib/0+ceng34-ib/7+ceng34-ib/6+ceng34-ib/5+ 
ceng34-ib/4+ceng34-ib/3+ceng34-ib/2+ceng34-ib/1+ceng34-ib/0+ceng35-ib/ 
7+ceng35-ib/6+ceng35-ib/5+ceng35-ib/4+ceng35-ib/3+ceng35-ib/2+ceng35-i 
b/1+ceng35-ib/0+ceng36-ib/7+ceng36-ib/6+ceng36-ib/5+ceng36-ib/4+ceng36 
-ib/3+ceng36-ib/2+ceng36-ib/1+ceng36-ib/0+ceng37-ib/7+ceng37-ib/6+ceng 
37-ib/5+ceng37-ib/4+ceng37-ib/3+ceng37-ib/2+ceng37-ib/1+ceng37-ib/0+ce 
ng38-ib/7+ceng38-ib/6+ceng38-ib/5+ceng38-ib/4+ceng38-ib/3+ceng38-ib/2+ 
ceng38-ib/1+ceng38-ib/0+ceng39-ib/7+ceng39-ib/6+ceng39-ib/5+ceng39-ib/ 
4+ceng39-ib/3+ceng39-ib/2+ceng39-ib/1+ceng39-ib/0+ceng40-ib/7+ceng40-i 
b/6+ceng40-ib/5+ceng40-ib/4+ceng40-ib/3+ceng40-ib/2+ceng40-ib/1+ceng40 
-ib/0 
Hold_Types = n 
Join_Path = n 
Keep_Files = n 
Mail_Points = e 
Mail_Users = "[email protected]" 
mtime = Wed Sep 3 14:42:13 2014 
Output_Path = nar:/home1/e1893122/10m_data/pKmeans.out 
Priority = 0 
qtime = Wed Sep 3 14:40:27 2014 
Rerunable = True 
Resource_List.cput = 14400:00:00 
Resource_List.mem = 20gb 
Resource_List.nodect = 8 
Resource_List.nodes = 8:ppn=8 
Resource_List.walltime = 9600:00:00 
session_id = 4383 
Variable_List = PBS_O_HOME=/home1/e1893122,PBS_O_LANG=en_US.UTF-8, 
PBS_O_LOGNAME=e1893122, 
PBS_O_PATH=/usr/mpi/gcc/openmpi-1.2.8/bin:/usr/kerberos/bin:/usr/loca 
l/bin:/bin:/usr/bin,PBS_O_MAIL=/var/spool/mail/e1893122, 
PBS_O_SHELL=/bin/bash,PBS_SERVER=nar,PBS_O_HOST=nar, 
PBS_O_WORKDIR=/home1/e1893122/workspace/parallel-kmeans, 
PBS_O_QUEUE=cenga 
etime = Wed Sep 3 14:40:27 2014 
submit_args = pKmeans.pbs 
start_time = Wed Sep 3 14:40:57 2014 
start_count = 1 
+0

我認爲這些文件在您的主目錄執行過程中經常可用,但我可能是錯誤的。它也可以是系統特定的。 – 2014-09-03 13:36:02

+0

PBS/Torque的假脫機目錄的位置是可配置的。 AFAIR,默認是/ var中的某個節點本地目錄。 – 2014-09-03 14:47:07

回答

1

文件的位置取決於扭矩/ PBS的配置方式。有時它們是在作業工作目錄中創建的,有時是在計算節點上創建它們並在作業完成後複製到工作目錄中。如果是這種情況,您應該能夠在PBS/Torque假脫機目錄中找到該輸出。/var/spool/torque/spool和/ var/lib/torque/spool是兩個開始尋找的地方。您也可以解決此通過重定向你的輸出到您指定的文件

mpirun -np 8 ./a.out > /home/neouyghur/job_output 

mpirun -np 8 ./a.out &> /home/neouyghur/job_output 

兩全輸出和錯誤。

您可能還想查看qsub手冊頁中的o,e,j和k開關,因爲它們也會影響輸出的處理方式。

+0

首先感謝您的回覆,但您可能會誤解我的意思。我重定向了輸出文件,但通常在運行結束後我無法訪問它們。 – neouyghur 2014-09-04 08:02:14

+0

我已經發布了我的工作信息,你可以檢查它,並告訴我方向如果可能的話...謝謝.. – neouyghur 2014-09-04 08:13:31

+0

我想我明白了。工作完成後,您可以看到pKmeans.out和pKmeans.err,但您希望在運行過程中看到您的工作正在做什麼。在您的工作正在運行時,它將作業stdout和stderr存儲在您的工作的第一個節點上,即母親上級。在上面的輸出中,它似乎是一臺名爲ceng33-ib的機器。如果您可以ssh到ceng33-ib並在/ var/spool/torque/spool中四處查看,您應該看到稍後複製到主目錄的文件。否則,您可以重新定向輸出,如我的答案中所示,並完全繞過扭矩以用於未來運行。 – chuck 2014-09-04 12:50:06

2

如果您的輸出文件常常是網絡安裝位置,那麼你可以問管理員設置

$spool_as_final_name true 

在媽媽的配置文件。這將使輸出直接寫入其最終位置,而不是被其他地方假脫機,然後複製。

+0

謝謝你,我會做的.. – neouyghur 2014-09-06 10:43:06

相關問題