Skip to main content
QUICK REVIEW

[논문 리뷰] Enabling New Flexibility in the SUNDIALS Suite of Nonlinear and Differential/Algebraic Equation Solvers

David J. Gardner, Daniel R. Reynolds|arXiv (Cornell University)|2020. 11. 19.
Numerical methods for differential equations인용 수 4
한 줄 요약

이 논문은 현대 Fortran 2003 인터페이스, 선형 및 비선형 풀이기반의 객체 지향 클래스, 다중 벡터 추상화 기능을 통해 커스터마이징된 및 제3자 소프트웨어의 대수적 풀이기반과 데이터 구조를 원활하게 통합할 수 있도록 SUNDIALS 슈트의 대대적인 재설계를 제안한다. 이 변경 사항은 기존 호환성을 유지하면서도 이질적이고 초대규모 HPC 시스템에서의 유연성을 크게 향상시키며, 수치 벤치마크에서 경쟁 가능한 성능 결과를 보였다.

ABSTRACT

In recent years, the SUite of Nonlinear and DIfferential/ALgebraic equation Solvers (SUNDIALS) has been redesigned to better enable the use of application-specific and third-party algebraic solvers and data structures. Throughout this work, we have adhered to specific guiding principles that minimized the impact to current users while providing maximum flexibility for later evolution of solvers and data structures. The redesign was done through the addition of new linear and nonlinear solvers classes, enhancements to the vector class, and the creation of modern Fortran interfaces. The vast majority of this work has been performed "behind-the-scenes," with minimal changes to the user interface and no reduction in solver capabilities or performance. These changes allow SUNDIALS users to more easily utilize external solver libraries and create highly customized solvers, enabling greater flexibility on extreme-scale, heterogeneous computational architectures.

연구 동기 및 목표

  • 기존 호환성을 해치지 않으면서 응용 분야 특화 및 제3자 대수적 풀이기반을 SUNDIALS 내에서 지원하기 위해.
  • 특히 CPU+GPU 또는 기타 가속기 포함의 이질적 아키텍처를 고려한 HPC 아키텍처의 변화를 수용하기 위해.
  • 풀이기반 및 데이터 구조 인터페이스를 추상화함으로써 코드 중복을 줄이고 유지보수성을 높이기 위해.
  • 사용자가 최소한의 코드 변경으로 고도로 맞춤화된 풀이기반을 생성할 수 있도록 하기 위해.
  • C API를 반영하고 고급 기능을 지원하는 현대적이고 지속 가능한 Fortran 2003 인터페이스를 제공하기 위해.

제안 방법

  • 객체 지향 설계 원칙에 기반한 새로운 선형 및 비선형 풀이기반 클래스를 도입하여 풀이기반과 통합기 간의 결합을 분리하였다.
  • SUNDIALS의 벡터 클래스를 개선하여 '다중 벡터' 추상화를 지원함으로써, 다물리학 문제 및 이질적 메모리 모델에 적합한 다수의 하위벡터를 통합하였다.
  • 다중 벡터를 기반으로 한 MPI+X 벡터 추상화를 추가하여, 노드 내 병렬 처리 및 이질적 메모리 접근을 지원하였다.
  • 현대 아키텍처에서 통신을 줄이고 하드웨어 활용도를 향상시키기 위해 새로운 융합 연산을 설계하였다.
  • C API를 반영한 현대적 Fortran 2003 인터페이스를 구현하여 새로운 풀이기반 및 벡터 추상화에 대한 완전한 접근 권한을 제공하였다.
  • 가상 메서드 테이블(VMTs)과 생성자 함수(예: TaskLocalNewton)를 사용하여 캡슐화된 데이터를 가진 커스터마이징된 비선형 풀이기반을 생성하였다.

실험 결과

연구 질문

  • RQ1SUNDIALS는 어떻게 재설계되어야 응용 분야 특화 및 제3자 풀이기반을 최소한의 사용자 코드 변경으로 지원할 수 있는가?
  • RQ2HPC 환경에서 수치 소프트웨어의 장기적 유지보수성과 확장성을 보장하는 데에 어떤 설계 패턴이 적합한가?
  • RQ3벡터 추상화는 어떻게 확장되어 이질적 메모리 및 노드 내 병렬 처리를 지원할 수 있는가?
  • RQ4기존 코드를 손상시키지 않으면서도 새로운 풀이기반 인터페이스를 구현할 수 있는가?
  • RQ5특정 문제에 맞는 커스터마이징된 풀이기반은 복잡한 시뮬레이션에서 성능을 얼마나 향상시킬 수 있는가?

주요 결과

  • 새로운 인프라는 기존 호환성을 유지하며 시뮬레이션 비용을 증가시키지 않으며, 기존 풀이기반의 동작 방식을 그대로 보존한다.
  • 수치적 테스트 결과, 새로운 설계가 최소한의 런타임 오버헤드로 경쟁 가능한 성능 결과를 도출함을 확인하였다.
  • 시스템의 구조와 국소성 특성을 활용하는 문제 특화 비선형 풀이기반을 사용할 경우, 상당한 성능 향상이 달성되었다.
  • 다중 벡터 추상화 기능은 다물리학 문제 및 이질적 메모리 레이아웃을 효율적으로 처리할 수 있도록 하였다.
  • MPI+X 벡터 추상화 기능은 이질적 시스템 내 신규 노드 내 병렬 처리 모델의 통합을 단순화하였다.
  • 현대적 Fortran 2003 인터페이스 기능은 새로운 기능에 대한 완전한 접근 권한을 제공하며, C API와 동일한 功能과 성능을 보였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.