[논문 리뷰] Scaling through abstractions -- high-performance vectorial wave simulations for seismic inversion with Devito
이 논문은 기호적 PDE 표현에서 유한차분 스텐실을 자동으로 생성함으로써 지반역산을 위한 고성능, 확장 가능한 벡터장 파동 시뮬레이션을 가능하게 하는 도메인 특화 언어 및 컴파일러인 Devito를 제시한다. 클라우드 HPC 환경에서 산업 규모의 3D 모델에서 28 TFLOP/s의 성능을 달성하여 수작업으로 작성된 커널과 유사한 성능을 입증하였으며, 고수준 추상화를 통해 탄성 및 TTI 파동 방정식과 같은 복잡한 물리 현상을 지원한다.
[Devito] is an open-source Python project based on domain-specific language and compiler technology. Driven by the requirements of rapid HPC applications development in exploration seismology, the language and compiler have evolved significantly since inception. Sophisticated boundary conditions, tensor contractions, sparse operations and features such as staggered grids and sub-domains are all supported; operators of essentially arbitrary complexity can be generated. To accommodate this flexibility whilst ensuring performance, data dependency analysis is utilized to schedule loops and detect computational-properties such as parallelism. In this article, the generation and simulation of MPI-parallel propagators (along with their adjoints) for the pseudo-acoustic wave-equation in tilted transverse isotropic media and the elastic wave-equation are presented. Simulations are carried out on industry scale synthetic models in a HPC Cloud system and reach a performance of 28TFLOP/s, hence demonstrating Devito's suitability for production-grade seismic inversion problems.
연구 동기 및 목표
- 자동 코드 생성을 통해 지반역산을 위한 고성능, 확장 가능한 파동 시뮬레이션을 가능하게 하기.
- 고수준의 기호 인터페이스를 통해 탄성 및 기울인 축성 대칭성(TTI) 매질과 같은 복잡한 파동 물리 현상을 지원하기.
- 수작업 최적화된 커널과 비교할 만한 성능을 유지는 동시에, 현장 및 클라우드 HPC 시스템 간 이식성을 유지하기.
- Devito의 기호적 도메인 특화 언어 및 컴파일러 스택을 활용한 대규모 MPI 병렬, 인접 기반 역산 워크플로우의 실현 가능성 입증하기.
제안 방법
- Devito는 SymPy 기반의 기호적 도메인 특화 언어(DSL)를 사용하여 파동 방정식과 텐서 곱연산을 수학적으로 일관된 방식으로 표현한다.
- Devito 컴파일러는 데이터 의존성 분석을 수행하여 루프 스케줄링과 병렬성 탐지를 수행하고 런타임에 고도로 최적화된 C 코드를 생성한다.
- 시스템은 벡터장 및 텐서장에 대한 스타게르드 그리드 유한차분을 지원하여 탄성 및 TTI 파동 방정식의 정확한 시뮬레이션을 가능하게 한다.
- 분산 메모리 병렬 처리는 도메인 분할 및 MPI를 통해 네이티브로 지원되어 대규모 3D 모델로의 확장이 가능하다.
- 전파원 및 수신기 샘플링을 위한 자동 소스 주입과 희소 연산을 통합하여 전체파동형역산(FWI)에 필수적인 기능을 제공한다.
- 루프라이닝 모델링과 최첨단 수작업 커널(fdelmodc)과의 직접 비교를 통해 성능를 검증하여 저수준 효율성을 확보한다.
실험 결과
연구 질문
- RQ1고수준 기호적 DSL이 지반역산에서 수작업 최적화된 생산 수준의 파동 전파기와 유사한 성능을 달성할 수 있는가?
- RQ2기호적 PDE에서 자동 코드 생성이 탄성 및 TTI 이방성과 같은 복잡한 파동 물리 현상을 얼마나 잘 지원할 수 있는가?
- RQ3Devito는 대규모 3D 지구물리학적 모델링 및 역산에 대해 분산 메모리 HPC 시스템에서 얼마나 잘 확장되는가?
- RQ4기호 추상화와 고성능 컴파일 기술의 조합이 클라우드 기반 HPC 환경에서 생산 수준의 FWI 워크플로우를 가능하게 할 수 있는가?
주요 결과
- Devito는 클라우드 HPC 환경에서 3D 탄성 파동 시뮬레이션에서 최고 28 TFLOP/s의 성능를 기록하여 대규모 생산 수준의 지반역산에 적합함을 입증하였다.
- Devito가 생성한 커널의 성능는 최첨단 수작업 커널(fdelmodc)과 1% 이내로 유사하여 저수준 효율성이 확인되었다.
- 2D 케이스에서 비록 컴파일러 최적화를 완전히 활용하지 못했음에도 불구하고, Devito의 탄성 커널은 단일 노드에서 수작업 구현과 유사한 성능를 보였다.
- 32개 노드(16코어 인텔 엔비디아 Xeon)에서 3D 탄성 모델에 대해 성공적으로 확장되었으며, 16초 지속 시간의 시뮬레이션을 16시간 내에 완료하고 1.1 TFLOP/s의 성능를 기록하였다.
- 스칼라장에서 사용하는 동일한 고수준 API를 통해 벡터장 및 텐서장의 스타게르드 그리드 유한차분을 완전히 지원한다.
- 결과를 외삽해보면, 5000개의 소스를 가진 탄성 데이터셋을 계산하기 위해서는 약 322 EFLOPs가 필요하며, 이는 확장 가능한 자동화된 솔루션인 Devito의 필요성을 강조한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.