[ASPLOS'18] Interstellar

Interstellar: Using Halide's Scheduling Language to Analyze DNN Accelerators

Xuan S. Yang, et.al. on September 10, 2018
doi.org
obsidian에서 수정하기

Abstract

우리는 DNN 가속기 마이크로 아키텍처와 그 프로그램 매핑이 DNN의 7개의 중첩된 루프를 계산하기 위한 루프 순서와 하드웨어 병렬성의 특정 선택을 나타내며, 이를 통해 기존의 모든 고밀도 DNN 가속기에 대한 공식 분류법을 만들 수 있음을 보여줍니다. 놀랍게도 이러한 하드웨어 변형을 만드는 데 필요한 루프 변환은 Halide의 스케줄링 언어를 통해 정확하고 간결하게 표현할 수 있습니다. 하드웨어를 생성하기 위해 Halide 컴파일러를 수정하면 이러한 이전 가속기를 공정하게 비교할 수 있는 시스템을 만들 수 있습니다. 적절한 루프 차단 체계를 사용하고 하드웨어가 복제된 루프 매핑을 지원할 수 있는 한, 다양한 하드웨어 데이터 흐름이 좋은 성능으로 비슷한 에너지 효율성을 제공합니다. 이는 루프 블로킹을 통해 대부분의 데이터 참조가 우수한 로컬리티로 온칩에 유지되고 처리 유닛의 리소스 활용도가 높기 때문입니다. 특히 메모리 시스템에서 리소스가 할당되는 방식은 에너지와 성능에 큰 영향을 미칩니다.

처리량을 일정하게 유지하면서 하드웨어 리소스 할당을 최적화하면 컨볼루션 신경망(CNN)의 경우 최대 4.2배, 장단기 메모리(LSTM)와 다층 퍼셉트론(MLP)은 각각 1.6배와 1.8배의 에너지 개선을 달성할 수 있습니다.

Figure

figure 1 figure 1

figure 2 figure 2

figure 3 figure 3

figure 4 figure 4

figure 5 figure 5

figure 6 figure 6

figure 7 figure 7

figure 8 figure 8

figure 9 figure 9

figure 10 figure 10

figure 11 figure 11

figure 12 figure 12

figure 13 figure 13

figure 14 figure 14

Table

table 1 table 1

table 2 table 2

table 3 table 3

table 4 table 4