Skip to main content
QUICK REVIEW

[논문 리뷰] AccFFT: A library for distributed-memory FFT on CPU and GPU architectures

Amir Gholami, Judith Hill|arXiv (Cornell University)|2015. 06. 26.
Parallel Computing and Optimization Techniques참고 문헌 24인용 수 25
한 줄 요약

AccFFT는 분산 메모리 시스템에서 CPU 및 GPU 클러스터를 대상으로 하며, 펜슬 분해와 PCIe 전송을 계산과 겹쳐 통신 오버헤드를 줄이는 방식으로 고성능이고 오픈소스인 분산 메모리 FFT 라이브러리입니다. 타이탄 시스템에서 4,096개의 K20 GPU까지 강력한 스케일링을 달성하여, 대규모로 펜슬 분해를 지원하는 최초의 오픈소스 GPU FFT 라이브러리입니다.

ABSTRACT

We present a new library for parallel distributed Fast Fourier Transforms (FFT). The importance of FFT in science and engineering and the advances in high performance computing necessitate further improvements. AccFFT extends existing FFT libraries for CUDA-enabled Graphics Processing Units (GPUs) to distributed memory clusters. We use overlapping communication method to reduce the overhead of PCIe transfers from/to GPU. We present numerical results on the Maverick platform at the Texas Advanced Computing Center (TACC) and on the Titan system at the Oak Ridge National Laboratory (ORNL). We present the scaling of the library up to 4,096 K20 GPUs of Titan.

연구 동기 및 목표

  • 분산 메모리 시스템에서 펜슬 분해를 지원하는 확장 가능하고 오픈소스인 GPU FFT 라이브러리의 부족을 해결하기 위해.
  • GPU 메모리 전송을 계산과 겹쳐서 PCIe 병목 현상을 줄임으로써 대규모 FFT의 성능을 향상시키기 위해.
  • 과학 계산 워크로드를 위해 이종 CPU-GPU 클러스터에서 효율적이고 이식 가능하며 확장 가능한 FFT를 제공하기 위해.
  • 3D를 초과하는 다차원 변환을 포함하여 실수 및 복소수 변환 모두를 지원하기 위해.
  • 상용 또는 유지보수되지 않는 GPU FFT 라이브러리의 생태계에서 생산 수준의 오픈소스 대안을 제공하기 위해.

제안 방법

  • 3D FFT에 대해 펜슬 분해를 사용하여 슬랩 분해 대비 더 나은 로드 밸런싱과 확장성을 확보합니다.
  • 로컬 FFT 계산과 데이터 전치를 겹치기 위해 비차단 MPI All-to-All 통신을 활용합니다.
  • 파이ipel라인과 비동기 커널을 사용하여 GPU 메모리 전송(Pcie)을 계산과 겹쳐 처리합니다.
  • 로컬 FFT에 대해 cuFFT를 사용하고, 노드 간 통신에는 MPI를 활용합니다.
  • 최적화된 데이터 레이아웃을 갖춘 복소수-복소수(C2C) 및 실수-복소수(R2C) 변환을 모두 지원합니다.
  • CPU 실행에 대해 하이브리드 MPI+OpenMP 모델을 사용하고, GPU 인식 MPI를 통한 GPU 인식 통신을 통합합니다.

실험 결과

연구 질문

  • RQ1통신 및 메모리 대역폭이 제한 요소가 되는 대규모 분산 메모리 클러스터에서 GPU 가속 FFT가 효율적으로 확장될 수 있는가?
  • RQ2PCIe 전송을 계산과 겹쳐 처리할 경우, 다중 노드 시스템에서 GPU FFT 성능이 크게 향상되는가?
  • RQ3GPU 기반 분산 FFT 라이브러리에서 펜슬 분해를 효과적으로 구현하여 슬랩 분해를 초월한 확장성을 향상시킬 수 있는가?
  • RQ4노드당 다수의 CPU 코어가 존재할 경우, GPU 기반 FFT의 성능이 CPU 기반 FFT와 비교해 어떻게 되는가?
  • RQ5실수 및 복소수 변환을 모두 지원하면서도 4,096개 GPU까지 강력한 스케일링을 유지할 수 있는가?

주요 결과

  • AccFFT는 타이탄 시스템에서 4,096개의 K20 GPU까지 강력한 스케일링을 달성하여, 펜슬 분해를 대규모로 지원하는 최초의 오픈소스 GPU FFT입니다.
  • GPU 버전은 GPU 수가 32배 증가했을 때 26%의 효율성을 기록하며, PCIe 오버랩이 효과적으로 적용되어 노드당 2코어 CPU 코드를 능가합니다.
  • PCIe 전송을 계산과 겹쳐 처리함으로써 CPU 및 GPU 버전 간 통신 시간이 유사하게 유지되어 성능 격차가 줄어듭니다.
  • 특히 통신이 집약적인 단계에서 FFTE 및 기타 GPU FFT 라이브러리보다 성능이 뛰어나 강력한 스케일링 및 약한 스케일링 테스트 모두에서 뛰어난 성능을 보입니다.
  • 4D 변환(512×256×128×64)의 경우에도 AccFFT는 강력한 스케일링 효율성을 유지하여, 통신 패tern이 고차원으로 일반화됨을 보여줍니다.
  • 타이탄에서 CPU 버전은 코어 수가 32배 증가했을 때 40%의 효율성을 기록하여, 통신이 계산보다 더 큰 제약가 되며 특히 노드당 다수의 코어를 사용할 경우 확장성이 제한됨을 시사합니다.

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

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

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

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