2016-06-09 1 views
0

MPI/OpenACC Fortran 코드를 프로파일 링하려고합니다. MPI here으로 nvprof를 실행하는 방법을 자세히 설명한 사이트를 발견했습니다. 주어진 예제는 OpenMPI를위한 것입니다. 그러나, 나는 MPICH에 국한되어 있으며 그와 동등한 것을 이해할 수 없다. 누구든지 그게 뭔지 알아?nvprof with 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_RANK 또는 PMI_ID을 대신 사용할 수 있습니다. 내 시스템에서

나는 다음과 같은 작은 프로그램

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

내가 mpif90 env.f90 -o test로 컴파일하고 mpirun -np 2 ./test으로 실행하고 출력으로

0 
1 

을받을에게 있습니다. 그래서 -o output.%h.%p.%q{OMPI_COMM_WORLD_RANK}-o output.%h.%p.%q{PMI_RANK}으로 바꿀 수 있다고 생각합니다.

cray-mpt mpi 라이브러리의 경우 정확한 변수는 사실 ALPS_APP_PE입니다.

+0

감사! 그것을 줄 것이다! –

+1

또한'-x ENV_VAR1 -x ENV_VAR2 ...'는'-envlist ENV_VAR1, ENV_VAR2, ... '로 대체되어야합니다. –

+0

@HristoIliev 죄송합니다, 당신이 나를 잃어 버렸습니다. 이것은 mpi 실행 명령의 플래그입니까? 나는 aprun을 사용하고 그런 깃발이 없다. –