내 C++ 코드에 MPI를 사용할 계획입니다. 내 컴퓨터에 MPICH2를 설치했습니다. 그러나 나는 MPI에 대해 많이 알지 못하고 읽을만한 자료를 찾을 수 있기를 희망합니다. 전문가가 전문가에게 좋은 materails를 추천 해주기를 바랍니다. 모든 조언을 주시면 감사하겠습니다.C++ 용 MPI 학습을위한 최고의 튜토리얼은 무엇입니까?
답변
저는 C++을 프로그래밍하는 방법을 이미 알고 있고 병렬 프로그래밍에 대한 기본적인 지식을 가지고 있거나 적어도 코드를 병렬화하려는 방법을 알고 있다고 가정합니다.
먼저 Using MPI 책을 확인합니다. MPI 2를 사용하는 것은 MPi-2에서 새로운 비트를 사용하는 방법을 설명하는 책자입니다. 두 권의 책은 MPI 도서관을 쓴 사람들이 썼고 표준화 노력을 이끌었다. MPI 사용에 대한 좋은 점 중 하나는 온라인에서 사용 가능하므로 비용을 지불하지 않고 체크 아웃 할 수 있습니다 :-)
+1 나에게서. 하나의 작은 문제는 문제가 될 수도 있고 아닐 수도 있습니다 : Fortran, C 및 C++ 샘플 코드간에 전환합니다. – stephan
나는 약간 짜증나는 일 이겠지만, 책을 쓰고있을 때 그것을 이해하는 데 큰 해가되지는 않는다는 것에 동의한다. –
Parallel Programming with MPI Peter S. Pacheco의 좋은 소개 책입니다. 이 책은 C를 사용하지만 C++ MPI 바인딩을 사용하면 쉽게 전환 할 수 있습니다. 일부 GET 수동 시작
+1이 책은 MPI 프로그래밍에 대한 훌륭한 소개입니다. –
나는이 책이 MPI 프로그램을 배우는 좋은 방법이라고 생각한다. 내 대답을 찾으면 새로운 MPI 개발에 C++을 사용하는 것을 좋아하지 않는다는 것을 알게 될 것입니다. 비슷한주의를 말하지 않으므로, upvote도 없습니다. 당신은 여전히지지적인 코멘트를 얻었습니다. ;) –
Pacheco의 책은 몇 년 전에 작성되었습니다. 여전히 유용한가요? –
은
LLNL은 a pretty good one있다 LAM/MPI site에서 찾을 수 있습니다.
Mpich2는 C++/C에서 많은 예제가 제공됩니다. 아마도 가장 유명한 것은 ppi를 병렬로 계산하는 cpi입니다. 다른 사람들이 제안한 매뉴얼/책과 함께 프로그램을 읽으십시오. 이렇게하면 실제 작업 코드를 즉시 볼 수 있으며 사물을 가지고 놀기 위해 직접 수정할 수 있습니다.
새로운 개발에 MPI C++ 바인딩을 사용하지 말 것을 권장합니다. 이 프로그램 자체는 C++ 일 수 있지만 C 인터페이스를 MPI 라이브러리에 사용하기위한 추가 노력을 투자합니다.
MPI 포럼은 C++ 바인딩을 사용하지 않습니다. 따라서 MPI의 향후 구현은 아마도 C++에 대한 지원을 중단하게됩니다. 일반적으로 대부분의 구현체는 C++과 관련하여 기능을 제한합니다. 기본은 작동하지만 동적 프로세스 (예 : 스폰), PMPI 인터페이스 등은 지원되지 않습니다.
C 및 포트란 바인딩은 모든 주요 구현에서 충분히 지원되며 앞으로도 계속 지원 될 것입니다.
@ 세미라미스가 지적했듯이 MPI 포럼은 C++ 바인딩을 사용하지 않습니다. 그 이유 중 하나는 boost MPI interface이 훨씬 더 효과적이라는 것입니다.
- 1. Mongoid를 배우기위한 최고의 튜토리얼은 무엇입니까?
- 2. Windows 드라이버 개발 학습을위한 최고의 리소스는 무엇입니까?
- 3. 제네릭 학습을위한 최고의 튜토리얼/장소
- 4. Wordpress 플러그인 개발 학습을위한 최고의 튜토리얼?
- 5. SQLAlchemy에 익숙해지기 가장 쉬운 방법/최고의 튜토리얼은 무엇입니까?
- 6. Boost MPI 용 Autoconf 매크로?
- 7. Objective-C 학습을위한 블로그
- 8. 쉬운 zlib 튜토리얼은 무엇입니까?
- 9. iPhone-SDK를위한 최고의 SQLite 3 튜토리얼은 어디 있습니까?
- 10. XNA 학습을위한 훌륭한 자료는 무엇입니까?
- 11. 학습을위한 최상의 교육용 운영 체제?
- 12. iPhone 용 최고의 Twitter API
- 13. ROR 용 Solr 통합을위한 최고의 플러그인은 무엇입니까?
- 14. C/C++에서 최고의 암호화 라이브러리는 무엇입니까?
- 15. 최상의 MPI 구현은 무엇입니까
- 16. MPI (C++)의 벡터 사용
- 17. Open MPI 송신 구조체 C
- 18. 좋은 Robocode 튜토리얼은 어디에서 찾을 수 있습니까?
- 19. 최고의 C++ 컴파일러?
- 20. Perl 학습을위한 권장 사항은 무엇입니까?
- 21. OSX 용 최고의 프로그래머 용 이미지 편집기
- 22. OOP에 대한 훌륭한 시각적 튜토리얼은 무엇입니까?
- 23. vmr-9를 배우기위한 좋은 튜토리얼은 무엇입니까?
- 24. 학습을위한 공간 반복 (SRS)
- 25. OpenID 용 최고의 Coldfusion 라이브러리
- 26. C++ 정책 기반 클래스 디자인을위한 훌륭한 튜토리얼은 무엇입니까?
- 27. CIL (MSIL) 학습을위한 최상의 리소스는 무엇입니까
- 28. 최고의 GridFS C# 드라이버가 필요하십니까?
- 29. 학습을위한 리소스 제안
- 30. Django + AJAX 학습을위한 리소스
MPI : 병렬 계산을위한 컴퓨터 통신 프로토콜 인 Message Passing Interface. http://en.wikipedia.org/wiki/Message_Passing_Interface를 참조하십시오. –