MPICH2 사용할때 mpiexec 명령에서 실행파일은 어떻게 만드나요?

priuss의 이미지

클러스터에서만 프로그램 돌리다가 이번에 PC에서 병렬 계산 해보려고 MPICH2 깔았는데요.

포트란에서 짠 코드를 PC에서 executable 파일로 만드는 방법.(컴파일 하는 방법)

(지금 인텔포트란 쓰고 있는데 PC에서는 컴파일이 안되네요.)

혹시나 해서 클러스터에서 컴파일시켜 만들어놓은 실행파일을 PC로 가져와서 MPICH2 돌려보니깐

launch failed: CreateProcess(C:\Users\priuss\Desktop\2d_ORIGINAL) on 'JaeHyun-PC' failed, error 193 - (null)

이런 에러가 뜨네요. 이건 무슨 에러인가요? ㅠ

이것저것해보고 있는데 혼자 하려니 막히는게 너무 많네요. ㅠㅠ

Aeropark의 이미지

클러스터와 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

priuss의 이미지

댓글 감사합니다 지금 말씀하신 설정은 다 해서 테스트 해보고 있는데요.

간단한 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 경로를 바꿔줘봤는데도 그대로네요 ㅠ

priuss의 이미지

Linker -> Additional Dependencies 이거 역할이 뭔가요? 이거 빼니깐 잘 돌아가네요..;; ㅎ

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.