OpenMPI를 사용하여 병렬 컴퓨팅 작업을 실행하고 싶은 이기종 컴퓨팅 클러스터가 있습니다. 클러스터의 모든 노드가 동일한 실행 파일을 실행할 수있는 것은 아니기 때문에 (일부이기 때문에) 노드 중 일부는 자체 버전의 프로그램을 컴파일하고 Open MPI는 해당 노드에서 실행 파일을 호출해야합니다. 나의 첫 번째 질문은 OpenMPI가 이기종 아키텍처 전반에서 이런 종류의 컴퓨팅을 가능하게하는지 여부이다.특정 노드에 대해 OpenMPI 실행 지정
그렇다면 두 번째 질문은 어떤 노드에서 실행할 실행 파일을 지정하는 방법입니다. 예를 들어 prog1
및 node3
, node4
및 node5
prog1
및 prog2
이 같은 프로그램하지만 mpicc
또는 mpic++
래퍼 컴파일러를 사용하여 다른 아키텍처 용으로 컴파일되어 실행 prog2
을 실행할 수있는 실행 실행할 수 있습니다 node0
, node1
및 node2
말할 수 있습니다. 나는 다음을 수행하는 모든 노드에 병렬로이 프로그램을 실행하고 싶었다면
:
mpirun -n 3 --hosts node0,node1,node2 prog1 : -n 3 --hosts node3,node4,node5 prog2
그렇지 않은 경우, 나는이 효과를 달성하기 위해 무엇을 할 것인가? This 게시물은 이기종 클러스터 컴퓨팅이 OpenMPI에서 지원되지만 OpenMPI는 --enable-heterogeneous
플래그로 빌드해야 함을 나타냅니다. 내 클러스터가 ArchLinux를 실행하고 있고 pacman
으로 OpenMPI를 설치했기 때문에이 작업을 수행하는 방법을 모르겠습니다. 오타가
좋습니다. 따라서 OpenMPI를 해당 플래그로 빌드하고 나면 별도의 실행 파일을 컴파일하고 해당 명령으로 실행할 수 있습니다. –
내 생각에, 어떤 종류의 아키텍처를 계속 실행할 계획입니까? –
클러스터의 일부 노드는 x86 칩셋을 가지고 있으며 일부는 ARM (불쌍한 사람의 클러스터, 더 많은 교육 프로젝트 종류의 것)입니다. –