현재 큰 프로젝트의 일부로 작은 유틸리티 라이브러리를 구축 중입니다. OpenMPI는 잘 문서화 된 API 라이브러리를 가지고 있지만 노드 사이의 낮은 수준의 통신에 대해서는 약간 당황 스럽습니다. 당신의 알고리즘을 작성할 때 나머지 부분과 통신하는 각각의 계산을 수행 할 것으로 예상되는 모든 노드에 걸쳐이를 배포하고 알고리즘의 "글로벌"MPI 등급 (알고리즘에 정의 된대로)을 기반으로 알고리즘의 일부분을 실행하고 모든 노드가 앞뒤로 동기화됩니다. 그러나, 전 세계를 따옴표로 묶은 이유는 OpenMPI가 IP 수준에서 통신한다는 것입니다. 따라서 이미 긴 실행 알고리즘이 있지만, MPI 프로세스를 실행하지 않고 유휴 상태에있는 노드가 있습니다. MPI를 실행하면 알고리즘을 사용하여 MPI_COMM_WORLD에 가입하고 전체 네트워크 토폴로지의 일부가되거나 MPI_COMM_WORLD에 해당 노드를 만들기 위해 필요한 "부두"가있을 것입니다. 노드가 특정 알고리즘에 대한 MPI_COMM_WORLD의 일부가 될 수 있다면 어떻게이 새로운 노드를 등록/식별 할 수 있습니까?OpenMPI 노드 및 네트워크 토폴로지
읽기 참조 자료도 유용합니다.
많은 감사!
tl; dr은 MPI_COMM_WORLD에서 핫 스왑 가능한 MPI 노드입니까?
빠른 응답을위한 thnx; 나는 불가리아에서 너무 btw이다, 나의 이름은 Georgi 다 :) – mayotic
행복한 휴일 그 다음 :) –
나는 통신 계획에 관해서 다른 빠른 질문이있다; 특정 프로세스에서 MPI_COMM_WORLD에서 선택된 노드의 그룹 커뮤니케이터를 만드는 경우 해당 프로세스는 MPI_Group 핸들을 소유하거나이 그룹의 일부인 모든 노드에서 생성되는 프로세스입니까? – mayotic