parallel programming 9

How to make multi-thread support galaxy cluster using grid engine and DRMAA

1개의 마스터 노드와 2개의 worker 노드로 구성된 클러스터를 qhost 명령을 통해 현재 노드들의 상태를 확인 할 수 있습니다. 각 노드당 CPU의 갯수(NCPU)는 4개이며 노드당 메모리는 7.8G(MEMTOT)임을 확인 할 수 있습니다. root@biomaster:/BIO# qhost HOSTNAME ARCH NCPU LOAD MEMTOT MEMUSE SWAPTO SWAPUS ------------------------------------------------------------------------------- global - - - - - - - bioworker1 linux-x64 4 0.01 7.8G 174.4M 929.0M 8.1M bioworker2 linux-x64 4 0.01 ..

고성능 컴퓨팅 환경에서의 병렬 프로그래밍의 성능 최적화 3

정작 글의 내용은 별로 없는데 벌써 3편이네요, 저번 2편은 비공개글로 한 다음에 몇일에 걸쳐서 수정을 한 후 오늘 공개로 변경했는데 이글은 과연 언제쯤 공개로 될지 ^^ 2편에 이어서 하드웨어 카운터를 기반으로 성능 분석을 가능하게 해주는 PAPI에 대해서 계속 알아보겠습니다. (1) PAPI(Performance API)의 설치 PAPI가 지원하고 있는 있는 하드웨어와 운영체제는 거의 모두 지원하고 있다고 보시면 되겠습니다. 여기서는 당연히 X86기반의 리눅스 커널 2.6.X를 기준으로 작성하겠습니다. PAPI를 홈페이지에 다운로드 하고 설치하기 위해서는 커널에 대한 패치가 선행되어야 합니다. (2) PAPI를 위한 커널 패치 Complete installation instructions are pr..

고성능 컴퓨팅 환경에서의 병렬 프로그래밍의 성능 최적화 2

들어가는말 단지 이미 만들어진 병렬 프로그램에 대해서 성능을 향상 시킨다는 의미만이 아니라 기존의 시리얼 프로그램에 대해서 병렬화하거나 병렬화 프로그램을 새롭게 작성하고자 할 경우 성능최적화, 성분분석, 프로그래밍 관련도구에 대한 지식은 많은 도움이 된다. ^^ 될 것이다. 지금까지의 병렬 프로그래밍 관련 포스트들은 다음과 같다. 리눅스 병렬 프로그래밍 - mpich 리눅스 병렬 프로그래밍 - pbs & loadleveler 고성능 컴퓨팅 환경에서의 병렬 프로그래밍의 성능 최적화 실제 병렬프로그래밍 기법이나, 병렬프로그램을 수행하기 위한 환경은 윗글들을 보면 도움이 될것이다. 여기서는 꼭 병렬 프로그램이 아니더라도 성분분석과 관련된 부분에 대해 언급하고자 한다. 솔직히 위에서 언급한 내용은 표면상의 이유..

리눅스 병렬 프로그래밍 - pbs & loadleveler

이제 mpi 프로그래밍을 사용할 수 있는 환경이 마련되었다. 즉, 리눅스에서 병렬 프로그래밍이 가능해 졌다는 것이다. 그럼 이제 병렬 S/W를 만들고 실제 수행할 때 좀 더 심플하게 수행하도록 pbs나 loadleveler등의 스케줄러를 통해 실제 mpi 프로그램을 실행하도록 한다. loadleveler script for parallel job (parallel.cmd) [code c] #!/bin/bash # @ job_type = parallel # @ class = p_normal # @ input = /dev/null # @ step_name = parallel # @ output = $(step_name).$(cluster).out # @ error = $(step_name).$(cluster..

리눅스 병렬 프로그래밍 - mpich

리눅스에서 클러스터를 이용한 병렬프로그래밍(mpich)에 대한 내용은 인터넷을 조금만 찾아보면 아주 많은 문서들을 찾아 볼 수 있다. 다시한번 정리해보는 의미에서 여기에 남긴다. ^^;; mpich 1.2.7p1이 지금 현재 최신버전으로 http://www-unix.mcs.anl.gov/mpi/mpich1/에서 다운로드하여 설치한다. 압축을 해제하고 다음의 configure,make,make install을 수행하기만 하면 된다. # ./configure --with-arch=LINUX --with-device=ch_p4 # make # make PREFIX=/usr/local/mpich-1.2.7p1 install /usr/local/mpich-1.2.7p1/share/machine.LINUX 파일에서..