obsidian에서 수정하기
Abstract
텐서 연산은 방대한 데이터 양과 연산이 요구되기 때문에 전통적인 범용 컴퓨팅 장치로는 처리하기 어렵습니다. 이러한 문제는 하드웨어 가속과 소프트웨어 매핑을 포함한 종합적인 솔루션이 필요합니다. 하드웨어/소프트웨어(HW/SW) 공동 설계는 하드웨어와 소프트웨어를 조화롭게 최적화하여 고품질의 솔루션을 생산합니다.
공동 설계 흐름에서는 두 가지 주요 도전과제가 있습니다.
- 텐서 계산을 분할하는 여러 방법이 존재하며, 이들은 성능과 에너지 효율성에 다른 영향을 미칩니다. 또한, 하드웨어 부분은 공간 가속기의 본질적인 기능으로 구현되어야 합니다. 프로그래머가 수동으로 분할 방법을 식별하고 분석하기는 어렵습니다.
- HW/SW 분할, 하드웨어 최적화 및 소프트웨어 최적화를 포함하는 전체 설계 공간이 매우 큽니다. 이 설계 공간을 효율적으로 탐색할 필요가 있습니다.
이를 위해, 우리는 텐서 연산에 효율적인 HW/SW 솔루션을 제공하는 민첩한 공동 설계 접근법인 HASCO를 제안합니다.
- 우리는 통합 IR로 텐서 구문 트리를 사용하며, 이를 기반으로 분할 방법을 식별하기 위한 두 단계 접근법을 개발했습니다. 각 방법에 대해 HASCO는 하드웨어 및 소프트웨어 설계 공간을 탐색합니다.
- 탐색에 서로 다른 목표와 평가 비용이 있는 다양한 알고리즘을 제안
- 하드웨어 최적화를 위해 다목적 베이지안 최적화 알고리즘을 개발
- 소프트웨어 최적화를 위해서는 휴리스틱 및 Q-러닝 알고리즘을 사용
실험 결과 HASCO는 하드웨어와 소프트웨어를 별도로 개발하는 것과 비교하여 HW/SW 공동 설계를 통해 1.25X에서 1.44X까지의 지연 시간 감소를 달성했습니다.
Figure
figure 1
figure 2
figure 3
figure 5
figure 6
figure 7
figure 8
figure 9
figure 10
figure 11
Table
table I
table II
table III