Core Concepts
PIMCOMP는 다양한 PIM 아키텍처에 적응하고 DNN 모델 배포를 자동화하여 PIM 가속기의 성능과 에너지 효율성을 극대화하는 엔드투엔드 DNN 컴파일러입니다.
Abstract
PIMCOMP: 프로세싱-인-메모리 가속기용 엔드투엔드 DNN 컴파일러
본 논문은 딥 뉴럴 네트워크(DNN)를 프로세싱-인-메모리(PIM) 기반 가속기에 효율적으로 배포하는 것을 목표로 합니다. PIM 아키텍처의 다양성과 DNN 모델의 복잡성으로 인해 발생하는 수동 배포의 어려움을 해결하기 위해 자동화된 배포 방법론을 제시합니다.
본 논문에서는 PIM 가속기를 위한 엔드투엔드 DNN 컴파일러인 PIMCOMP를 제안합니다. PIMCOMP는 다음과 같은 세 가지 주요 구성 요소로 이루어져 있습니다.
PIM 가속기 추상화: 다양한 PIM 아키텍처를 지원하기 위해 하드웨어 템플릿, 의사 명령어 세트, 설정 가능한 실행 패턴을 포함하는 추상화 계층을 설계했습니다.
다단계 최적화: PIMCOMP는 레이어 분할, 레이아웃-계산 매핑, 데이터 흐름 스케줄링의 세 단계로 구성된 최적화 프레임워크를 사용합니다. 레이어 분할 단계에서는 유연한 언폴딩 형식을 사용하여 컨볼루션 레이어를 재구성하고 분할합니다. 레이아웃-계산 매핑 단계에서는 가중치 복제 및 레이아웃을 최적화하기 위해 유전 알고리즘을 사용하고, 계산 작업을 PIM 배열에 적응적으로 할당합니다. 데이터 흐름 스케줄링 단계에서는 높은 계산 병렬 처리를 보장하면서 다양한 애플리케이션 시나리오를 지원하기 위해 서로 다른 계층 간 파이프라인 세분성을 가진 두 가지 스케줄링 알고리즘을 설계했습니다.
프로파일러: PIMCOMP는 성능 평가 및 반복적인 최적화를 위한 프로파일러를 포함합니다.