2014-11-10 2 views
0

저는 아치 리눅스를 사용하고 있습니다. Windows에서 msmpi를 사용하기 전에 특정 컴파일러를 제공 할 필요가 없었습니다. 일반적인 라이브러리 인 플래그 만 포함 시켰습니다. openmpi가 아치 리눅스에서 유일하게 사용 가능한 구현 인 것처럼 보입니다. 그렇지 않습니까? 그리고 이유는 무엇입니까 (심지어 이해가 gcc 주위에 래퍼) 특수 목적을 사용하여 mpcc 컴파일러를 사용해야 할 이유가 무엇입니까? 나는 항상 랩퍼를 사용하지 않는 mpicc를 제거하고 openmpi 구현을 사용하는 방법을 알고 싶습니다.왜 mpicc를 사용해야합니까?

+0

mpicc 스크립트를보고 무엇이하고 있는지 이해할 수 있습니다. 그런 다음 최소한의 잘 이해 된 기능으로 나만의 런처 스크립트를 만드십시오. – HEKTO

+0

@HEKTO 사실, mpicc는 스크립트가 아닌 바이너리입니다. – user14416

+0

예, 알겠습니다 - 내 컴퓨터에서 바이너리 "opal_wrapper"에 심볼릭 링크합니다. 너를 혼란스럽게해서 미안해. – HEKTO

답변

0

첫째, Open MPI가 Linux에서 사용할 수있는 유일한 구현은 아닙니다. 또한 MPICH, Intel MPI 등을 사용할 수도 있습니다.

둘째, 모든 MPI 구현에 대해 컴파일러 래퍼를 사용할 필요가 없으며 그렇게하면 코드를 간단하게 컴파일 할 수 있습니다. 원하는 경우 래퍼를 풀고 명령 줄에 모든 적절한 항목을 넣을 수 있습니다. 구현에 따라 다양한 방법이 있습니다.

MPICH의 경우 mpichversion을 사용하면 MPICH가 컴파일 된 방법과 mpicc을 호출 할 때 사용되는 플래그를 표시 할 수 있습니다.

업데이트 : 나는 이것을 원래 지적해야합니다. 래퍼를 사용하는 것이 좋습니다. 때로는, 래퍼가 사용하지 않는 모든 것을 당신을 위해 깨뜨릴 수있는 방식으로 래퍼가하는 일을 구현 방식이 바꿀 것입니다. 그래서 그렇게하지 않는 아주 좋은 이유가 없다면, 그것을 사용하는 것이 훨씬 안전합니다. 당신이 그들을 신뢰하지 않는다면, 그냥 수시로 체크 인하십시오. 모든 코드는 오픈 소스입니다.

관련 문제