[DAC'21] TensorLib

TensorLib: A Spatial Accelerator Generation Framework for Tensor Algebra

Liancheng Jia, et.al. on April 26, 2021
doi.org github
obsidian에서 수정하기

author:

Abstract

텐서 대수는 다양한 영역에서 활용되고 있으며, 특히 공간 하드웨어 가속기에서 가속할 경우 고성능과 저전력을 제공할 수 있습니다. 공간 하드웨어 가속기는 설계 공간이 복잡합니다. 수동 구현에 기반한 기존 접근 방식은 프로그래밍 생산성이 낮아 철저한 설계 공간 탐색이 불가능합니다. 이 백서에서는 텐서 대수 애플리케이션을 위한 공간 하드웨어 가속기를 생성하기 위한 프레임워크인 TensorLib를 제안합니다. TensorLib은 서로 다른 데이터 흐름이 공통 하드웨어 모듈을 공유하며, 이를 여러 설계에서 재사용할 수 있다는 점에 착안해 개발되었습니다. 이러한 프레임워크를 구축하기 위해 TensorLib은 먼저 간단한 변환 행렬을 사용해 하드웨어 데이터 흐름을 압축적으로 나타낼 수 있는 시공간 변환을 사용해 다양한 데이터 흐름을 탐색합니다. 그런 다음, 다양한 데이터 흐름의 공통 구조를 파악하고 Chisel을 사용해 매개변수화된 하드웨어 모듈 템플릿을 구축합니다. 생성 프레임워크는 각 데이터 흐름에 필요한 하드웨어 모듈을 선택하고, 지정된 상호 연결 패턴을 사용하여 모듈을 연결하고, 전체 하드웨어 가속기 설계를 자동으로 생성할 수 있습니다. TensorLib은 공간 하드웨어 아키텍처의 개발 및 최적화를 위한 생산성을 획기적으로 개선하여 성능, 면적, 전력의 절충점을 갖춘 풍부한 설계 공간을 제공합니다. 실험에 따르면 TensorLib은 다양한 데이터 흐름을 가진 하드웨어 설계를 자동으로 생성할 수 있으며, 최신 기술에 비해 FPGA에서 21%의 성능 향상을 달성할 수 있습니다.

Figure

figure 1 figure 1

figure 2 figure 2

figure 3 figure 3

figure 4 figure 4

figure 5 figure 5

Table

table I table I

table II table II

Background

Result

figure 6 figure 6