DOI QR코드

DOI QR Code

딥 뉴럴 네트워크 지원을 위한 뉴로모픽 소프트웨어 플랫폼 기술 동향

Trends in Neuromorphic Software Platform for Deep Neural Network

  • 발행 : 2018.08.01

초록

Deep neural networks (DNNs) are widely used in various domains such as speech and image recognition. DNN software frameworks such as Tensorflow and Caffe contributed to the popularity of DNN because of their easy programming environment. In addition, many companies are developing neuromorphic processing units (NPU) such as Tensor Processing Units (TPUs) and Graphical Processing Units (GPUs) to improve the performance of DNN processing. However, there is a large gap between NPUs and DNN software frameworks due to the lack of framework support for various NPUs. A bridge for the gap is a DNN software platform including DNN optimized compilers and DNN libraries. In this paper, we review the technical trends of DNN software platforms.

키워드

과제정보

연구 과제번호 : 인공지능 시스템을 위한 뉴로모픽 컴퓨팅 SW 플랫폼 기술 개발

연구 과제 주관 기관 : 정보통신기술진흥센터

참고문헌

  1. M. Abadi et al., "TensorFlow: A System for Large-scale Machine Learning," In Proc. USENIX Conf. Oper. Syst. Des. Implementation, Berkeley, CA, USA, 2016, pp. 265-283.
  2. Y. Jia et al., "Caffe: Convolutional Architecture for Fast Feature Embedding," In Proc. ACM Int. Conf. Multimedia, New York, NY, USA, 2014, pp. 675-678.
  3. A. Paszke et al., "Automatic Differentiation in PyTorch," In Conf. Neural Inform. Process. Syst., Long Beach, CA, USA, 2017.
  4. Tensorflow, "XLA: Domain-Specific Compiler for Linear Algebra to Optimizes Tensorflow Computations," https://www.tensorflow.org/performance/xla/
  5. T. Chen et al., "TVM: An Automated End-to-End Optimizing Compiler for Deep Learning," Feb. 2018, arXiv: 1802.04799v2.
  6. N. Rotem et al., "Glow: Graph Lowering Compiler Techniques for Neural Networks," May 2018, arXiv: 1805.00907.
  7. P.G. Allen et al., "NNVM Compiler: Open Compiler for AI Frameworks," 2017. http://tvmlang.org/2017/10/06/nnvmcompiler-announcement.html
  8. R. Wei, L. Schwartz, and V. Adve, "DLVM: A Modern Compiler Infrastructure for Deep Learning Systems," Nov. 2017, arXiv: 1711.03016v5.
  9. C. Lattner and V. Adve, "LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation," In Proc. Int. Symp. Code Generation Optimization, San Jose, CA, USA, Mar. 20-24, 2004, pp. 75-86.
  10. J. Ragan-Kelley et al., "Halide: A Language and Compiler for Optimizing Parallelism, Locality, and Recomputation in Image Processing Pipelines," In Proc. ACM SIGPLAN Conf. Programming Language Des. Implement., Seattle, WA, USA, June 2013, pp. 519-530.
  11. F. Seide and A. Agarwal, "CNTK: Microsoft'S Opensource Deep-Learning Toolkit," In Proc. ACM SIGKDD Int. Conf. Knowl. Discovery Data Mining, San Francisco, CA, USA, Aug. 2016, pp. 2135-2135.
  12. ONNX. https://onnx.ai/
  13. D. Kirk, "NVIDIA Cuda Software and GPU Parallel Computing Architecture," In Proc. Int. Symp. Memory Manag., Montreal, Canada, Oct. 2007, pp. 103-104.
  14. J.E. Stone, D. Gohara, and G. Shi, "OpenCL: A Parallel Programming Standard for Heterogeneous Computing Systems," Comput. Sci. Eng., vol. 12, no. 3, 2010, pp. 66-73.
  15. L.S. Blackford et al., "An Updated Set of Basic Linear Algebra Subprograms (BLAS)," ACM Trans. Math. Softw., vol. 28, no. 2, 2002, pp. 135-151. https://doi.org/10.1145/567806.567807
  16. NVIDIA, "cuBLAS," https://developer.nvidia.com/cublas
  17. NVIDIA, "cuDNN," https://developer.nvidia.com/cudnn
  18. C. Nugteren, "CLBlast: A Tuned OpenCL BLAS Library," In Proc. Int. Workshop OpenCL, Oxford, UK, May 2018, pp. 5:1-5:10.
  19. Intel, "Intel Open Sources OpenCL Deep Neural Network Library for Intel GPUs," 2017. https://software.intel.com/en-us/forums/opencl/topic/735271
  20. C. Nugteren and V. Codreanu, "CLTune: A Generic Auto-Tuner for OpenCL Kernels," In Proc. Int. Symp. Embedded Multicore/Many-Core Syst.-on-Chip, Turin, Italy, Sept. 23-25, 2015, pp. 195-202.
  21. ANACONDA, "Library to Manipulate Arrays on GPU," https://anaconda.org/anaconda/libgpuarray