본문 바로가기

Programming/MPI Programming

MPI란 무엇인가?

1. MPI란 무엇인가?


MPI는 분산메모리 환경에서 데이터를 주고받는 표준 라이브러리를 의미한다.

분산메모리에서는 OPenMP를 사용할수 없고 공유메모리에서 사용


공유메모리조차 많아질경우 네트워크로 연결되어 다른메모리를 같이 쓰는 분산메모리 환경에서 병렬컴퓨팅 전략



1.1 분산메모리에서 컴퓨팅 전략

- 네트워크로 연결되어 다른 메모리를 같이 쓰는 메모리

- MPI에서 기본적으로 모든 프로세서는 독립적인 메모리를 가지고 있음

- 실제 논리적으로 분선데이터, 분리데이터라는 게 기본적인 과정임


1.2 MPI

 (1) Message Passing Interface

 (2) 메시지 패싱 병렬 프로그래밍을 위해 표준화된 데이터 통신 라이브러리  

 (3) 분산메모리에서 프로세스들이 데이터를 서로 공유하기 위해 메시지(데이터)를 송신, 수신하여 통신하는 방식

    - 병렬화를 위한 작업 할당, 데이터 분배, 통신의 운영 등 모든것을 프로그래머가 담당

    - 다양한 하드웨어 플랫폼에서 구현 가능


1.3 MPI 프로그램의 기본 구조


MPI_INIT

MPI_COMM_SIZE

MPI_COMM_RANK

MPI_SEND

MPI_RECV

MPI_FINALIZE




반응형
LIST