MPI 말고 GPGPU는 어떠신지요? 물론 MPI와 GPGPU를 섞어서 쓸 수도 있습니다.
GPGPU는 GPU(그래픽 카드에 달린 프로세서)를 계산에 이용하는 겁니다.
유명한 게 CUDA가 있고 OpenCL 이라고 하는 표준도 있습니다.
성능 좋은 그래픽 카드 하나나 둘 이상을 데스크탑 컴퓨터에 달아서 노드 수십대의
클러스터의 성능을 낼 수도 있다고 합니다. 저렴하고 강력하기 때문에 요즘 뜨고 있습니다.
[quote="abron":1q2fcgwv]2월 오프라인 모임시 "우분투 - 모이면 강해진다 : 리눅스 클러스터 구축 방법법" 라는 주제로 한번 세미나 할까요?[/quote:1q2fcgwv]오호, 이거 제가 부탁드리고 싶은데요. ^^
[quote="esrevinu":1q2fcgwv]MPI 말고 GPGPU는 어떠신지요? 물론 MPI와 GPGPU를 섞어서 쓸 수도 있습니다.
GPGPU는 GPU(그래픽 카드에 달린 프로세서)를 계산에 이용하는 겁니다.
유명한 게 CUDA가 있고 OpenCL 이라고 하는 표준도 있습니다.
성능 좋은 그래픽 카드 하나나 둘 이상을 데스크탑 컴퓨터에 달아서 노드 수십대의
클러스터의 성능을 낼 수도 있다고 합니다. 저렴하고 강력하기 때문에 요즘 뜨고 있습니다.
matlab 같은걸로 프로그램 짜시면
매틀랩이 좋은게 코어수만큼 프로세서 돌리실수 있어요
프로그램을 파라메타만 바꿔서 두개 동시에 돌리는게 된다는거죠 ㅎㅎㅎ
전 보통 터미널 두개 열어서 matlab -nodesktop해서 두개 동시에 돌립니다.
쿼드코어면 4개까지도 돌리겠는데 연구실 컴터가 듀얼코어밖에 없어서뤼 ㅠㅠ
[quote="esrevinu":628ubwvc]MPI 말고 GPGPU는 어떠신지요? 물론 MPI와 GPGPU를 섞어서 쓸 수도 있습니다.
GPGPU는 GPU(그래픽 카드에 달린 프로세서)를 계산에 이용하는 겁니다.
유명한 게 CUDA가 있고 OpenCL 이라고 하는 표준도 있습니다.
성능 좋은 그래픽 카드 하나나 둘 이상을 데스크탑 컴퓨터에 달아서 노드 수십대의
클러스터의 성능을 낼 수도 있다고 합니다. 저렴하고 강력하기 때문에 요즘 뜨고 있습니다.
제일 손쉬운 방법은 파라메터를 달리 해서 컴퓨터 여러군데에서 손으로 코드를 돌리는 방법입니다. 그러니까 시물레이션 코드가 simul이라고 하고 파라메터로 1, 2, 3, 4 가 들어가야 한다면 각 노드 컴퓨터에 ssh로 들어가서 이렇게 하면 되죠.
컴퓨터A: $ simul 1
컴퓨터B: $ simul 2
컴퓨터C: $ simul 3
컴퓨터D: $ simul 4
간단해 보여도 시물레이션을 여러번 돌려야 할 때 유용합니다. 이쪽 자료는 batch processing 키워드로 찾아보시면 될거고 손으로 적당히 쉘 스크립트를 짜서 돌려도 됩니다. 다만, 각 노드 컴퓨터에 ssh로 들어갈때 패스워드 묻는 것이 귀찮을텐데 이 과정을 생략해 주는 방법도 있습니다.
MPI는 병렬 프로그램 기법이 필요할 때 쓰시면 됩니다. 즉, 컴퓨터 A와 컴퓨터 B가 돌면서 계산 과정에 서로 데이터를 주고받아야 할 필요가 있을때나 쓰시면 됩니다.
그리고… 대학원생이면 연구 목적으로 클러스터 계정을 받을 수 있을 겁니다. 이러면 노드 수백,수천개를 쓸 수도 있죠. 일단 학교 전산소부터 알아보시길. 실험실 예산에 여유가 있다면 쿼드코어 시피유 두개나 네개를 꽂을 수 있는 보드를 사서 조립을 하는 것도 방법입니다. 쿼드코어 시피유 두개만 꽂아도 벌써 8 node cluster가 만들어지죠. ssh로 들어갈 필요도 없고… 구글링 해보니 이런 게 뜨네요.