2010-02-16 2 views
22

내 C++ 코드에 MPI를 사용할 계획입니다. 내 컴퓨터에 MPICH2를 설치했습니다. 그러나 나는 MPI에 대해 많이 알지 못하고 읽을만한 자료를 찾을 수 있기를 희망합니다. 전문가가 전문가에게 좋은 materails를 추천 해주기를 바랍니다. 모든 조언을 주시면 감사하겠습니다.C++ 용 MPI 학습을위한 최고의 튜토리얼은 무엇입니까?

+0

MPI : 병렬 계산을위한 컴퓨터 통신 프로토콜 인 Message Passing Interface. http://en.wikipedia.org/wiki/Message_Passing_Interface를 참조하십시오. –

답변

14

저는 C++을 프로그래밍하는 방법을 이미 알고 있고 병렬 프로그래밍에 대한 기본적인 지식을 가지고 있거나 적어도 코드를 병렬화하려는 방법을 알고 있다고 가정합니다.

먼저 Using MPI 책을 확인합니다. MPI 2를 사용하는 것은 MPi-2에서 새로운 비트를 사용하는 방법을 설명하는 책자입니다. 두 권의 책은 MPI 도서관을 쓴 사람들이 썼고 표준화 노력을 이끌었다. MPI 사용에 대한 좋은 점 중 하나는 온라인에서 사용 가능하므로 비용을 지불하지 않고 체크 아웃 할 수 있습니다 :-)

+1

+1 나에게서. 하나의 작은 문제는 문제가 될 수도 있고 아닐 수도 있습니다 : Fortran, C 및 C++ 샘플 코드간에 전환합니다. – stephan

+0

나는 약간 짜증나는 일 이겠지만, 책을 쓰고있을 때 그것을 이해하는 데 큰 해가되지는 않는다는 것에 동의한다. –

6

Parallel Programming with MPI Peter S. Pacheco의 좋은 소개 책입니다. 이 책은 C를 사용하지만 C++ MPI 바인딩을 사용하면 쉽게 전환 할 수 있습니다. 일부 GET 수동 시작

+0

+1이 책은 MPI 프로그래밍에 대한 훌륭한 소개입니다. –

+0

나는이 책이 MPI 프로그램을 배우는 좋은 방법이라고 생각한다. 내 대답을 찾으면 새로운 MPI 개발에 C++을 사용하는 것을 좋아하지 않는다는 것을 알게 될 것입니다. 비슷한주의를 말하지 않으므로, upvote도 없습니다. 당신은 여전히지지적인 코멘트를 얻었습니다. ;) –

+0

Pacheco의 책은 몇 년 전에 작성되었습니다. 여전히 유용한가요? –

2

Mpich2는 C++/C에서 많은 예제가 제공됩니다. 아마도 가장 유명한 것은 ppi를 병렬로 계산하는 cpi입니다. 다른 사람들이 제안한 매뉴얼/책과 함께 프로그램을 읽으십시오. 이렇게하면 실제 작업 코드를 즉시 볼 수 있으며 사물을 가지고 놀기 위해 직접 수정할 수 있습니다.

5

새로운 개발에 MPI C++ 바인딩을 사용하지 말 것을 권장합니다. 이 프로그램 자체는 C++ 일 수 있지만 C 인터페이스를 MPI 라이브러리에 사용하기위한 추가 노력을 투자합니다.

MPI 포럼은 C++ 바인딩을 사용하지 않습니다. 따라서 MPI의 향후 구현은 아마도 C++에 대한 지원을 중단하게됩니다. 일반적으로 대부분의 구현체는 C++과 관련하여 기능을 제한합니다. 기본은 작동하지만 동적 프로세스 (예 : 스폰), PMPI 인터페이스 등은 지원되지 않습니다.

C 및 포트란 바인딩은 모든 주요 구현에서 충분히 지원되며 앞으로도 계속 지원 될 것입니다.

4

@ 세미라미스가 지적했듯이 MPI 포럼은 C++ 바인딩을 사용하지 않습니다. 그 이유 중 하나는 boost MPI interface이 훨씬 더 효과적이라는 것입니다.

관련 문제