MPICH2 사용할때 mpiexec 명령에서 실행파일은 어떻게 만드나요?
글쓴이: priuss / 작성시간: 금, 2011/09/02 - 12:05오전
클러스터에서만 프로그램 돌리다가 이번에 PC에서 병렬 계산 해보려고 MPICH2 깔았는데요.
포트란에서 짠 코드를 PC에서 executable 파일로 만드는 방법.(컴파일 하는 방법)
(지금 인텔포트란 쓰고 있는데 PC에서는 컴파일이 안되네요.)
혹시나 해서 클러스터에서 컴파일시켜 만들어놓은 실행파일을 PC로 가져와서 MPICH2 돌려보니깐
launch failed: CreateProcess(C:\Users\priuss\Desktop\2d_ORIGINAL) on 'JaeHyun-PC' failed, error 193 - (null)
이런 에러가 뜨네요. 이건 무슨 에러인가요? ㅠ
이것저것해보고 있는데 혼자 하려니 막히는게 너무 많네요. ㅠㅠ
Forums:
MPI 헤더와 라이브러리를 이용하여 컴파일 하셔야 합니다.
클러스터와 PC의 환경(OS)와 MPI 종류 (MPICH2 / OpenMPI / MS-MPI 등) 등이 다를 경우 컴파일을 다시 하셔아 합니다.
윈도용 mpich2를 까셨다면, MPICH2 폴더내 include와 lib 폴더가 있습니다. 이 폴더 위치 및 라이브러리 파일을 인텥 포트란 컴파일시 옵션을 주셔야 합니다.
비주얼 스튜디오 IDE를 사용하시는 경우 Project property에서 Fortran -> General 내 Additional Include Directories에 (MPICH2 경로)\include 를 설정하시고
Linker -> General 내 Additional library Directories에 (MPICH2 경로)\lib 설정하시고
Linker -> Input 내 Additional Dependencies에 fmpich2.lib을 설정하시면
MPI 병렬 코드를 컴파일 하실 수 있습니다.
IDE 사용하시지 않는 경우 위 3개의 설정 (Include / lib 폴더 / lib 이름)을 ifort 명령어 옵션을 지정해주시면 됩니다.
Life is like a turbulent flow
감사합니다. ㅠㅠ
댓글 감사합니다 지금 말씀하신 설정은 다 해서 테스트 해보고 있는데요.
간단한 mpi프로그램
program main
include 'mpif.h'
double precision sum, step, pi, x, tsum
integer myrank, nprocs, ierr, is, ie
call mpi_init(ierr)
call mpi_comm_size(mpi_comm_world, nprocs, ierr)
call mpi_comm_rank(mpi_comm_world, myrank, ierr)
write(*,*) myrank
call mpi_finalize(ierr)
end
돌려봤는데
fatal error LNK1147: '/VERSION:C:\Program' 옵션에 숫자가 잘못 지정되었습니다.
warning : locally defined symbol __imp_MPIFCMB7 imported x64\Debug\main.obj
에러랑 워닝 메세지가 뜨네요. 에러가 난것은 링커 지정이 잘못된 건가 싶어서 다른 linker->input 경로를 바꿔줘봤는데도 그대로네요 ㅠ
Linker -> Additional Dependencies 이걸 빼니깐 돌아가네요.
Linker -> Additional Dependencies 이거 역할이 뭔가요? 이거 빼니깐 잘 돌아가네요..;; ㅎ
댓글 달기