Skip to main content
QUICK REVIEW

[논문 리뷰] Accelerating the SpMV kernel on standard CPUs by exploiting the partially diagonal structures

Takeshi Fukaya, Koki Ishida|arXiv (Cornell University)|2021. 05. 11.
Parallel Computing and Optimization Techniques참고 문헌 30인용 수 6
한 줄 요약

이 논문은 DIA와 CSR를 조합한 수정된 하이브리드 저장 형식인 M-HDC 포맷을 제안한다. 이는 희소 행렬 내 부분 대각 구조를 활용하여 현대 다중 코어 CPU에서 SpMV를 크게 가속화한다. 캐시 블로킹 및 구조 추출 최적화를 통해 M-HDC 커널은 대규모 실용적 행렬에서 CSR 대비 최대 2.5배의 성능 향상을 달성한다. 특히 메모리 대역폭이 성능에 지배적인 캐시 외부 시나리오에서 뚜렷한 성능 향상이 나타난다.

ABSTRACT

Sparse Matrix Vector multiplication (SpMV) is one of basic building blocks in scientific computing, and acceleration of SpMV has been continuously required. In this research, we aim for accelerating SpMV on recent CPUs for sparse matrices that have a specific sparsity structure, namely a diagonally structured sparsity pattern. We focus a hybrid storage format that combines the DIA and CSR formats, so-called the HDC format. First, we recall the importance of introducing cache blocking techniques into HDC-based SpMV kernels. Next, based on the observation of the cache blocked kernel, we present a modified version of the HDC formats, which we call the M-HDC format, in which partial diagonal structures are expected to be more efficiently picked up. For these SpMV kernels, we theoretically analyze the expected performance improvement based on performance models. Then, we conduct comprehensive experiments on state-of-the-art multi-core CPUs. By the experiments using typical matrices, we clarify the detailed performance characteristics of each SpMV kernel. We also evaluate the performance for matrices appearing in practical applications and demonstrate that our approach can accelerate SpMV for some of them. Through the present paper, we demonstrate the effectiveness of exploiting partial diagonal structures by the M-HDC format as a promising approach to accelerating SpMV on CPUs for a certain kind of practical sparse matrices.

연구 동기 및 목표

  • 구조화된 희소 행렬에 대한 잠재적 이점이 있음에도 불구하고, 현대 다중 코어 CPU에서 DIA 기반 SpMV의 성능 향상이 제한적인 이유를 해결한다.
  • 캐시 블로킹 및 형식 하이브리드화(DIA+CSR)가 부분 대각 구조를 가진 행렬의 SpMV 성능에 미치는 영향을 조사한다.
  • 기존 HDC 형식보다 부분 대각 패턴을 더 효율적으로 포착할 수 있는 개선된 저장 형식(M-HDC)을 개발한다.
  • 최신 CPU에서 CSR 및 표준 HDC 형식 대비 성능 향상의 이론적 및 실증적 검증을 수행한다.
  • SIMD 벡터화가 유의미한 성능 향상을 제공하는 조건을 명확히 하며, 특히 캐시 내 vs. 캐시 외부 환경 간의 차이를 구분한다.

제안 방법

  • 부분 대각 구조를 더 잘 추출하고 활용할 수 있도록 개선된 HDC(Hybrid DIA-CSR) 형식을 기반으로 M-HDC 형식을 제안한다.
  • M-HDC 기반 SpMV 커널에 캐시 블로킹 기법을 도입하여 데이터 국소성 향상과 캐시 미스 감소를 도모한다.
  • M-HDC가 CSR 및 HDC 형식 대비 성능 향상을 이끌어내는 데 기여하는 분석적 성능 모델을 수립한다.
  • 합성 스텐실 행렬과 실제 응용 프로그램에서 사용되는 행렬을 사용하여, 최신 다중 코어 CPU에서 M-HDC, B-HDC(블록화된 HDC), CSR 커널을 구현하고 벤치마킹한다.
  • 형식 변환 오버헤드를 독립적으로 분석하기 위해 입력 행렬에서 부분 대각선을 추출하기 위한 단순한 구조 탐색 알고리즘을 사용한다.
  • 다양한 행렬 크기에서의 성능를 비교하여, 메모리 대역폭과 SIMD 벡터화의 영향을 분리하여 분석한다.

실험 결과

연구 질문

  • RQ1현대 다중 코어 CPU에서 M-HDC 형식은 CSR 및 표준 HDC 형식 대비 SpMV 성능을 어떻게 향상시키는가?
  • RQ2캐시 블로킹은 부분 대각 구조를 가진 DIA 기반 SpMV 커널의 성능에 어떤 영향을 미치는가?
  • RQ3SpMV 커널에서 SIMD 벡터화가 유의미한 성능 향상을 제공하는 메모리 액세스 환경은 어디인가? (캐시 내 vs. 캐시 외부)
  • RQ4어떤 유형의 실용적 희소 행렬에서 부분 대각 구조를 활용하면 측정 가능한 성능 향상이 이루어지는가?
  • RQ5메모리 액세스 패턴을 기반으로 한 이론적 성능 모델은 실제 하드웨어에서의 실험 결과와 얼마나 일치하는가?

주요 결과

  • M-HDC 형식은 부분 대각 구조를 가진 대규모 실생활 희소 행렬에서 CSR 커널 대비 최대 2.5배의 성능 향상을 달성한다. 특히 캐시 외부 시나리오에서 뚜렷한 성능 향상이 나타난다.
  • 성능 향상은 매트릭스 크기가 캐시 용량을 초과할 경우에 가장 두드러지며, 이 경우 성능에 영향을 미치는 주요 요소는 SIMD 활용도가 아니라 메모리 대역폭이다.
  • 캐시 내부에서의 경우 SIMD 벡터화가 성능 향상에 크게 기여하지만, 캐시 외부에서는 이 혜택이 크게 감소한다.
  • 메모리 액세스 패턴을 기반으로 한 이론적 성능 모델은 관측된 성능 향상 추세를 정확히 예측하여 모델의 신뢰성을 입증한다.
  • B-HDC 커널(캐시 블로킹된 HDC)은 표준 HDC보다 뛰어난 성능을 보이며, 하이브리드 형식에서 캐시 인식 최적화의 중요성을 확인한다.
  • 실제 수치 라이브러리에서의 활용을 고려할 때, CSR에서 M-HDC로의 형식 변환 비용을 최소화해야 하며, 현재 이 비용이 전체 오버헤드의 주요 원인임을 밝혀냈다.

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

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

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

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