[논문 리뷰] Optimizing Sparse Matrix-Vector Multiplication on Emerging Many-Core Architectures
이 논문은 신규 다핵 아키텍처인 인텔 노츠랜딩(KNL)과 ARM 기반 FT-2000Plus(FTP)를 대상으로, 자동으로 최적의 희소 행렬-벡터 곱셈(SpMV) 표현 방식을 선택하는 기계학습 기반 프레임워크를 제안한다. 956개의 희소 행렬과 다섯 가지 저장 형식에서 9,500회의 프ofile링 실행을 기반으로 사전에 예측 모델을 학습함으로써, KNL과 FTP에서 각각 최대 성능의 95%와 91%를 달성하며 런타임 프ofile링 오버헤드 없이 작동한다.
Sparse matrix vector multiplication (SpMV) is one of the most common operations in scientific and high-performance applications, and is often responsible for the application performance bottleneck. While the sparse matrix representation has a significant impact on the resulting application performance, choosing the right representation typically relies on expert knowledge and trial and error. This paper provides the first comprehensive study on the impact of sparse matrix representations on two emerging many-core architectures: the Intel's Knights Landing (KNL) XeonPhi and the ARM-based FT-2000Plus (FTP). Our large-scale experiments involved over 9,500 distinct profiling runs performed on 956 sparse datasets and five mainstream SpMV representations. We show that the best sparse matrix representation depends on the underlying architecture and the program input. To help developers to choose the optimal matrix representation, we employ machine learning to develop a predictive model. Our model is first trained offline using a set of training examples. The learned model can be used to predict the best matrix representation for any unseen input for a given architecture. We show that our model delivers on average 95% and 91% of the best available performance on KNL and FTP respectively, and it achieves this with no runtime profiling overhead.
연구 동기 및 목표
- 인텔 노츠랜딩(KNL)과 FT-2000Plus(FTP)와 같은 신규 다핵 아키텍처에서 희소 행렬 표현 방식의 영향을 조사한다.
- 최적의 SpMV 표현 방식은 기반 아키텍처와 입력 행렬의 희소성 패턴에 모두 의존함을 규명한다.
- 런타임 프ofile링 없이도 새로운 입력에 대해 주어진 아키텍처에서 최적의 행렬 표현 방식을 선택하는 예측 모델을 개발한다.
- 가벼운 크기의 솔루션을 사용해 다양한 다핵 시스템에서 자동으로 고성능 SpMV 워크로드를 구현한다.
- 희소 행렬을 포함하는 고성능 계산(HPC) 워크로드에서 성능 이식성과 최적화를 위한 프레임워크를 제공한다.
제안 방법
- KNL과 FTP 아키텍처에서 956개의 대표적 희소 데이터셋에 대해 9,500회 이상의 대규모 성능 평가를 수행했다.
- CSR, CSR5, ELL, SELL, HYB 등 주요 희소 행렬 표현 방식 5종을 평가하였으며, 다양한 희소성 패턴과 아키텍처에서의 성능을 측정했다.
- 희소성 패턴, 비제로 요소 분포, 행렬 차원 등 정량적 행렬 특징의 집합을 기계학습 모델의 입력으로 추출했다.
- 이러한 특징과 해당하는 최적의 표현 방식 선택 결과를 기반으로 사전에 기계학습 모델을 학습시켜, 새로운 입력에 대한 최적 형식을 예측하도록 했다.
- 학습된 모델을 런타임에 배포하여 추가 프ofile링이나 계산 오버헤드 없이 최적의 표현 방식을 선택한다.
- 아키텍처와 행렬 간의 일반화가 가능한 예측 모델링 접근법을 사용해 소스 코드 수정 없이 즉각적인 배포가 가능하도록 설계했다.
실험 결과
연구 질문
- RQ1다양한 희소 행렬 표현 방식은 KNL과 FTP와 같은 신규 다핵 아키텍처에서 SpMV 성능에 어떻게 영향을 미치는가?
- RQ2KNL과 FTP에서 SpMV 표현 방식의 성능에 영향을 미치는 주요 아키텍처적 요소와 행렬 고유의 특성은 무엇인가?
- RQ3대표적인 행렬과 아키텍처 데이터셋을 기반으로 학습된 기계학습 모델이 새로운 입력에 대해 최적의 SpMV 표현 방식을 정확하게 예측할 수 있는가?
- RQ4이러한 예측 모델이 KNL과 FTP에서 런타임 프ofile링 없이 얼마나 근접한 최적 성능을 달성할 수 있는가?
- RQ5이러한 아키텍처에서 다양한 희소성 패턴과 행렬 크기에 따라 최적 표현 방식의 성능는 어떻게 변하는가?
주요 결과
- SpMV에 최적의 희소 행렬 표현 방식은 기반 아키텍처(KNL 대비 FTP)와 입력 행렬의 희소성 패턴에 따라 크게 달라진다.
- 표현 방식 선택 오류는 SpMV 성능을 심각하게 저하시킬 수 있으며, 이는 자동 선택의 필요성을 강조한다.
- 제안된 기계학습 모델은 KNL에서 최대 성능의 95%, FTP에서 91%의 성능를 새로운 입력에 대해 달성한다.
- 런타임 프ofile링 오버헤드 없이 근접 최적 성능을 제공하므로 생산 환경에 적합하다.
- 본 연구는 KNL과 FTP에서 SpMV 표현 방식 성능에 대한 첫 번째 종합적 분석을 제공하며, 아키텍처별 성능 특성을 드러냈다.
- 프레임워크는 즉각적으로 배포 가능하며 소스 코드 수정 없이 기존 HPC 파이프라인에 원활하게 통합할 수 있다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.