? DLPlib: A Library for Deep Learning Processor
Journal of Computer Science and Technology
Quick Search in JCST
 Advanced Search 
      Home | PrePrint | SiteMap | Contact Us | FAQ
Indexed by   SCIE, EI ...
Bimonthly    Since 1986
Journal of Computer Science and Technology 2017, Vol. 32 Issue (2) :286-296    DOI: 10.1007/s11390-017-1722-2
Computer Architecture and Systems Current Issue | Archive | Adv Search << Previous Articles | Next Articles >>
DLPlib: A Library for Deep Learning Processor
Hui-Ying Lan1,2,3, Lin-Yang Wu1,2,3, Student Member, CCF, Xiao Zhang1,2, Jin-Hua Tao1,2, Xun-Yu Chen1,2, Bing-Rui Wang1,2,4, Yu-Qing Wang1,2,4, Qi Guo1,2, Member, CCF, Yun-Ji Chen1,2
1 State Key Laboratory of Computer Architecture, Institute of Computing Technology, Chinese Academy of Sciences Beijing 100190, China;
2 Microprocessor Research Center, Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190, China;
3 University of Chinese Academy of Sciences, Beijing 100049, China;
4 Department of Computer Science, University of Science and Technology of China, Hefei 230026, China

Related Articles
Download: [PDF 878KB]     Export: BibTeX or EndNote (RIS)  
Abstract Recently, deep learning processors have become one of the most promising solutions of accelerating deep learning algorithms. Currently, the only method of programming the deep learning processors is through writing assembly instructions by bare hands, which costs a lot of programming efforts and causes very low efficiency. One solution is to integrate the deep learning processors as a new back-end into one prevalent high-level deep learning framework (e.g., TPU (tensor processing unit) is integrated into Tensorflow directly). However, this will obstruct other frameworks to profit from the programming interface. The alternative approach is to design a framework-independent low-level library for deep learning processors (e.g., the deep learning library for GPU, cuDNN). In this fashion, the library could be conveniently invoked in high-level programming frameworks and provides more generality. In order to allow more deep learning frameworks to gain benefits from this environment, we envision it as a low-level library which could be easily embedded into current high-level frameworks and provide high performance. Three major issues of designing such a library are discussed. The first one is the design of data structures. Data structures should be as few as possible while being able to support all possible operations. This will allow us to optimize the data structures easier without compromising the generality. The second one is the selection of operations, which should provide a rather wide range of operations to support various types of networks with high efficiency. The third is the design of the API, which should provide a flexible and user-friendly programming model and should be easy to be embedded into existing deep learning frameworks. Considering all the above issues, we propose DLPlib, a tensor-filter based library designed specific for deep learning processors. It contains two major data structures, tensor and filter, and a set of operators including basic neural network primitives and matrix/vector operations. It provides a descriptor-based API exposed as a C++ interface. The library achieves a speedup of 0.79x compared with the performance of hand-written assembly instructions.
Articles by authors
Hui-Ying Lan
Lin-Yang Wu
Xiao Zhang
Jin-Hua Tao
Xun-Yu Chen
Bing-Rui Wang
Yu-Qing Wang
Qi Guo
Yun-Ji Chen
Keywordsdeep learning processor   API   library   DLPlib     
Received 2016-11-02;

This work is partially supported by the National Natural Science Foundation of China under Grant Nos. 61432016, 61472396, 61473275, 61522211, 61532016, 61521092, 61502446, 61672491, 61602441, and 61602446, the National Basic Research 973 Program of China under Grant No. 2015CB358800, and the Strategic Priority Research Program of the Chinese Academy of Sciences under Grant No. XDB02040009.

About author: Hui-Ying Lan received her B.E. degree in software engineering from Wuhan University, Wuhan, in 2012. She received her Master's degree from School of Software and Microelectronics, Peking University, Beijing, in 2015. She is currently a Ph.D. student at Institute of Computing Technology, Chinese Academy of Sciences, Beijing. Her research interests include computer architecture and computational intelligence.
Cite this article:   
Hui-Ying Lan, Lin-Yang Wu, Xiao Zhang, Jin-Hua Tao, Xun-Yu Chen, Bing-Rui Wang, Yu-Qing Wang, Qi Guo, Yun-Ji Chen.DLPlib: A Library for Deep Learning Processor[J]  Journal of Computer Science and Technology, 2017,V32(2): 286-296
Copyright 2010 by Journal of Computer Science and Technology