了解GPU加速计算

article/2025/8/28 13:47:48

1、什么是GPU加速计算

 GPU,又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器,与CPU类似,只不过GPU是专为执行复杂的数学和几何计算而设计的,这些计算是图形渲染所必需的。随着人工智能的发展,如今的GPU已经不再局限于3D图形处理了。GPU 加速计算是指同时利用图形处理器 (GPU) 和 CPU,加快科学、分析、工程、消费和企业应用程序的运行速度。GPU 加速器于 2007 年由 NVIDIA® 率先推出,现已在世界各地为政府实验室、高校、公司以及中小型企业的高能效数据中心提供支持。GPU 能够使从汽车、手机和平板电脑到无人机和机器人等平台的应用程序加速运行。

2、GPU与CPU的性能比较

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

GPU的特点是有大量的核(多达几千个核)和大量的高速内存,最初被设计用于游戏,计算机图像处理等。GPU主要擅长做类似图像处理的并行计算,所谓的“粗粒度并行(coarse-grainparallelism)”。这个对于图像处理很适用,因为像素与像素之间相对独立,GPU提供大量的核,可以同时对很多像素进行并行处理。但这并不能带来延迟的提升(而仅仅是处理吞吐量的提升)。比如,当一个消息到达时,虽然GPU有很多的核,但只能有其中一个核被用来处理当前这个消息,而且GPU核通常被设计为支持与图像处理相关的运算,不如CPU通用。GPU主要适用于在数据层呈现很高的并行特性(data-parallelism)的应用,比如GPU比较适合用于类似蒙特卡罗模拟这样的并行运算。


CPU和GPU本身架构方式和运算目的不同导致了CPU和GPU之间的不同,主要不同点列举如下。


更形象点的说法是:

现在全班要去春游,你有一辆保时捷和一辆大巴:保时捷只有四个座位,但半个小时就到了;大巴有50个座位,但要一个多小时。为了让全班尽早过去,大巴一定是首选。从计算的角度看,各位的CPU就是保时捷,GPU就是大巴。GPU每个核心都很弱,但众多的核心还是让GPU在并行计算上拥有了相当的优势。另外一点,GPU有相当的价格优势。单纯从浮点数计算能力来看,不到300块的GT430(91.564G)已经接近于一两千块的i7(107.6G)。

以下比较 CPU 和 GPU 的有趣视频片段.

http://v.youku.com/v_show/id_XNjY3MTY4NjAw.html

3、GPU的优势

上面已经介绍的很详细。因为GPU的特点特别适合于大规模并行运算,GPU在“深度学习”领域发挥着巨大的作用,因为GPU可以平行处理大量琐碎信息。深度学习所依赖的是神经系统网络——与人类大脑神经高度相似的网络——而这种网络出现的目的,就是要在高速的状态下分析海量的数据。例如,如果你想要教会这种网络如何识别出猫的模样,你就要给它提供无数多的猫的图片。而这种工作,正是GPU芯片所擅长的事情。而且相比于CPU,GPU的另一大优势,就是它对能源的需求远远低于CPU。GPU擅长的是海量数据的快速处理。
将GPU加速器用于机器学习的早期用户包括诸多规模的网络和社交媒体公司,另外还有数据科学和机器学习领域中一流的研究机构。与单纯使用CPU的做法相比,GPU具有数以千计的计算核心、可实现10-100倍应用吞吐量,因此GPU已经成为数据科学家处理大数据的处理器。

4、GPU的劣势

简单地讲,不是所有运算都可以并行化,其实这也是并行计算的弱势。但几乎所有矩阵运算都有并行化的可能,所以Machine Learning的很多方法移植到GPU还是相当有搞头的。

5、现状与趋势

  工业与学术界的数据科学家已将GPU用于机器学习以便在各种应用上实现开创性的改进,这些应用包括图像分类、视频分析、语音识别以及自然语言处理等等。尤其是深度学习,人们在这一领域中一直进行大力投资和研究。深度学习是利用复杂的多级「深度」神经网络来打造一些系统,这些系统能够从海量的未标记训练数据中进行特征检测。
    虽然机器学习已经有数十年的历史,但是两个较为新近的趋势促进了机器学习的广泛应用:海量训练数据的出现以及GPU计算所提供的强大而高效的并行计算。人们利用GPU来训练这些深度神经网络,所使用的训练集大得多,所耗费的时间大幅缩短,占用的数据中心基础设施也少得多。GPU还被用于运行这些机器学习训练模型,以便在云端进行分类和预测,从而在耗费功率更低、占用基础设施更少的情况下能够支持远比从前更大的数据量和吞吐量。

目前大量的开发语言如R、Python等的机器学习/深度学习框架和包都支持GPU,比如,TensorFlow,Theano,scikit-learn 等等。

参考资料:

http://cos.name/2013/10/gossip-r-gpu/

http://blog.csdn.net/h5y6w8/article/details/48367739

http://www.nvidia.cn/object/machine-learning-cn.html













http://chatgpt.dhexx.cn/article/j5ml6Zky.shtml

相关文章

Python GPU加速

Numba:高性能计算的高生产率 在这篇文章中,笔者将向你介绍一个来自Anaconda的Python编译器Numba,它可以在CUDA-capable GPU或多核cpu上编译Python代码。Python通常不是一种编译语言,你可能想知道为什么要使用Python编译器。答案当然是&#x…

