답변

2

MPI를 배우고 싶다면 한 대의 PC에서 할 수 있습니다 (대부분의 최신 MPI는 로컬 통신을위한 메모리 기반 공유 메모리를 가지고 있으므로 추가 구성이 필요하지 않습니다). 그래서 인기있는 MPI (MPICH/OpenMPI)를 리눅스 박스에 설치하고 시작하십시오! 프로그램이 CPU 바운드가된다면 컴퓨터의 프로세서 코어 수와 동일한 작업 크기 만 실행하는 것이 좋습니다.

편집 : 가상화 질문으로 태그를 지정했기 때문에 여러 VM (예 : VMPlayer 또는 VirtualBox)에서 MPI를 실행하고 테스트를 실행할 수도 있습니다. 이렇게하려면 inter-VM 네트워킹을 구성해야합니다 (가상화 소프트웨어에 따라 다름).

무엇을 선택 하든지 (단일 PC 대 VM) MPI 프로그램을 작성하는 방식은 변경되지 않습니다. 이것은 MPI를 배우기위한 것이기 때문에 첫 번째 접근법 (하나의 PC에서 여러 MPI 프로그램 실행)을 제안하십시오.

+0

실제 클러스터와 같이 연결된 여러 프로세서를 처리하는 추가 방법을 배우고 싶습니다. VM을 사용하여이 작업을 수행 할 수 있다고 말하고 싶습니까? 나는 256 개의 프로세서 클러스터와 리눅스에서의 몇 가지 명령을 사용했고, 만들고 싶다. 4 컴퓨터 클러스터가 리눅스에서이를 구성하는 법을 배우고, 너트와 볼트는 이것들과 관련이있다. 당신의 대답은 –

+0

입니다. 당신이 말하는 것은 MPI와는 다른 것처럼 보입니다. MPI는 병렬 코드 작성을 도와주는 프로그래밍 라이브러리입니다. MPI에는 여러 가지 구현이 있으며, 이들을 설정하는 방법이 상당히 다릅니다. 프로그래밍에 익숙하지 않다면 MPI 프로그램에서 가장 일반적으로 사용되는 언어 인 C보다 쉬운 언어를 사용해보십시오. 파이썬 버전은 https://bitbucket.org/bromer/pupympi/wiki/Home입니다. – Jan

1

MPI를 사용하여 통신하는 응용 프로그램의 여러 복사본을 실행하기 위해 VM을 실행할 필요가 없습니다.

MPI는 응용 프로그램의 여러 복사본을 시작하여 주어진 단일 노드에서 가상 클러스터를 도울 수 있습니다.

하나의 장점은 VM에서 실행되는 것입니다. (이미 언급했듯이) 샌드 권투를 제공합니다. 응용 프로그램을 만드는 경우 모든 문제는 응용 프로그램 복사본을 실행중인 VM에만 제한됩니다.

관련 문제