2016-06-09 44 views
0

我正在嘗試配置一個MPI/OpenACC Fortran代碼。我發現一個網站詳細介紹瞭如何使用MPI here運行nvprof。給出的例子是針對OpenMPI的。但是,我僅限於MPICH,我無法弄清楚這一點。任何人都知道它會是什麼?nvprof與MPICH

+1

你能更具體的什麼是不適合你嗎? – Yossarian

+0

這些示例使用變量OMPI_COMM_WORLD_RANK,如下所示:'-o output。%h。%p。%q {OMPI_COMM_WORLD_RANK}'該變量對於OpenMPI是唯一的。我需要MPICH等同物。謝謝。 –

回答

5

據我所知,nvprofexamples的唯一的OpenMPI特定部分是使用OMPI_COMM_WORLD_RANK獲得每個等級的唯一文件名。根據討論here,您可以使用PMI_RANKPMI_ID代替。

在我的系統,我有以下的小程序

program env 
    implicit none 
    call system("echo $PMI_RANK") 
end program env 

我編譯mpif90 env.f90 -o testmpirun -np 2 ./test運行,並得到

0 
1 

作爲輸出。所以我認爲你可以用-o output.%h.%p.%q{PMI_RANK}代替-o output.%h.%p.%q{OMPI_COMM_WORLD_RANK}

對於cray-mpt mpi庫我相信正確的變量實際上是ALPS_APP_PE而不是。

+0

謝謝!會給它一個鏡頭! –

+1

此外,'-x ENV_VAR1 -x ENV_VAR2 ...'應該由'-envlist ENV_VAR1,ENV_VAR2 ...'替換。 –

+0

@HristoIliev對不起,你失去了我。這是mpi執行命令中的一個標誌嗎?我使用aprun,它沒有這樣的標誌。 –

相關問題