[논문 리뷰] swTVM: Exploring the Automated Compilation for Deep Learning on Sunway Architecture
swTVM는 TVM에 대한 컴파일러 확장으로, Sunway의 멀티코어 아키텍처를 위한 사전 컴파일을 가능하게 하며, 코어 그룹, DMA, 로컬 메모리를 활용해 고성능 딥러닝 추론을 실현한다. AlexNet과 VGG-19에 대해 각각 6.71배 및 2.45배의 성능 향상을 달성하여, Sunway에서 첫 번째 자동화된 딥러닝 컴파일러 솔루션으로서 높은 생산성과 효율성을 입증한다.
The flourish of deep learning frameworks and hardware platforms has been demanding an efficient compiler that can shield the diversity in both software and hardware in order to provide application portability. Among the exiting deep learning compilers, TVM is well known for its efficiency in code generation and optimization across diverse hardware devices. In the meanwhile, the Sunway many-core processor renders itself as a competitive candidate for its attractive computational power in both scientific and deep learning applications. This paper combines the trends in these two directions. Specifically, we propose swTVM that extends the original TVM to support ahead-of-time compilation for architecture requiring cross-compilation such as Sunway. In addition, we leverage the architecture features during the compilation such as core group for massive parallelism, DMA for high bandwidth memory transfer and local device memory for data locality, in order to generate efficient code for deep learning application on Sunway. The experimental results show the ability of swTVM to automatically generate code for various deep neural network models on Sunway. The performance of automatically generated code for AlexNet and VGG-19 by swTVM achieves 6.71x and 2.45x speedup on average than hand-optimized OpenACC implementations on convolution and fully connected layers respectively. This work is the first attempt from the compiler perspective to bridge the gap of deep learning and high performance architecture particularly with productivity and efficiency in mind. We would like to open source the implementation so that more people can embrace the power of deep learning compiler and Sunway many-core processor.
연구 동기 및 목표
- 다양한 하드웨어 및 소프트웨어 스택 간 이식 가능하고 효율적인 딥러닝 컴파일링의 증가하는 수요를 해결하기 위해.
- 딥러닝 프레임워크와 Sunway의 멀티코어 프로세서와 같은 고성능 아키텍처 사이의 격차를 메우기 위해.
- Sunway를 위한 자동화된 사전 컴파일링을 가능하게 하며, 이는 크로스 컴파일링과 특화된 최적화를 수반한다.
- 코어 그룹, DMA, 로컬 메모리와 같은 아키텍처 기능을 활용해 Sunway에서의 딥러닝 워크로드 생산성과 성능을 향상시키기 위해.
- Sunway 시스템에서 DNN 모델의 효율적 배포를 지원하는 재사용 가능하고 오픈소스의 컴파일러 솔루션을 제공하기 위해.
제안 방법
- TVM에 Sunway의 멀티코어 아키텍처를 향한 사전 컴파일링을 위한 지원을 추가한다.
- Sunway의 고유한 컴파일 워크플로우에 맞춰진 크로스 컴파일링 기능을 도입한다.
- Sunway의 처리 단위를 통한 막대한 병렬성 활용을 위해 코어 그룹 추상화를 활용한다.
- 글로벌 메모리와 로컬 메모리 간 고대역폭 메모리 전송 최적화를 위해 DMA 메커니즘을 활용한다.
- 데이터 국소성 최적화를 위해 로컬 장치 메모리를 활용하여 지연 시간을 감소시키고 대역폭 활용도를 향상시킨다.
- TVM의 코드 생성 파이프라인에 아키텍처 특화 최적화를 통합하여 효율적인 저수준 코드를 생성한다.
실험 결과
연구 질문
- RQ1딥러닝 컴파일러는 Sunway의 멀티코어 아키텍처와 고유한 컴파일링 및 실행 모델을 고려해 어떻게 확장될 수 있는가?
- RQ2딥뉴럴 네트워크 커널에서 Sunway의 코어 그룹, DMA, 로컬 메모리를 효과적으로 활용하기 위해 가장 유용한 최적화는 무엇인가?
- RQ3확장된 TVM을 통한 자동 코드 생성이 Sunway에서 수작업 최적화된 구현과 비교해 성능이 유사하거나 뛰어나게 할 수 있는가?
- RQ4표준 DNN 모델에서 자동으로 생성된 코드의 성능은 수작업 최적화된 OpenACC 대비 어떻게 비교되는가?
- RQ5TVM와 같은 통합 컴파일러 스택은 Sunway과 같은 신개념 고성능 아키텍처에서 이식 가능하고 효율적인 딥러닝 배포를 얼마나 잘 지원할 수 있는가?
주요 결과
- swTVM는 Sunway 아키텍처에서 다양한 딥뉴럴 네트워크 모델에 대해 최적화된 코드를 성공적으로 생성한다.
- AlexNet에 대해 자동 생성된 코드는 컬러레이션 레이어에서 수작업 최적화된 OpenACC 대비 평균 6.71배의 성능 향상을 달성한다.
- VGG-19에 대해 자동 생성된 코드는 완전히 연결된 레이어에서 OpenACC 대비 평균 2.45배의 성능 향상을 달성한다.
- 성능 향상은 자동 컴파일링이 코어 그룹과 DMA와 같은 Sunway의 아키텍처 기능을 효과적으로 활용할 수 있음을 보여준다.
- 결과는 swTVM가 Sunway에서 고성능 딥러닝을 위한 실현 가능하고 높은 생산성의 길을 제공하며, 핵심 레이어에서 수작업 최적화된 코드를 초월함을 검증한다.
- swTVM의 오픈소스화는 더 넓은 커뮤니티의 채택과 Sunway의 멀티코어 플랫폼에서의 딥러닝 탐색을 위한 추가 연구를 가능하게 한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.