본문 바로가기

MPI9

OpenMPI Error 1. 시스템 환경 (System Env.) OS Version : Linux / CentOS 6.7 MPI : OpenMPI-3.1.6 2. 오류 내용 (error) [$ mpirun -np 2 ./model.x] 입력시 아래와 같은 내용이 출력 When i command [$ mpirun -np 2 ./model.x] on terminal, the outputs below were printed. ------------------------------------------------------------------------- Failed to create a completion queue (CQ): Hostname: head Requested CQE: 16384 Error: Cannot allocat.. 2020. 6. 5.
개념-3: MPI란? 포트란으로 병렬컴퓨팅 배우기 ←링크 ■ Message Passing ________________________ MPI (Message Passing Interface)를 이해하기에 앞서, 기본 개념이 되는 메시지 전달(Message Passing)이 뭔지부터 알아야 한다. 메시지 전달이란 정보를 동일한 주소공간을 공유하지 않더라도, 프로세서 간 데이터를 주고받는 통신을하므로 동기화된 작업을 할수 있도록하는 방법이다. 그러니 컴퓨터들이 네트워크에 연결되어있는 상황과 같은 여러자원을 동시에 사용하는 상황에 유용하겠다. 어떤 프로세서에서 타 컴퓨터의 메모리에 직접 통신하는게 아니라, 메시지라는 간접적인 방법을 통해 통신하는 것이다. 음, 그림으로 설명하자면 이런 느낌이다. 프로세서1 에서 어떤 메시지를 보내.. 2020. 3. 24.
6. 유도데이터타입2(STRUCT), 예제로 배우기 MPI 튜토리얼을 제공하는 원본게시글을 따라가며 이해한 내용들을 기록한 문서이다. 포트란으로 병렬컴퓨팅 배우기 ←링크 VI MPI 유도데이터타입 _____________________ - Derived Data Type. 코딩을 하다보면, 데이터를 읽어 올때 내장 된 데이터 타입 외의 데이터 구조를 사용하면 편한 경우가 있다. 예를 들어 1~100을 1~10, 10 단위로 나눠야하는 상황(1~10, ... , 91~100)을 생각해 보자. 이런경우 루프를 통해 정수를 하나씩 읽어오기에는 다소 비효율적이다. 그보다 정수 10개짜리 리스트 형식을 정의해 한번에 10개씩 읽어오면 코드는 훨씬 간결하해지고 가독성이 좋아질 수 있다. 데이터 구조를 지정해주는 기법이 MPI 표준에도 존재한다. MPI 기본 데이터 .. 2020. 3. 24.
5. 유도데이터타입(CONTIGUOUS), 예제로 배우기 MPI 튜토리얼을 제공하는 원본게시글을 따라가며 이해한 내용들을 기록한 문서이다. 포트란으로 병렬컴퓨팅 배우기 ←링크 V MPI 유도데이터타입 _____________________ - Derived Data Type. 코딩을 하다보면, 데이터를 읽어 올때 내장 된 데이터 타입 외의 데이터 구조를 사용하면 편한 경우가 있다. 예를 들어 1~100을 1~10, 10 단위로 나눠야하는 상황(1~10, ... , 91~100)을 생각해 보자. 이런경우 루프를 통해 정수를 하나씩 읽어오기에는 다소 비효율적이다. 그보다 정수 10개짜리 리스트 형식을 정의해 한번에 10개씩 읽어오면 코드는 훨씬 간결하해지고 가독성이 좋아질 수 있다. 데이터 구조를 지정해주는 기법이 MPI 표준에도 존재한다. MPI 기본 데이터 유.. 2020. 3. 24.
4. 집합통신-2, 예제(수치적분)로 배우기 이 글은 점대점 통신(블로킹과 논블로킹)에 대한 이해를 바탕으로 집합 통신(Collective communication)의 예제를 다뤘다. MPI 코드로 수치적분을 구현한 원본게시글을 따라가며 이해한 내용들을 기록한 문서이다. 포트란으로 병렬컴퓨팅 배우기 ←링크 IV MPI 집합통신과 수치적분 - Numerical Integration wtih MPI Collective Communications. MPI 집합통신 예제로 평범하고 하찮은(원본이 이렇게 소개한다.) 그리고 간단한 알고리즘인 수치적분법을 가져왔다. 부분적분을 각 프로세서에서 진행하고, 그 합을 다시 마스터 프로세서에서 수행하는 것으로 적분이 완료되는 알고리즘이다. 코드만 보고 알고리즘 이해가 어렵다면, 앞 포스트의 수치적분 개념설명(링크)을.. 2020. 3. 24.
3. 집합통신, 예제(수치적분)로 배우기 이 글은 점대점 통신(블로킹과 논블로킹)에 대한 이해를 바탕으로 집합 통신(Collective communication)의 예제를 다뤘다. MPI 코드로 수치적분을 구현한 원본게시글을 따라가며 이해한 내용들을 기록한 문서이다. 포트란으로 병렬컴퓨팅 배우기 ←링크 III MPI 집합통신과 수치적분 - Numerical Integration wtih MPI Collective Communications. MPI 집합통신 예제로 평범하고 하찮은(원본이 이렇게 소개한다.) 그리고 간단한 알고리즘인 수치적분법을 가져왔다. 부분적분을 각 프로세서에서 진행하고, 그 합을 다시 마스터 프로세서에서 수행하는 것으로 적분이 완료되는 알고리즘이다. 코드만 보고 알고리즘 이해가 어렵다면, 앞 포스트의 수치적분 개념설명(링크).. 2020. 3. 24.