关于深度学习使用GPU的说明

关于深度学习使用GPU的说明

1.关于GPU和CPU概念上区分

GPU 加速计算是指同时利用图形处理器 (GPU) 和 CPU,加快科学、分析、工程、消费和企业应用程序的运行速度。GPU 加速器于 2007 年由 NVIDIA® 率先推出,现已在世界各地为政府实验室、高校、公司以及中小型企业的高能效数据中心提供支持。GPU 能够使从汽车、手机和平板电脑到无人机和机器人等平台的应用程序加速运行

GPU 如何加快软件应用程序的运行速度
GPU 加速计算可以提供非凡的应用程序性能,能将应用程序计算密集部分的工作负载转移到 GPU,同时仍由 CPU 运行其余程序代码。从用户的角度来看,应用程序的运行速度明显加快.

GPU 与 CPU 性能比较
理解 GPU 和 CPU 之间区别的一种简单方式是比较它们如何处理任务。CPU 由专为顺序串行处理而优化的几个核心组成,而 GPU 则拥有一个由数以千计的更小、更高效的核心(专为同时处理多重任务而设计)组成的大规模并行计算架构。

GPU的工作原理关于深度学习使用GPU的说明
最好的GPU整体(小幅度):Titan Xp

综合性价比高,但略贵:GTX 1080 Ti,GTX 1070,GTX 1080

性价比还不错且便宜:GTX 1060(6GB)

当使用数据集> 250GB:GTX Titan X(Maxwell) ,NVIDIA Titan X Pascal或NVIDIA Titan Xp

没有足够的钱:GTX 1060(6GB)

几乎没有钱:GTX 1050 Ti(4GB)

做Kaggle比赛:GTX 1060(6GB)适用于任何“正常”比赛,或GTX 1080 Ti用于“深度学习竞赛”

计算机视觉研究员:NVIDIA Titan Xp;不要买现在新出的Titan X(Pascal或Maxwell)

一名研究员人员:GTX 1080 Ti。在某些情况下,如自然语言处理,一个GTX 1070或GTX 1080已经

足够了-检查你现在模型的内存需求。
  NVIDIA的标准库使得基于CUDA来建立第一个深度学习库变得非常容易,而AMD的OpenCL则没有这样强大的标准库。现在,AMD卡没有像这样好的深度学习库,所以就只有NVIDIA。即使未来有一些OpenCL库可能也可用,但我也会坚持使用NVIDIA,因为GPU计算能力或GPGPU社区非常强大,可以持续促进CUDA的发展,而OpenCL则相对有限。因此,在CUDA社区中,很容易获得不错的开源解决方案和可靠的建议。
  在选择GPU时,首先要考虑的第一个GPU性能问题是什么呢:是否为cuda核心?时钟速度多大?内存大小多少?

这些都不是,对于深度学习性能而言,最重要的特征是内存带宽(memory bandwidth)。

简而言之:GPU针对内存带宽进行了优化,但同时牺牲了内存访问时间(延迟)。CPU的设计恰恰相反:如果涉及少量内存(例如几个数字相乘(3 * 6 * 9)),CPU可以快速计算,但是对于大量内存(如矩阵乘法(A * B * C)则很慢。由于内存带宽的限制,当涉及大量内存的问题时,GPU快速计算的优势往往会受到限制。

GPU的优势所在
  1.GPU 不仅能实现数据库的许多功能,而且其强大的计算能力,能实现实时分析;
  2.GPU 数据库的另一大特色是可视化渲染和绘制,将 OpenGL 等的 缓冲区直接映射成 GPU     CUDA 里的显存空间,原地渲染,无需将结果从内存拷到 GPU,可以实现高帧频的动画。     也可以原地绘制成 PNG 或视频 stream,再发给客户端,大大减少网络传输的数据量。