Skip to main content
QUICK REVIEW

[논문 리뷰] Optimized implementation of the conjugate gradient algorithm for FPGA-based platforms using the Dirac-Wilson operator as an example

G. Korcyl, Piotr Korcyl|arXiv (Cornell University)|2020. 01. 15.
Quantum Computing Algorithms and Architecture참고 문헌 6인용 수 6
한 줄 요약

이 논문은 라티스 QCD 시뮬레이션에서 복소수이자 희소 선형 시스템의 대표자로 사용되는 Dirac-Wilson 연산자를 활용하여, FPGA 기반으로 최적화된 공액상승(CG) 알고리즘 구현을 제시한다. Xilinx U280에서 OpenCL과 C++로 구현된 커널은 300 MHz에서 607 GFLOPS 성능을 달성하였으며, 숨겨진 데이터 전송과 파ip라인 메모리 접근을 통해 고도로 효율적이고 재사용 가능한 HPC 애플리케이션용 프레임워크를 제공한다.

ABSTRACT

It is now a noticeable trend in High Performance Computing that the systems are becoming more and more heterogeneous. Compute nodes with a host CPU are being equipped with accelerators, the latter being a GPU or FPGA cards or both. In many cases at the heart of scientific applications running on such systems are iterative linear solvers. In this work we present a software package which includes an FPGA implementation of the Conjugate Gradient algorithm using a particular problem of the Dirac-Wilson operator as encountered in numerical simulations of Quantum Chromodynamics. The software is written in OpenCL and C++ and is optimized for maximal performance. Our framework allows for a simple implementation of other linear operators, while keeping the data transport mechanisms unaltered. Hence, our software can serve as a backbone for many applications which are expected to gain a significant boost factor on FPGA accelerators. As such systems are expected to become more and more widespread, the need for highly performant FPGA implementations of the Conjugate Gradient algorithm and its variants will certainly increase and the porting investment can be greatly facilitated by the attached code.

연구 동기 및 목표

  • 이질적 HPC 시스템을 위한 고성능이고 재사용 가능한 FPGA 기반 공액상승 알고리즘 구현을 개발하기 위해.
  • 새로운 연산자에 대해 코드 변경을 최소화하면서 반복적 선형 해법기를 FPGA 가속기로 이식하는 데 도전하기 위해.
  • 고급 메모리 및 커널 최적화 기법을 사용하여 FPGA 기반 CG 해법기에서 계산 자원 활용도를 극대화하고 데이터 이동을 최소화하기 위해.
  • FPGA 가속 시스템에서 HPC 애플리케이션과 HPCG 벤치마크를 위한 핵심 기반 소프트웨are 스택을 제공하기 위해.
  • 희소하고 구조화된 선형 시스템을 포함한 특정 HPC 워크로드에서 FPGA가 CPU와 GPU를 능가할 수 있음을 입증하기 위해.

제안 방법

  • CG 알고리즘은 성능을 위해 이중 정밀도 부동소수점 변형을 사용하여 Xilinx Alveo U280 FPGA를 대상으로 OpenCL과 C++로 구현된다.
  • 커널은 2 클럭 사이클의 기동 간격으로 설정되어 300 MHz에서 실행되어 최대 스루풋을 확보한다.
  • 사이클릭 버퍼를 사용하여 데이터 전송과 커널 연산을 겹쳐 메모리 지연을 숨기며, 성능을 향상시킨다.
  • 세 개의 고대역폭 메모리(HBM) 채널이 입력 데이터를 FPGA로 스트리밍하며, 하나의 HBM3 채널이 결과를 반환하여 지속적인 운영을 가능하게 한다.
  • 스테인스에 복소수 행렬 요소를 가진 4차원 격자 기반 Dirac-Wilson 연산자를 처리하기 위해 고유한 데이터 유형과 간소화된 메모리 접근 패턴을 사용한다.
  • 비차단 호스트 동기화를 사용하며, 모든 데이터 전송이 계산과 겹쳐져 자원 활용도를 극대화한다.

실험 결과

연구 질문

  • RQ1FPGA 기반 CG 구현은 대규모 희소 선형 시스템에 대해 현대 CPU와 GPU의 성능 수준을 경쟁적으로 달성할 수 있는가?
  • RQ2반복적 해법기에서 FPGA 활용도를 극대화하기 위해 데이터 이동과 커널 실행을 효과적으로 겹칠 수 있는가?
  • RQ3핵심 논리 재설계 없이도 CG 커널을 다양한 선형 연산자에 대해 추상화하여 재사용할 수 있는 정도는 어느 정도인가?
  • RQ4FPGA 하드웨어에서 최적화된 메모리 접근과 파이프라인 데이터 플로우를 통해 어떤 성능 향상이 달성될 수 있는가?
  • RQ5제안된 프레임워크는 FPGA 가속 시스템에서 HPC 애플리케이션과 HPCG 벤치마크를 위한 이식 가능한 핵심 기반으로 기능할 수 있는가?

주요 결과

  • Xilinx U280에서 FPGA 구현은 지속적인 성능 607 GFLOPS를 달성하였으며, 64코어 인텔 Xeon Phi를 뛰어넘고, 동일한 알고리즘에서 Nvidia V100 GPU 성능과도 동일하다.
  • 커널은 2 사이클의 기동 간격과 300 MHz의 클럭 주파수로 작동하여 고속 스루풋과 효율적인 자원 활용을 가능하게 한다.
  • 입력 스트리밍과 출력 반환을 겹쳐 데이터 전송이 완전히 계산 뒤에 숨겨져, 커널 실행이 중단 없이 지속된다.
  • 동일한 데이터 전송 및 커널 인터페이스를 유지함으로써 다른 선형 연산자에 대한 재사용이 가능해져 새로운 HPC 애플리케이션의 이식 속도가 빨라진다.
  • 이 구현은 낮은 지연, 결정적인 통신 및 높은 산술 집중도를 제공함으로써, 복잡한 메모리 접근 패턴을 포함한 HPC 워크로드에 적합한 FPGA의 잠재력을 입증한다.
  • 소프트웨어 패키지는 생산용으로 사용 가능하며, GNU GPL 아래에서 오픈소스이며, 통합을 위한 문서화와 지원 기능을 포함한다.

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

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

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

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