[논문 리뷰] VersaGNN: a Versatile accelerator for Graph neural networks
VersaGNN는 그래프 신경망(GNNs)을 위한 고속도 및 고에너지 효율성을 달성하기 위해 조밀하고 희소 행렬 곱셈을 통합하는 시스톨릭 어레이 기반 하드웨어 가속기이다. 조밀한 곱셈을 위한 스트라센 알고리즘과 희소-조밀 연산을 위한 근사적 워크로드 밸런싱 알고리즘을 통합함으로써, CPU 대비 최대 3712배의 성능 향상과 1301.25배의 에너지 절감을 달성하였으며, GPU 대비 35.4배의 성능 향상과 17.66배의 에너지 절감을 기록하였다. 이는 최신 소프트웨어 프레임워크 수준을 초월한다.
extit{Graph Neural Network} (GNN) is a promising approach for analyzing graph-structured data that tactfully captures their dependency information via node-level message passing. It has achieved state-of-the-art performances in many tasks, such as node classification, graph matching, clustering, and graph generation. As GNNs operate on non-Euclidean data, their irregular data access patterns cause considerable computational costs and overhead on conventional architectures, such as GPU and CPU. Our analysis shows that GNN adopts a hybrid computing model. The extit{Aggregation} (or extit{Message Passing}) phase performs vector additions where vectors are fetched with irregular strides. The extit{Transformation} (or extit{Node Embedding}) phase can be either dense or sparse-dense matrix multiplication. In this work, We propose extit{VersaGNN}, an ultra-efficient, systolic-array-based versatile hardware accelerator that unifies dense and sparse matrix multiplication. By applying this single optimized systolic array to both aggregation and transformation phases, we have significantly reduced chip sizes and energy consumption. We then divide the computing engine into blocked systolic arrays to support the extit{Strassen}'s algorithm for dense matrix multiplication, dramatically scaling down the number of multiplications and enabling high-throughput computation of GNNs. To balance the workload of sparse-dense matrix multiplication, we also introduced a greedy algorithm to combine sparse sub-matrices of compressed format into condensed ones to reduce computational cycles. Compared with current state-of-the-art GNN software frameworks, extit{VersaGNN} achieves on average 3712$ imes$ speedup with 1301.25$ imes$ energy reduction on CPU, and 35.4$ imes$ speedup with 17.66$ imes$ energy reduction on GPU.
연구 동기 및 목표
- 불규칙한 데이터 액세스와 하이브리드 계산 패턴으로 인해 CPU와 GPU의 GNN 실행 성능과 에너지 효율성이 떨어지는 문제를 해결하기 위해.
- 단일 유연한 하드웨어 가속기로 GNN의 집계(희소) 및 변환(조밀) 단계를 통합 가속하기 위해.
- 하드웨어 수준에서 스트라센 알고리즘을 통합하여 조밀 행렬 곱셈의 계산 복잡도와 메모리 액세스를 감소시키기 위해.
- 정적이고 근사적인 사전 처리 알고리즘을 통해 희소-조밀 행렬 곱셈에서의 로드 밸런싱과 자원 활용도를 향상시키기 위해.
- 파워-법칙도 분포를 가지는 실제 그래프에 최적화된 메모리 효율성과 고-throughput을 확보한 가속기 설계를 위해.
제안 방법
- 가속기는 조밀하고 희소 행렬 곱셈을 모두 지원하도록 재설계된 처리 요소를 갖춘 시스톨릭 어레이 아키텍처를 사용한다.
- 계산 엔진을 블록화된 시스톨릭 어레이로 분할하여 스트라센 알고리즘의 효율적 실행을 가능하게 하며, 조밀 행렬 연산에서의 곱셈 횟수를 감소시킨다.
- 근사적 워크로드 밸런싱 알고리즘은 압축된 희소 부분 행렬을 통합된 타일로 조합하여 유휴 사이클을 최소화하고 처리 요소의 활용도를 향상시킨다.
- 다양한 희소성 수준과 노드 간 이웃 분포에 대응하기 위해 동적 타일링 전략을 지원한다.
- Chisel HDL로 구현되었으며, 네 가지 GNN 모델을 사용해 여섯 가지 벤치마크 그래프 데이터셋에서 평가되었다.
- 스parse 행렬 곱셈 중 메모리 액세스 스톱을 방지하기 위해 순서대로 운영자를 공급하는 파이ipel라인 데이터 플로우를 활용한다.
실험 결과
연구 질문
- RQ1단일 하드웨어 가속기가 GNN 집계의 불규칙한 액세스 패턴과 변환 단계의 규칙적인 패턴을 모두 효율적으로 처리할 수 있는가?
- RQ2스트라센 알고리즘이 시스톨릭 어레이에 효과적으로 통합되어 조밀한 GNN 행렬 연산에서 계산량과 메모리 액세스를 줄일 수 있는가?
- RQ3근사적 정적 워크로드 밸런싱 알고리즘이 GNN의 희소-조밀 행렬 곱셈에서 성능과 에너지 효율성에 미치는 영향은 어떠한가?
- RQ4CPU 및 GPU 플랫폼에서 최신 소프트웨어 프레임워크와 비교해 본다면, 제안된 가속기는 성능 향상과 에너지 효율성 측면에서 어떤가?
- RQ5타일링과 데이터 재조직 전략은 GNN 가속에서 자원 활용도를 향상시키고 스톱을 줄이는 데 어느 정도 기여하는가?
주요 결과
- VersaGNN는 CPU 기반 GNN 소프트웨어 프레임워크 대비 평균 3712배의 성능 향상과 1301.25배의 에너지 절감을 달성하였다.
- GPU 기반으로는 최고 성능을 보인 소프트웨어 프레임워크 대비 35.4배의 성능 향상과 17.66배의 에너지 절감을 기록하였다.
- 시스톨릭 어레이에 스트라센 알고리즘을 통합함으로써 조밀 행렬 곱셈에서 곱셈 횟수가 감소하여 계산 복잡도가 크게 낮아졌다.
- 근사적 워크로드 밸런싱 알고리즘은 효율적인 희소 타일 팩킹을 통해 처리 요소의 활용도를 향상시키고 메모리 액세스 스톱을 방지하였다.
- 가속기의 설계는 단일 통합 아키텍처로 조밀 및 희소 연산을 모두 처리할 수 있어 칩 면적과 에너지 소비를 감소시켰다.
- 파워-법칙도 분포를 가지는 다양한 실제 그래프에서 높은 확장성과 효율성을 입증하였다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.