异构计算, GPU和框架选型指南

深度学习训练和推理的过程中,会涉及到大量的向量(vector),矩阵(matrix)和张量(tensor)操作,通常需要大量的浮点计算,包括高精度(在训练的时候)和低精度(在推理和部署的时候)。GPU, 作为一种通用可编程的加速器,最初设计是用来进行图形处理和渲染功能,但是从2007年开始,英伟达(NVIDIA)公司提出了第一个可编程通用计算平台(GPU),同时提出了CUDA框架,从此开启了GPU用于通用计算的新纪元。此后,不计其数的科研人员和开发者,对各种不同类型的算法用CUDA进行(部分)改写,从而达到几倍到数百倍的加速效果。尤其是在机器学习,特别是深度学习的浪潮来临后,GPU加速已经是各类工具实现的基本底层构架之一。本章里,会简单介绍GPU的基本架构,性能指标,框架选择等等和深度学习相关的内容。