关于TensorFlow使用GPU加速

我们在安装tensorflow-gpu后,其运行时我们可以选定使用gpu来进行加速训练,这无疑会帮助我们加快训练脚步。 (注意:当我们的tensorflow-gpu安装后,其默认会使用gpu来训练) 之前博主已经为自己的python环境安装了tensorf…

GPU加速原理

原文:https://blog.csdn.net/weiweigfkd/article/details/23051255 GPU加速技术&原理介绍 1、GPU&CPU GPU英文全称Graphic Processing Unit,中文翻译为“图形处理器”。与CPU不同,GPU是专门为处理图形任务而产生的芯片。从这个任务定…

让GPU跑的更快

作为一个cuda爱好者 一定要好好看看 不再让CPU和总线拖后腿:Exafunction让GPU跑的更快!确实只用cpu会卡的一比... 在云服务中使用 GPU 是获得低延迟深度学习推理服务最经济的方式。使用 GPU 的主要瓶颈之一是通过 PCIe 总线在 CPU 和 GPU 内存之间复制…

什么是GPU 加速?

1、什么是GPU加速计算 GPU,又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器,与CPU类似,只不过GPU是专为执行复…

什么是GPU加速

1、什么是GPU加速计算 GPU,又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器,与CPU类似,只不过GPU是专为执行复…

GPU加速原理技术介绍

GPU加速技术&原理介绍 1、GPU&CPU GPU英文全称Graphic Processing Unit,中文翻译为“图形处理器”。与CPU不同,GPU是专门为处理图形任务而产生的芯片。从这个任务定位上面来说,不仅仅在计算机的显卡上面,在手机、游戏机等等各种有多媒体处理需求的地方都可以见到…

GPU加速原理浅析及代码实现

GPU加速原理浅析及代码实现 一、CUDA简介二、GPU架构特点三、CUDA线程模型四、CUDA内存模型五、CUDA编程规范**第一个要掌握的编程要点**:**我们怎么写一个能在GPU跑的程序或函数呢?****第二个要掌握的编程要点**:**CPU和GPU间的数据传输怎么…

1129-

标题1-行情概览 标题2-行情图片 标题3-重点分析 WTA原油七点开盘高开高走,导致国内原油跌停板上高开高走,下午一点半不知道什么原因又低开。铁矿收一根4.7%的大阳线。贵金属高开高走

连接mysql报错 errorCode 1129, state HY000, Host ‘xxx‘ is blocked because of many connection errors

springcloud项目启动连接mysql过程中报错. 报错关键信息如下: java.sql.SQLException: null, message from server: "Host 192.168.56.1 is blocked because of many connection errors; unblock with mysqladmin flush-hosts" 错误原因: mysql设定了单个客户端…

Navicat连接MySQL 报错 1129

启动本地项目时,由于nacos设置的数据库账号密码未将本地改为线上,导致数据库连接多次而报错,另外navicat进到该IP的线上库也报错1129,报错信息 Host’123.45.678.99’ is blocked because of many connection errors; unblock wit…

ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:1129)

在使用 requests 爬网站时报错: ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:1129)urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(hostmooc1-1.chaoxing.com, port443): Max retries exceeded with url: /work/ .......requests.ex…

【dfs爆搜】poj 1129 Channel Allocation

1129 -- Channel Allocation (poj.org) 题意: 大致的题意就是给你一张图,给这张图染色,最多能染多少种颜色 思路: 首先要构造状态图,构造完状态图之后对其进行搜索(注意是先有图再有的dfs,而…

#1121

#1121 水题,巧妙暴力,拒绝强行暴力导致TLE; 找条件 你好! 这是你第一次使用 *Markdown编辑器 #include #include #include #include #include #include #include #include #include #include #include #include #inc…

Java-1129

Java8 新特性 速度更快代码更少(lambda、stream)强大的Stream API便于并行最大化减少空指针异常Optional 速度更快:对底层数据结构哈希map的优化 解释说明hashmap基本原理 hashmap本质是一个长度16的数组元素的键值对以key:valu…

如何用管理员权限打开CMD(快捷键)

近期给电脑重新装了win10系统,在使用cmd时发现执行一些命令提示我权限不够,需要管理员权限,有两种常用方法可以使用管理员权限打开cmd命令行: 第一种:搜索cmd应用,然后点击以管理员身份运行 第二种&#x…

Windows | 管理员权限打开CMD 快捷键

大家打开CMD一般用windows R,然后在运行框中输入cmd,接着Enter就好啦。 有时候安装啥东西需要管理员权限,运气不好,需要多次使用,每次操作都相比较麻烦,于是找了快捷键。 解决方法 和打开普通权限的CMD…

如何快速进入/打开cmd--快捷键

Windows系统快速进入cmd 1.WinR(win键在键盘左下角,ctrl和alt中间是个图标) 2.如何在一个目录内快速进入cmd? 2.1进入想要进入的目录 2.2直接在地址栏输入cmd 2.3回车即可进入cmd 3.在运行里面敲cmd也可进入 4.按住SHIFT鼠标右键可以在任意目录进入cmd 别忘了选择在此处打开…