HPC 시스템 작성 및 프로그래밍을 어떻게 연구해야합니까?


16

필자는 많은 HPC 작업을 반드시 수행 할 필요는없는 분야에 있으며,이를 만나면 다른 분야의 연구원들이 새로운 응용 프로그램을 자신의 방법 등으로 탐색 한 결과가 종종 있습니다. 이것이 의미하는 바는 그것이 학습 과정에서 실제로 소개되거나 워크샵, 세미나 등에서 많이 나오지 않는다는 것입니다. 필요없이 전체 경력을 쌓을 수 있습니다.

그러나 동시에, 많은 내가 할 일의 나에게 사용할 수있는 HPC 자원을보다 효율적으로 사용하고 혜택 - 대부분 친절의 형태로 몬테카를로 시뮬레이션을 평행.

내 문제는 클러스터, MPI 등을 사용하는 방법을 배우는 데 도움이되는 리소스를 찾는 것입니다. 잘 모르면 선과 악을 분리하는 것입니다.

이러한 유형의 시스템에서 프로그래밍하거나 자체적으로 매우 적당한 HPC 설정을 설정하고 실행하는 것에 관한 책에 대한 제안이 있으십니까?


"큰 목록"태그와 같은 것이 있어야합니까?
shuhalo

@ 마틴 : 아니요. 실제로이 일을해온 사람들의 답변 이 있어야하며 , 아마도 관련이있을 수있는 모든 것의 거대한 목록이 아니라 그들이 무엇을 말하고 있는지 알고 있어야합니다. 이것을 반영하도록 제목을 수정했습니다.
Shog9

답변:


13

HPC University를 확인하십시오 . 특히 리소스 섹션 에는 다음과 같은 내용이 포함됩니다.

그리고 훨씬 더.

HPC 과정을 포함하는 많은 고등 교육 프로그램이 있습니다 . 예를 들어, 내 자신의 프로그램 에는

  • 고성능 컴퓨팅 (2 학기)
  • 병렬 프로그래밍 패러다임
  • 과학 소프트웨어 공학
  • GPU 및 GPGPU 프로그래밍

과학 컴퓨팅 및 수치 분석에 대한 다양한 코스를 제공합니다.


4

저의 개인적인 경험은 HPC가 한 권의 책, 레시피, 대학 과정에서 수행하기가 매우 어려운 광범위한 기술을 필요로한다는 것입니다. HPC는 큰 기계를 프로그래밍하거나 클러스터를 구축하는 것이 아니라 컴퓨팅의 최첨단에서 큰 과학 문제를 해결하는 것입니다.

모든 사람들이 동의 할 것이라고 확신하지는 않지만 HPC와 관련된 영역 목록은 다음과 같습니다.

이 영역 각각은 엄청나게 넓으며, 무언가를 시도하기 전에 모든 것을 붙잡기 어려운 많은 지식이 있습니다!

필자의 경우 엔지니어링의 한 구석에서 시작하여 천천히 경험과 공동 작업 네트워크를 개발했습니다. 처음에는 해결해야 할 엔지니어링 / 응용 수학 문제가 하나 있습니다. 거기에서 프로그래밍으로 이동하여 더 강력한 컴퓨터를 통해 더 많은 성능을 얻거나 수치 분석, 고급 알고리즘, 병렬 컴퓨터, 병렬 알고리즘으로 , 더 큰 컴퓨터, 더 완벽한 과학적 모델, 그리고 결국 새로운 문제에 이르기까지 반복되었습니다. 되돌아 보면 첫 번째 문제를 이해하고 해결하려는 것이 연구 계획을 세우는 것이 었습니다. 올바른 경로를 유지할 수있는 감독자가 있으면 많은 도움이됩니다. 그렇지 않으면 최종 목표를 잃어 버리지 않도록주의해야합니다 (제 경우에는 제가 가지고있는 과학 문제였습니다).

HPC 길을 따라갈 때 실제로 차이를 만들어내는 한 가지 이름을 말하면 다른 지역의 사람들을 만나고 아이디어를 교환하며 커뮤니티의 분산 지식을 활용하는 것이 었습니다. 또한 공개적으로 순진하고 어리석은 일을하는 것을 너무 두려워하지 않는 것이 중요합니다. 첫 번째 단계는 항상 어렵고 가장 중요한 단계입니다!


2

이것은 내년 봄에 HPC 기초를 가르치기위한 계획입니다. 저는 지난 10 년 반 동안 개발자였으며 ​​Microsoft 기술과 독점적으로 협력하고 있습니다. 저는 학생이기도하므로 소프트웨어를 무료로받을 수 있습니다 MSDN Academic Alliance를(귀하의 프로필은 귀하가 대학원생임을 나타내므로 학교가 참여하는지 확인해야합니다) 집에서 물건을위한 공간을 마련하는 것이 제한 요소입니다. 내 사무실 / den / ManCave에는 이미 여러 대의 컴퓨터가 설치되어 있으므로 이미 테스트 할 수 있습니다. Windows Server 2008 HPC는 사용 가능한 일부 패키지에 나열되어 있지만 지난 학기 동안 학교에서 다운로드 할 수있는 소프트웨어에서 사라진 것 같습니다 ( "클러스터 컴퓨팅 팩"은 Server 2003의 추가 기능인 반면 Server 2008 hpc는 제거 된 버전이 제공됨) ccp를 사용하면 필요없는 서비스를 비활성화해야합니다.

계획된 토폴로지는 "SOA 사용 클러스터"입니다. 이 페이지 (기본 그림 아래의 작은 사각형 클릭). 이미 Active Directory와 다른 서버가 이미 설치되어 있기 때문에 eBay에서 저렴한 Dell 소형 폼 팩터 컴퓨터 4 대를 구입하려고합니다 (Dell 655 SFF는 100-200 달러 규모의 야구장에서 운영되고있는 것으로 보입니다). 나는 단지 물건을 배우려고 노력하고 있기 때문에 개인 및 응용 프로그램 버스가 무엇인지 확인하기 위해 "헤드 노드", "브로커 노드"및 2 개의 "컴퓨팅 노드"및 몇 개의 여분의 이더넷 카드 만 필요하다고 생각합니다 (그 이미지에서 ) 하다. MSDNAA 라이센스는 내가 찾고있는 것보다 훨씬 많은 계산 노드를 최대 16 개까지 허용합니다.

Windows 에서 Beowulf Cluster Computing을 읽고 사무실에서 아이디어 를 얻지 못한 아이디어를 얻었습니다 (리눅스 버전이 있지만 리눅스 기술 / 플랫폼은 0입니다) 집에서-자신에게 맞는 것을하십시오). 사무실 에는 큰 클러스터가 많이 있지만 이미 포화 상태에 있고 교육적인 "X를 배우고 싶어합니다"시간표를 얻기가 매우 어렵습니다. 하나는 일자리를 제출하기 전에 이미 알고 있어야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.