[논문 리뷰] Stardust: Compiling Sparse Tensor Algebra to a Reconfigurable Dataflow Architecture
Stardust는 재구성 가능한 데이터플로우 아키텍처(RDA)로 희소 텐서 대칭 표현식을 자동으로 번역하는 첫 번째 컴파일러이다. 새로운 스케줄링 및 데이터 표현 언어를 사용하여 희소 계산을 효율적으로 매핑한다. Capstan RDA에서 캐시 메모리 최적화와 병렬 패턴 리라이팅을 활용해 CPU 커널 대비 138배, GPU 커널 대비 41배의 성능 향상을 달성한다.
We introduce Stardust, a compiler that compiles sparse tensor algebra to reconfigurable dataflow architectures (RDAs). Stardust introduces new user-provided data representation and scheduling language constructs for mapping to resource-constrained accelerated architectures. Stardust uses the information provided by these constructs to determine on-chip memory placement and to lower to the Capstan RDA through a parallel-patterns rewrite system that targets the Spatial programming model. The Stardust compiler is implemented as a new compilation path inside the TACO open-source system. Using cycle-accurate simulation, we demonstrate that Stardust can generate more Capstan tensor operations than its authors had implemented and that it results in 138$ imes$ better performance than generated CPU kernels and 41$ imes$ better performance than generated GPU kernels.
연구 동기 및 목표
- CPU와 GPU가 달성할 수 있는 성능 및 에너지 효율성의 한계를 넘어서 희소 텐서 대칭 워크로드의 장미꽃 꼬리 부분을 가속화하는 데에 문제를 해결하기 위해.
- 데이터 과학자들이 희소 텐서 표현식에서 고수준 컴파일을 통해 재구성 가능한 데이터플로우 아키텍처(RDA)를 쉽게 사용할 수 있도록 하기 위해.
- 효율적인 희소 가속기 매핑을 위해 알고리즘, 데이터 표현, 스케줄링 간의 책임 분리를 제공하기 위해.
- 컴파일러 최적화를 통한 RDA 매핑이 수작업 최적화된 CPU 및 GPU 구현을 능가할 수 있음을 입증하기 위해.
제안 방법
- RDA의 물리적 메모리에 가속기 특화 텐서 배치를 표현하기 위해 새로운 데이터 표현 언어를 도입한다.
- 변환된 희소 반복 공간을 데이터 조합기 및 계산 유닛과 같은 희소 하드웨어 구성 요소에 매핑하기 위한 스케줄링 언어를 설계한다.
- 구체적인 片상 메모리에 추상 데이터 구조 기술을 바인딩하는 알고리즘을 활용하여 데이터 이동을 최소화한다.
- 병렬 패턴 리라이팅 시스템을 사용하여 희소 텐서 대칭 표현식을 RDA용 선언적-희소 Spatial 프로그래밍 모델로 하향 변환한다.
- Capstan, 재구성 가능한 데이터플로우 아키텍처를 대상으로 하는 새로운 컴파일 경로를 오픈소스 TACO 컴파일러에 확장한다.
- CPU 및 GPU 커널과의 성능 비교를 위해 사이클 정밀 시뮬레이션을 활용한다.
실험 결과
연구 질문
- RQ1고수준 컴파일러가 CPU 및 GPU 성능을 뛰어넘는 성능을 달성하면서도 임의의 희소 텐서 대칭 표현식을 재구성 가능한 데이터플로우 아키텍처로 매핑할 수 있는가?
- RQ2희소 RDA에서 효율적인 메모리 배치 및 데이터플로우 매핑을 위해 스케줄링 및 데이터 표현 추상화는 어떻게 설계할 수 있는가?
- RQ3알고리즘, 데이터 표현, 스케줄링 간의 책임 분리가 이전에 수작업으로 구현된 바가 없던 새로운 최적화 매핑을 가능하게 할 수 있는가?
- RQ4컴파일러 최적화가 RDA에서 희소 텐서 커널의 산술 강도를 향상시키고 중복 계산을 줄이는 데 얼마나 기여할 수 있는가?
주요 결과
- Stardust는 원래 저자들이 수작업으로 직접 작성한 것보다 더 넓은 범위의 Capstan 텐서 연산을 성공적으로 컴파일한다.
- 사이클 정밀 시뮬레이션에서 생성된 CPU 커널 대비 138배 빠르고, 생성된 GPU 커널 대비 41배 빠른 성능을 달성한다.
- 제안된 스케줄링 및 데이터 표현 언어는 존재하는 수작업 최적화된 구현을 능가하는 최적화된 알고리즘의 합성에 기여한다.
- 알고리즘, 데이터 표현, 스케줄링 간의 책임 분리는 독립적인 최적화를 가능하게 하며, 기존에 타겟으로 삼지 못했던 새로운 희소 텐서 연산을 Capstan에서 실행 가능하게 한다.
- 병렬 패턴 리라이팅을 통한 컴파일러의 하향 변환 파이프라인은 고수준 텐서 표현식을 RDA용 효율적인 Spatial 코드로 성공적으로 변환한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.