toplogo
Sign In

고성능 컴퓨팅을 위한 분산 메모리 병렬 처리를 지원하는 공유 컴파일 스택


Core Concepts
분산 메모리 병렬 처리를 위한 새로운 HPC 추상화를 도입하여 Devito, PSyclone, Open Earth Compiler와 같은 다양한 HPC 스텐실 DSL 컴파일러 간 공유 컴파일 스택을 제공한다.
Abstract
이 논문은 고성능 컴퓨팅(HPC) 스텐실 도메인 특화 언어(DSL) 컴파일러 간 공유 컴파일 스택을 제안한다. 대부분의 DSL은 특정 문제 영역을 위해 설계되어 있지만, 일반적인 HPC 개념에 대한 코드 베이스가 상당 부분을 차지한다. 이러한 일반적인 최적화는 종종 도메인 특화 최적화와 결합된다. 이 연구에서는 MLIR 컴파일러 프레임워크를 HPC에 맞춤화하여 기계 학습 커뮤니티가 이미 자신들의 DSL(예: TensorFlow, PyTorch)에서 활용하는 것과 같은 시너지를 HPC 유한 차분 스텐실 커뮤니티에 제공한다. 분산 스텐실 계산을 위한 메시지 전달 대상 HPC 특화 추상화를 도입한다. Devito, PSyclone, Open Earth Compiler와 같은 세 가지 HPC 스텐실 DSL 컴파일러에 걸쳐 공통 구성 요소를 공유하여 공유 컴파일러 생태계를 기반으로 고성능 실행 파일을 생성한다.
Stats
스텐실 계산은 이전 시간 단계의 인접 격자 요소를 사용하여 n차원 공간 격자의 요소를 반복적으로 업데이트하는 패턴이다. 이 연구는 MLIR 컴파일러 프레임워크를 HPC에 맞춤화하여 기계 학습 커뮤니티가 자신들의 DSL에서 활용하는 것과 같은 시너지를 HPC 유한 차분 스텐실 커뮤니티에 제공한다. 분산 메모리 병렬 처리를 위한 새로운 HPC 특화 추상화를 도입하여 Devito, PSyclone, Open Earth Compiler와 같은 세 가지 HPC 스텐실 DSL 컴파일러 간 공통 구성 요소를 공유한다.
Quotes
"Domain Specific Languages (DSLs) increase programmer productivity and provide high performance. Their targeted abstractions allow scientists to express problems at a high level, providing rich details that optimizing compilers can exploit to target current- and next-generation supercomputers." "By tailoring the broadly-adopted MLIR compiler framework to HPC, we bring the same synergies that the machine learning community already exploits across their DSLs (e.g. Tensorflow, PyTorch) to the finite-difference stencil HPC community." "We introduce new HPC-specific abstractions for message passing targeting distributed stencil computations."

Deeper Inquiries

분산 메모리 병렬 처리를 위한 제안된 추상화 외에도 HPC 컴퓨팅을 위해 MLIR 컴파일러 프레임워크에 어떤 다른 추상화가 필요할까

MLIR 컴파일러 프레임워크를 통해 분산 메모리 병렬 처리를 위한 제안된 추상화 외에도 HPC 컴퓨팅을 위해 추가적인 추상화가 필요합니다. 예를 들어, 메모리 계층 구조를 고려한 메모리 액세스 최적화, 벡터화 및 SIMD 지원, 병렬화 전략에 대한 자동화된 결정, 그리고 다양한 하드웨어 아키텍처에 대한 최적화된 코드 생성을 위한 추상화가 필요합니다. 또한, 고성능 컴퓨팅을 위한 특정 도메인에 특화된 최적화 및 변환을 수행할 수 있는 추상화도 필요할 것입니다.

제안된 접근 방식이 다른 HPC 응용 프로그램(예: 유체 역학, 분자 동역학 등)에도 적용될 수 있을까

이 연구에서 제안된 공유 컴파일 스택은 다른 HPC 응용 프로그램에도 적용될 수 있습니다. 예를 들어, 유체 역학이나 분자 동역학과 같은 응용 프로그램에서도 동일한 접근 방식을 사용하여 DSL을 개발하고 공유 컴파일 스택을 통해 최적화된 코드를 생성할 수 있습니다. 또한, 이러한 접근 방식은 다양한 HPC 도메인에서 공통된 최적화 및 추상화를 활용하여 프로그래머의 생산성을 향상시키고 성능을 극대화할 수 있습니다.

이 연구에서 제안된 공유 컴파일 스택이 HPC 커뮤니티에 미칠 수 있는 장기적인 영향은 무엇일까

이 연구에서 제안된 공유 컴파일 스택이 HPC 커뮤니티에 미칠 장기적인 영향은 상호 협력과 지식 공유를 촉진하여 DSL 개발 및 유지 관리 비용을 줄이고, DSL의 채택과 확장을 촉진할 수 있다는 점입니다. 또한, 이러한 공유된 인프라를 통해 다양한 HPC 응용 분야에서 고성능 실행 가능한 코드를 생성할 수 있으며, 이는 HPC 커뮤니티 전반에 혁신적인 영향을 미칠 수 있습니다. 이를 통해 HPC 응용 프로그램의 개발과 실행을 향상시키고, 미래의 슈퍼컴퓨터에 대한 대응력을 향상시킬 수 있을 것으로 기대됩니다.
0
visual_icon
generate_icon
translate_icon
scholar_search_icon
star