핵심 개념
공간 컴퓨팅 아키텍처인 AMD AI 엔진을 위한 확장 가능하고 재사용 가능한 BLAS 라이브러리 AIEBLAS를 개발하고 있다.
초록
이 논문은 AMD AI 엔진을 위한 BLAS(Basic Linear Algebra Routines) 라이브러리 AIEBLAS의 개발 과정을 설명한다.
AIEBLAS는 다음과 같은 목표를 가지고 있다:
- 사용자가 복잡한 저수준 코드를 작성하지 않고도 사용할 수 있는 준비된 수치 루틴 제공
- 새로운 기능과 최적화를 쉽게 추가할 수 있는 확장성
- 데이터 흐름 접근법을 통해 온칩 통신을 자연스럽게 지원
AIEBLAS는 사용자가 JSON 파일에 명시한 사양을 바탕으로 자동 코드 생성 기능을 제공한다. 이를 통해 사용자 생산성을 크게 높일 수 있다.
초기 성능 평가 결과, 데이터 흐름 기반 구성이 온칩 통신을 촉진하고 다중 루틴의 파이프라인 실행을 가능하게 하는 것으로 나타났다. 그러나 CPU 대비 성능이 아직 낮은 것으로 확인되어, 더 많은 공간 병렬 처리, 오프칩 메모리 액세스 최적화, 다중 AIE 루틴 구현 등의 추가 개선이 필요한 것으로 보인다.
향후 계획으로는 성능 향상, BLAS 커버리지 확대, 그리고 AIEBLAS의 오픈소스 공개를 통한 커뮤니티 참여 유도 등이 있다.
통계
AMD AI 엔진 어레이는 8 x 50의 400개 AIE로 구성되어 있다.
각 AIE에는 32KB의 로컬 메모리와 VLIW 벡터 프로세서가 포함되어 있다.
AIE 어레이와 프로그래밍 가능 로직(PL) 간 AXI4 인터페이스는 각각 312개(PL→AIE)와 234개(AIE→PL)로, 초당 4GB의 속도로 동작한다.
인용구
"공간 컴퓨팅 아키텍처는 기존 폰 노이만 모델에서 벗어나 가용 트랜지스터와 칩 공간을 보다 효율적으로 활용하는 것을 목표로 한다."
"AIEBLAS는 사용자가 복잡한 저수준 코드를 작성하지 않고도 사용할 수 있는 준비된 수치 루틴을 제공하고, 새로운 기능과 최적화를 쉽게 추가할 수 있는 확장성을 가지며, 데이터 흐름 접근법을 통해 온칩 통신을 자연스럽게 지원한다."