NVR: Vector Runahead on NPUs for Sparse Memory Access
Created by
Haebom
Category
Empty
저자
Hui Wang, Zhengpeng Zhao, Jing Wang, Yushu Du, Yuan Cheng, Bing Guo, He Xiao, Chenhao Ma, Xiaomeng Han, Dean You, Jiapeng Guan, Ran Wei, Dawei Yang, Zhe Jiang
개요
본 논문은 심층 신경망(DNN)의 스파스성을 활용하여 모델 파라미터 크기 증가를 줄이는 연구에 초점을 맞추고 있습니다. 스파스성 및 가지치기를 통한 연산 시간 단축은 불규칙적인 메모리 접근 패턴으로 인한 캐시 미스 문제로 어려움을 겪고 있는데, 이를 해결하기 위해 NPU Vector Runahead (NVR)라는 새로운 프리페칭 메커니즘을 제시합니다. NVR은 일반적인 프로세서의 메모리 패턴 최적화 방식 대신 NPU의 고유한 아키텍처에 맞춰 실행을 미리 수행하는 방식을 채택하여, 컴파일러나 알고리즘 지원 없이도 스파스 DNN 워크로드에 대한 일반적인 마이크로 아키텍처 솔루션을 제공합니다. NPU와 함께 작동하는 경량 하드웨어 서브 스레드로 작동하며, 하드웨어 오버헤드는 5% 미만입니다. 실험 결과, NVR은 기존 최고 성능의 일반 목적 프로세서 프리페칭 방식에 비해 캐시 미스를 평균 90% 줄이고, 프리페칭이 없는 NPU 대비 스파스 워크로드에서 평균 4배의 속도 향상을 달성했습니다. 또한, NPU에 소규모 캐시(16KB)를 통합하는 것이 L2 캐시 크기를 동일하게 늘리는 것보다 5배 더 높은 성능 향상을 제공함을 보여줍니다.
시사점, 한계점
•
시사점:
◦
NPU의 아키텍처에 특화된 프리페칭 메커니즘(NVR)을 통해 스파스 DNN 워크로드의 성능을 크게 향상시킬 수 있음을 보여줌.