본문 바로가기

병렬7

[PBS] option '-V' 는 언제 사용해야하나.. ※ -V 옵션 정리 - 배치 시스템에 현 터미널에 설정된 환경변수를 모두 기억하도록 하는 옵션 - 대화형 작업과 같은 작업에 권장 - 프로그램을 공유해서 사용하는 것이 어렵고, 되려 일을 더디게 만들 수 있음 - 간간히 프로그램 간 충돌이 일어날 수 있음 - 디버깅 시 설정된 환경변수를 history 까지 뒤져가며 하나하나 찾아야할 수 있음 ※ '-V' 는 언제 사용해야하나.. -V 옵션은 배치 시스템에 현 터미널에 설정된 환경변수를 모두 기억하도록 한다. 예를 들어 기 설정된 환경변수 OMP_NUM_SREADS를 작업 제출(qsub)시 유지되게 하고 싶은 경우 -V옵션을 사용하면 된다. 옵션은 qsub -V [].sh 과 같이 플래그를 이용해 사용할 수 있고, 배치 스크립트에서 옵션을 줄 수도 있다. .. 2021. 1. 5.
개념-2 : Data parallelism vs. Task parallelism 본 포스트에서는 4가지* 중 프로그래밍 관점에서 다룰 수 있는 Data parallelism과 Task parallelism에 대해서 다룬다. *병렬화는 Bit parallelism과 Instruction parallelism 그리고 Data parallelism과 Task parallelism로 4가지로 나뉜다. Data Parallelism은 다수의 자료들을 다수의 수행 주체(Processor)가 나누어 병렬적으로 처리하는 방법이다. 플린의 분류법(Flynn’s taxonomy)은 병렬적으로 수행되는 명령의 수와, 데이터 간의 관계를 정리한 분류로 이해하는데 도움이 된다. 일반적으로 SIMD(Single Instruction Multiple Data)나 MIMD(Multiple Instruction .. 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.