[ISCA'21] HASCO

HASCO: Towards Agile HArdware and Software CO-design for Tensor Computation

Qingcheng Xiao, et.al. on May 4, 2021
doi.org
obsidian에서 수정하기

Abstract

텐서 연산은 방대한 데이터 양과 연산이 요구되기 때문에 전통적인 범용 컴퓨팅 장치로는 처리하기 어렵습니다. 이러한 문제는 하드웨어 가속과 소프트웨어 매핑을 포함한 종합적인 솔루션이 필요합니다. 하드웨어/소프트웨어(HW/SW) 공동 설계는 하드웨어와 소프트웨어를 조화롭게 최적화하여 고품질의 솔루션을 생산합니다.

공동 설계 흐름에서는 두 가지 주요 도전과제가 있습니다.

  1. 텐서 계산을 분할하는 여러 방법이 존재하며, 이들은 성능과 에너지 효율성에 다른 영향을 미칩니다. 또한, 하드웨어 부분은 공간 가속기의 본질적인 기능으로 구현되어야 합니다. 프로그래머가 수동으로 분할 방법을 식별하고 분석하기는 어렵습니다.
  2. HW/SW 분할, 하드웨어 최적화 및 소프트웨어 최적화를 포함하는 전체 설계 공간이 매우 큽니다. 이 설계 공간을 효율적으로 탐색할 필요가 있습니다.

이를 위해, 우리는 텐서 연산에 효율적인 HW/SW 솔루션을 제공하는 민첩한 공동 설계 접근법인 HASCO를 제안합니다.

  • 우리는 통합 IR로 텐서 구문 트리를 사용하며, 이를 기반으로 분할 방법을 식별하기 위한 두 단계 접근법을 개발했습니다. 각 방법에 대해 HASCO는 하드웨어 및 소프트웨어 설계 공간을 탐색합니다.
  • 탐색에 서로 다른 목표와 평가 비용이 있는 다양한 알고리즘을 제안
    • 하드웨어 최적화를 위해 다목적 베이지안 최적화 알고리즘을 개발
    • 소프트웨어 최적화를 위해서는 휴리스틱 및 Q-러닝 알고리즘을 사용

실험 결과 HASCO는 하드웨어와 소프트웨어를 별도로 개발하는 것과 비교하여 HW/SW 공동 설계를 통해 1.25X에서 1.44X까지의 지연 시간 감소를 달성했습니다.

Figure

figure 1 figure 1

figure 2 figure 2

figure 3 figure 3

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

Table

table I table I

table II table II

table III table III