Skip to main content
QUICK REVIEW

[논문 리뷰] Porting of the DBCSR library for Sparse Matrix-Matrix Multiplications to Intel Xeon Phi systems

Iain Bethune, Andeas Gloess|arXiv (Cornell University)|2017. 08. 11.
Parallel Computing and Optimization Techniques참고 문헌 12인용 수 6
한 줄 요약

이 논문은 Intel Xeon Phi Knights Landing (KNL) 시스템에서 스퍼스 행렬-행렬 곱셈(SpGEMM)에 최적화된 DBCSR 라이브러리의 이식성과 성능을 평가한다. KNL 기반의 Cray XC40 시스템을 Xeon CPU 및 GPU 가속 시스템과 비교하여 분석한 결과, KNL 시스템은 GPU 시스템 대비 11–14% 느리지만, CPU 전용 시스템 대비 최대 24% 빠르며, 전체 캐시 및 QUADRANT 클러스터링 모드에서 최적 성능을 발휘한다.

ABSTRACT

Multiplication of two sparse matrices is a key operation in the simulation of the electronic structure of systems containing thousands of atoms and electrons. The highly optimized sparse linear algebra library DBCSR (Distributed Block Compressed Sparse Row) has been specifically designed to efficiently perform such sparse matrix-matrix multiplications. This library is the basic building block for linear scaling electronic structure theory and low scaling correlated methods in CP2K. It is parallelized using MPI and OpenMP, and can exploit GPU accelerators by means of CUDA. We describe a performance comparison of DBCSR on systems with Intel Xeon Phi Knights Landing (KNL) processors, with respect to systems with Intel Xeon CPUs (including systems with GPUs). We find that the DBCSR on Cray XC40 KNL-based systems is 11%-14% slower than on a hybrid Cray XC50 with Nvidia P100 cards, at the same number of nodes. When compared to a Cray XC40 system equipped with dual-socket Intel Xeon CPUs, the KNL is up to 24% faster.

연구 동기 및 목표

  • 대규모 스퍼스 행렬-행렬 곱셈을 위한 DBCSR 라이브러리가 Intel Xeon Phi Knights Landing (KNL) 프로세서에서 어떻게 성능을 발휘하는지 평가하기 위해.
  • 실행 시간과 확장성 측면에서 KNL 기반 시스템을 전통적인 Xeon CPU 및 GPU 가속 시스템과 비교하기 위해.
  • DBCSR 성능을 극대화하기 위한 KNL 최적 설정(예: 메모리 모드, 클러스터링)을 규명하기 위해.
  • 분산 메모리 환경에서 통신, 메모리 대역폭 및 스레딩의 영향을 성능에 미치는 영향을 평가하기 위해.
  • KNL 시스템이 선형 스케일링 전자 구조 시뮬레이션에 있어 GPU 가속 또는 CPU 전용 시스템의 실질적인 대안이 될 수 있는지 판단하기 위해.

제안 방법

  • 원래 MPI+OpenMP 및 CUDA를 최적화한 DBCSR 라이브러리를 동일한 소스 코드와 표준 컴파일러 최적화를 사용하여 Intel Xeon Phi KNL 시스템에서 실행 가능하도록 이식하였다.
  • 분산 스퍼스 행렬 곱셈에서 통신 비용을 최소화하기 위해 2.5D 통신 감소 알고리즘을 적용하였다.
  • KNL 및 기타 아키텍처에서 효율성을 높이기 위해 Funneled 모드에서 비동기 MPI 호출을 사용하여 통신과 계산을 겹치도록 하였다.
  • 로컬 블록 곱셈 중 데이터 국소성을 향상시키기 위해 캐시 무관 행렬 순회 기법을 적용하였다.
  • 고대역폭 MCDRAM을 활용하고 메모리 액세스 패턴을 향상시키기 위해 KNL 시스템을 전체 캐시 및 QUADRANT 클러스터링 모드로 설정하였다.
  • 최대 144개 노드에서 세 가지 벤치마크(S-E, H2O-DFT-LS, AMORPH)를 대상으로 성능 측정을 수행하였으며, 실행 시간과 시간 분해(통신, 계산, 초기화)를 비교하였다.

실험 결과

연구 질문

  • RQ1스퍼스 행렬-행렬 곱셈에 대해 KNL 기반 시스템에서 DBCSR 라이브러리의 성능이 GPU 가속 및 CPU 전용 시스템과 비교해 어떻게 되는가?
  • RQ2KNL 메모리 구성(예: 전체 캐시 대비 FLAT 모드)이 DBCSR 실행 시간과 확장성에 어떤 영향을 미치는가?
  • RQ3통신 오버헤드와 스레드 수준의 로드 불균형은 KNL 및 기타 아키텍처에서 성능에 어떤 영향을 미치는가?
  • RQ4다양한 SpGEMM 워크로드와 블록 크기에 대해 어떤 시스템 구성(KNL, GPU, CPU)이 가장 빠른 솔루션 시간을 제공하는가?
  • RQ52.5D 알고리즘과 정적 블록 분할이 KNL에서 성능과 확장성에 어떤 영향을 미치는가?

주요 결과

  • 동일한 노드 수에서 KNL 기반 Cray XC40 시스템에서 DBCSR 라이브러리의 성능은 NVIDIA P100 GPU를 탑재한 하이브리드 Cray XC50 시스템 대비 11–14% 낮다.
  • 동일한 워크로드에서 KNL 시스템은 듀얼 소켓 Intel Xeon CPU 시스템 대비 최대 24% 빠른 실행 시간을 기록한다.
  • DRAM을 사용할 경우 MCDRAM 대비 성능이 10–56% 떨어지며, 이는 메모리 모드 설정의 중요성을 강조한다.
  • 최고의 성능는 전체 캐시 모드와 QUADRANT 클러스터링 모드에서, 하이퍼스레딩을 비활성화한 상태에서 달성되었다.
  • 모든 벤치마크에서 통신 시간(_mpi_waitall 측정)은 총 실행 시간의 15–57%를 차지하며, KNL 및 MC 시스템에서 비율이 더 높았다.
  • AMORPH 벤치마크는 높은 계산 집약도로 인해 최고의 스레드 스케일링 성능를 보였지만, 정적 블록 분할 및 런타임 필터링으로 인해 최대 30%의 로드 불균형이 관찰되었다.

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

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

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

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