Back to Search
Start Over
Compiler-assisted Operator Template Library for DNN Accelerators.
- Source :
-
International Journal of Parallel Programming . Oct2021, Vol. 49 Issue 5, p628-645. 18p. - Publication Year :
- 2021
-
Abstract
- Despite many dedicated accelerators are gaining popularity for their performance and energy efficiency in the deep neural network (DNN) domain, high-level programming support for these accelerators remains thin. In contrast to existing researches targeting the whole DNNs, we choose to dive into details and review this problem from a finer-grained level, operators. Due to performance concerns, operator programmers may have to take hand-written assembly as their first choice, which is error-prone and involves many programming chores. To alleviate this problem, we propose TOpLib, a compiler-assisted template library. By providing a unified user-view abstraction, TOpLib allows programmers to express computational kernels with high-level tensor primitives, which will be automatically lowered into low-level intrinsic primitives via expression templates. Moreover, considering memory management is performance-critical and the optimization strategy of expression template is limited to enumeration based rewriting rules, we implement TOpLib with a compiler-assisted approach. We address the memory reuse challenges into the compiler, which allows TOpLib to make full use of on-chip buffers and result in better performance. Experiments over 55 typical DNN operators demonstrate that TOpLib can generate scalable code with performance faster than or on par with hand-written assembly versions. [ABSTRACT FROM AUTHOR]
Details
- Language :
- English
- ISSN :
- 08857458
- Volume :
- 49
- Issue :
- 5
- Database :
- Academic Search Index
- Journal :
- International Journal of Parallel Programming
- Publication Type :
- Academic Journal
- Accession number :
- 152058424
- Full Text :
- https://doi.org/10.1007/s10766-021-00701-6