나는 병렬 프로그래밍에 익숙하지 않다. 하지만 두 응용 프로그램을 같은 응용 프로그램에서 사용할 수 있는지 궁금합니다. 어떤 이점이 있습니까? 할 수 있니? 아무도이 질문을하지 않는 것 같습니다. OpenMP와 MPI를 결합하는 것과 비슷한 질문이 있습니다. 그리고 일반적인 대답은 의존에 대한 예입니다. 하지만 저는 MPI에 익숙하지 않습니다.부스트 결합 :: 스레드와 OpenMP
1
A
답변
2
MPI는 의미에서 OpenMP와 직각입니다. MPI는 각 MPI 프로세스가 다른 MPI 프로세스 메모리에 직접 액세스 할 수있는 방법이없는 분산 메모리 시스템을 프로그래밍하는 패러다임입니다 (예 : 다른 컴퓨팅 노드에서 실행되는 다른 프로세스). 요즘 대부분의 컴퓨팅 노드는 멀티 코어이기 때문에 OpenMP 또는 다른 스레딩 방식을 사용하여 각 노드를 프로그래밍하고 MPI를 사용하여 노드간에 메시지를 교환 할 수 있습니다. OpenMP와 boost:threads
은 모두 스레딩 패러다임입니다. 일반 스레드 작업을 수행하는 데 boost::threads
을 사용하고 특정 데이터 병렬 작업의 경우 개념 상 더 단순한 OpenMP를 사용하는 경우를 제외하고는 혼합하지 않아도됩니다.
관련 문제
- 1. 부스트 스레드와 "절전"
- 2. 부스트 스레드를 분리하거나 결합 할시기는 언제입니까?
- 3. OpenMP 스플릿 조인트 모델
- 4. 스레드와 블록의 한계와 스레드와 블록의 실행
- 5. 스레드와 동기화
- 6. 스레드와 ProgressDialog
- 7. OpenMP 질문
- 8. OpenMP - 섹션
- 9. OpenMP 및 Pthreads에서 잠금 사용
- 10. equal_range, 위/부스트 multi_index_container의 composite_key에서 서로 결합 낮은
- 11. 부스트 asio udp 소켓으로 결합 된 데이터 그램
- 12. 부스트 범위 알고리즘 결합, 예. boost :: copy and boost :: remove_if
- 13. 스레드의 임의 번호 생성 openmp
- 14. 부스트 스레드 및 부스트 Asio
- 15. OpenMP 스레드 풀 경합을 처리하는 방법
- 16. 부스트 스레드 라이브러리를 컴파일하는 방법
- 17. PHP의 스레드와 비슷한 것
- 18. iOS - 스레드와 경고 표시
- 19. 스레드와 스레드 풀의 차이점
- 20. P 스레드와 C 언어
- 21. 스레드와 프로세스에 관한 질문입니다.
- 22. 스레드와 동기화 예제
- 23. 스레드와 프로세스 ID는 고유합니까?
- 24. Perl 스레드와 해시 키
- 25. posix 스레드와 O3 최적화
- 26. 파이썬 스레드와 데몬
- 27. 스레드와 ProcessBuilder 사용하기
- 28. 스레드와 JMS 트랜잭션
- 29. 스레드와 처리기의 차이점
- 30. 델파이 - 스레드와 FindFirst에 기능
MPI로 받으십시오. 멀티 코어 노드에 관심이 있습니다. 기술적으로 boost :: threads는 OpenMP보다 많은 기능을 제공하지만 후자는 단순함의 이점을 가지고 있습니다. 그리고 둘 다 사용하는 유일한 이유는 openmp가 오래된 singlecore 코드를 빠르게 "확장"할 수 있다는 것입니다. Boost :: Threads는 프로그램의 새롭고 쓰여지지 않은 부분을 도울 것입니다. – Palax