Skip to main content
QUICK REVIEW

[논문 리뷰] Accelerating the computation of FLAPW methods on heterogeneous architectures

Davor Davidović, Diego Fabregat‐Traver|arXiv (Cornell University)|2017. 12. 19.
Parallel Computing and Optimization Techniques참고 문헌 20인용 수 2
한 줄 요약

이 논문은 BLAS-3 커널과 하이브리드 CPU-GPU/Phi 오프로딩을 사용하여 FLEUR 소프트웨어의 FLAPW 전자 구조 계산을 가속화하기 위해 해밀토니안 및 오버랩 행렬 계산을 재설계한다. 동적 및 정적 하이브리드 BLAS 루틴을 구현함으로써 이 방법은 이질적 시스템에서 피크 성능의 70% 이상을 달성하고, JURECA 슈퍼컴퓨팅 노드에서 CPU와 가속기 모두를 완전히 활용하여 5배의 성능 향상을 이룬다.

ABSTRACT

Legacy codes in computational science and engineering have been very successful in providing essential functionality to researchers. However, they are not capable of exploiting the massive parallelism provided by emerging heterogeneous architectures. The lack of portable performance and scalability puts them at high risk: either they evolve or they are doomed to disappear. One example of legacy code which would heavily benefit from a modern design is FLEUR, a software for electronic structure calculations. In previous work, the computational bottleneck of FLEUR was partially re-engineered to have a modular design that relies on standard building blocks, namely BLAS and LAPACK. In this paper, we demonstrate how the initial redesign enables the portability to heterogeneous architectures. More specifically, we study different approaches to port the code to architectures consisting of multi-core CPUs equipped with one or more coprocessors such as Nvidia GPUs and Intel Xeon Phis. Our final code attains over 70\% of the architectures' peak performance, and outperforms Nvidia's and Intel's libraries. Finally, on JURECA, the supercomputer where FLEUR is often executed, the code takes advantage of the full power of the computing nodes, attaining $5 imes$ speedup over the sole use of the CPUs.

연구 동기 및 목표

  • 다량의 병렬성을 가지는 이질적 아키텍처를 활용하기 위해 고전적인 FLEUR 코드를 현대화한다.
  • FLEUR와 같은 고전적인 과학 코드에서 성능 이식성과 확장성의 한계를 해결한다.
  • 단일 장치 유형을 대상으로 하는 제조사 최적화 BLAS 라이브러리 사용 시 GPU 및 Intel Xeon Phi의 저하된 활용도 문제를 해결한다.
  • 고성능 전자 구조 계산을 위해 CPU와 가속기를 효율적으로 활용하는 하이브리드 BLAS 구현체를 개발한다.
  • CPU와 가속기 계산 자원을 통합하여 JURECA와 같은 현대 슈퍼컴퓨팅 노드의 전체 활용도를 가능하게 한다.

제안 방법

  • 모듈성과 이식성을 향상시키기 위해 표준화된 BLAS-3 연산(예: zherk, zgemm)을 사용하여 HSDLA 알고리즘을 재구현한다.
  • 두 가지 하이브리드 BLAS 전략을 설계: 작업 큐와 버퍼를 사용하는 동적 접근과 고정된 행렬 분할 비율을 사용하는 정적 접근.
  • HSDLA 알고리즘의 메모리 접근 및 데이터 이동을 최적화하여 메모리 프로파일을 감소시키고 계산 흐름을 재구성한다.
  • 다핵 CPU와 가속기(NVIDIA GPU 및 Intel Xeon Phi)를 갖춘 이질적 시스템으로 최적화된 코드를 이식한다.
  • 고도로 최적화된 라이브러리(cuBLASXT, MKL)와 커스텀 하이브리드 커널을 활용하여 JURECA 슈퍼컴퓨터에서 고성능을 달성한다.
  • 기본값 및 제조사 라이브러리 대비 GFLOPS 및 성능 향상 지표를 사용하여 다양한 테스트 케이스(TiO2, AuAg)와 Kmax 값에서 성능을 평가한다.

실험 결과

연구 질문

  • RQ1FLEUR와 같은 고전적인 과학 코드에 BLAS 기반 재설계를 적용할 경우, 이는 이질적 아키텍처 간의 성능 이식성을 얼마나 향상시킬 수 있는가?
  • RQ2제조사 최적화 라이브러리가 CPU-가속기 하이브리드 실행을 지원하지 않는 한계를 가진 상태에서, 가속기로 BLAS 연산을 오프로딩할 경우 발생하는 성능 저하 요인은 무엇인가?
  • RQ3GPU 및 Xeon Phi 아키텍처에서 동적 및 정적 하이브리드 BLAS 구현체는 성능, 이식성, 튜닝 가능성 측면에서 어떻게 비교되는가?
  • RQ4CPU와 가속기를 동시에 사용할 경우, 커스텀 하이브리드 커널이 NVIDIA의 cuBLASXT 및 Intel의 MKL 라이브러리보다 성능 면에서 뛰어나게 되는가?
  • RQ5JURECA와 같은 현대 슈퍼컴퓨팅 노드에서 CPU와 다수의 GPU를 완전히 활용할 경우, 달성 가능한 성능과 확장성은 어느 정도인가?

주요 결과

  • 알고리즘 최적화를 통해 개선된 HSDLA 구현은 메모리 프로파일과 계산 비용을 감소시켜 이질적 시스템에서 더 높은 성능을 달성한다.
  • 동적 하이브리드 BLAS 접근은 4개의 GPU에서 zherk 커널에 대해 cuBLASXT 대비 최대 1.19배의 성능 향상을 기록했으며, TiO2 테스트 케이스에서 zgemmt 커널에 대해 1.13배의 성능 향상을 달성했다.
  • 정적 하이브리드 BLAS 접근은 zherk에 대해 1.19배, zgemmt에 대해 1.13배의 성능 향상을 기록했으며, 행렬 분할 비율을 조절함으로써 더 나은 튜닝 가능성을 확보했다.
  • JURECA에서 최종 구현은 시스템의 피크 성능의 70% 이상을 달성했으며, CPU만을 사용할 경우 대비 5배의 성능 향상을 기록했다.
  • 하이브리드 구현체는 NVIDIA의 cuBLASXT 및 Intel의 MKL 라이브러리보다 CPU와 가속기를 동시에 효율적으로 활용함으로써 뛰어난 성능을 발휘했다.
  • 코드는 여러 GPU에서 강력한 확장성을 보였으며, AuAg 테스트 케이스에서 GFLOPS는 1 GPU 시 1.5 TFLOPS에서 4 GPU 시 6 TFLOPS로 증가했다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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