mpi 병렬 프로그래밍 예제

MPI는 프로세서가 아닌 프로세스의 개념을 사용합니다. 프로그램 복사본은 MPI 런타임에 의해 프로세서에 매핑됩니다. 이러한 의미에서 병렬 컴퓨터는 1개의 물리적 프로세서또는 N이 사용 가능한 총 프로세서 수 또는 그 사이에 있는 프로세서 수인 N에 매핑할 수 있습니다. 최대 병렬 속도를 높이기 위해 더 많은 물리적 프로세서가 사용됩니다. 이 예제에서는 해당 동작을 세계 N의 크기로 조정하므로 사용 가능한 절대 동시성 양에 따라 런타임 결정이 달라질 수 있지만 각 크기 변화에 대해 컴파일하지 않고 런타임 구성으로 확장하려고 합니다. 병렬 코드의 효율성은 사용 가능한 모든 처리 능력을 사용할 수 있는 정도입니다. 클라이언트가 계산을 수행하기 위해 대부분의 시간을 보내는 코드는 단일 CPU에서 더 잘 수행될 수 있습니다. 네트워크 요구 사항이 매우 높은 코드는 단일 CPU에서 더 잘 실행될 수 있습니다. t(p)가 p 프로세서에서 주어진 문제를 해결하는 데 필요한 시간을 측정하는 경우, MPI에 의해 주어진 병렬 코드의 효율은 주요 표준 기관에 의해 허가되지 않는다; 그럼에도 불구하고 분산 메모리 시스템에서 실행되는 병렬 프로그램을 모델링하는 프로세스 간의 통신에 대한 사실상의 표준이 되었습니다. 컴퓨터 클러스터와 같은 실제 분산 메모리 슈퍼컴퓨터는 이러한 프로그램을 실행하는 경우가 많습니다. 병렬 프로그래밍의 목적은 하나의 큰 작업을 수행하고 독립적으로 수행 할 수있는 작은 작업의 숫자로 나누기위한 것입니다. 문제는 가장 복잡한 작업은 서로 완전히 독립적 인 작업으로 쉽게 나눌 수 없다는 것입니다. 현재 표준에는 메시지 전달을 강조하고 정적 런타임 환경을 강조하는 버전 1.3(일반적으로 축약된 MPI-1)의 여러 버전이 있으며 병렬 I/O, 동적 프로세스 관리 및 동적 프로세스 관리 및 원격 메모리 작업,[10] 및 MPI-3.1(MPI-3)을 포함하며, 여기에는 비차단 버전과 일방적 연산에 대한 확장이 포함된 집단 작업에 대한 확장이 포함됩니다.

[11] MPI-2의 LIS는 500개 이상의 함수를 지정하고 ISO C, ISO C++및 포트란 90에 대한 언어 바인딩을 제공합니다. 또한 개체 상호 운용성이 추가되어 프로그래밍을 보다 쉽게 전달하는 혼합 언어 메시지가 허용되었습니다.

Dieser Eintrag wurde veröffentlicht in Allgemein. Lesezeichen auf den Permanentlink.