안녕하세요. 이번에는 "병렬 프로그래밍 이야기"라는 카테고리로 글을 쓰게 되었습니다. 말 그대로 병렬 프로그래밍에 관련된 자료를 정리할 예정입니다.

병렬 프로그래밍이라는 단어가 별로 익숙치 않으시는 분도 많으실 거 같은데요, 말 그대로 '한 작업을 여러 컴퓨터에게 나누어 일을 시키는 작업'입니다. 그냥 알아서 나눠서 시키면 되지 않을까? 란 생각을 하시는 분도 계실지 모르지만, 이 작업이 그렇게 간단하게 알아서 되는 작업은 아닙니다. 직접 병렬화 코드를 짜 주어야 합니다.

이 때, 병렬화를 위해서 자주 쓰이는 몇가지 언어가 있습니다. OpenMP, OpenMPI, OpenACC 등이 있지요. 저는 그 중에서도 MPI에 대해 정리를 해 볼 생각입니다.


왜 그런고 하니, 제가 병렬 프로그래밍 관련 자료를 열심히 찾아보던 중에, 한글로 된 MPI 관련 자료가 그리 많지 않다는 사실을 깨달아서 직접 정리를 해 보면서 공부도 하자! 라는 생각에 시작하였습니다.

메시지 전달 인터페이스(Message Passing InterfaceMPI)는 주로 C와 Fortran에서 쓰이는 병렬화 프로그래밍입니다. 각각의 프로세스를 관리할 수 있고, 각 프로세스마다 통신을 하며 작업을 할 수 있게 되어있죠.

먼저 MPI 시스템의 기본 구조를 정리하는 것 부터 시작하여, 점 대 점 통신, 집합 통신, 토폴로지 등의 내용을 정리할 예정이구요, 예제들도 이곳저곳에서 찾아보며 작성해 볼 생각입니다.

그럼 같이 빢치는재밌는 병렬 프로그래밍을 공부해 봅시다!

+ Recent posts