为什么GPU运算东旅移民速度快比CPU的运算东旅移民速度快快

GPU和CPU计算效率比较_sophia_hxw_新浪博客
GPU和CPU计算效率比较
1,GPU的工作技术含量相比CPU低多了。CPU就像是博士生,从加减乘除到积分微分样样拿手,难题都难不住他,但是工作量很少,只解决关键问题。相反GPU则是一大群小学生,进行整数运算和逻辑运算,面对同样的一千道加减乘除,一千个小学生干活的速度肯定比一个博士生快得多,其实就完全是数量造成的质变,简单粗暴~
2,从单核单线程性能来看,GPU 的浮点性能并不强于
CPU。那么为什么 GPU 跑评测能够有更好的浮点性能?因为 GPU 几乎必定是等效于多核多线程的。例如根据资料记载 GTX295 有 480 个 CUDA
核,也就是说进行浮点运算的时候相当于
480 核心的 CPU。用一个 480 核心 的 CPU 跟
8 核心 4 核心的 CPU 去比较,自然结果很显然了。。。这涉及到 GPU 跟 CPU 任务的典型区别, GPU
任务通常是可以高度的并行化的,而 CPU 任务往往难以拆分成多个线程。
3,导致GPU在某些运算上比CPU快的因素有很多,一种简单的理解方式:CPU上大量的晶体管被用来做Cache,而GPU上绝大部分晶体管被用来做ALU。用来做运算的晶体管多了,自然速度会快。但不是所有的并行运算在GPU上都快。需要满足一些限制条件才能充分发挥GPU的处理能力,比如内存访问的Pattern
/ Branch的类型和数量。
4,目前 GPU
处理的数据有两个特点:一是大量数据相关性不大,可以并行处理;二是数据结构不复杂,适合高数据带宽的优化。如果数据符合这两条,其实 CPU
加上 SSE 也会很快。不过 CPU 目前处理的数据都是相关性很复杂的。
sophia_hxw
博客等级:
博客积分:0
博客访问:3,896
关注人气:0
荣誉徽章:&&&加速计算&
什么是 GPU 加速计算?
GPU 加速计算是指同时利用图形处理器 (GPU) 和 CPU,加快科学、分析、工程、消费和企业应用程序的运行速度。GPU 加速器于 2007 年由 NVIDIA(R) 率先推出,现已在世界各地为政府实验室、高校、公司以及中小型企业的高能效数据中心提供支持。GPU 能够使从汽车、手机和平板电脑到无人机和机器人等平台的应用程序加速运行.
GPU 如何加快软件应用程序的运行速度
GPU 加速计算可以提供非凡的应用程序性能,能将应用程序计算密集部分的工作负载转移到 GPU,同时仍由 CPU 运行其余程序代码。从用户的角度来看,应用程序的运行速度明显加快.
& GPU 与 CPU 性能比较 理解 GPU 和 CPU 之间区别的一种简单方式是比较它们如何处理任务。CPU 由专为顺序串行处理而优化的几个核心组成,而 GPU 则拥有一个由数以千计的更小、更高效的核心(专为同时处理多重任务而设计)组成的大规模并行计算架构。 &
观看以下比较 GPU 与 CPU 的有趣视频片段。
请观看以下比较 CPU 和 GPU 的有趣视频片段.
视频:Mythbusters 演示:GPU 与 CPU (01:34)
由于超过 ,所有 GPU 用户均可体验到显著的工作负载吞吐量提升。请查看 (PDF 1.9 MB),看看您使用的应用程序是否支持 GPU 加速。
立即开始使用
利用 GPU 加速您的应用程序的基本方法有三种:
使用专为 GPU 优化的库
添加编译器“提示”,以便实现代码的自动并行化
使用针对 C 和 Fortran 等标准语言的扩展程序
轻松学会如何将 GPU 与 CUDA 并行编程模型搭配使用.
如需参加免费的在线课程以及下载开发者资源,请访问 CUDA 专区.2430人阅读
视音频技术(118)
CPU和GPU都是具有运算能力的芯片,CPU更像“通才”——指令运算(执行)为重+数值运算,GPU更像“专才”——图形类数值计算为核心。在不同类型的运算方面的速度也就决定了它们的能力——“擅长和不擅长”。芯片的速度主要取决于三个方面:微架构,主频和IPC(每个时钟周期执行的指令数)。
CPU微架构的设计是面向指令执行高效率而设计的,因而CPU是计算机中设计最复杂的芯片。和GPU相比,CPU核心的重复设计部分不多,这种复杂性不能仅以晶体管的多寡来衡量,这种复杂性来自于实现:如程序分支预测,推测执行,多重嵌套分支执行,并行执行时候的指令相关性和数据相关性,多核协同处理时候的数据一致性等等复杂逻辑。
GPU其实是由硬件实现的一组图形函数的集合,这些函数主要用于绘制各种图形所需要的运算。这些和像素,光影处理,3D坐标变换等相关的运算由GPU硬件加速来实现。图形运算的特点是大量同类型数据的密集运算——如图形数据的矩阵运算,GPU的微架构就是面向适合于矩阵类型的数值计算而设计的,大量重复设计的计算单元,这类计算可以分成众多独立的数值计算——大量数值运算的线程,而且数据之间没有像程序执行的那种逻辑关联性。
因此从微架构上看,CPU擅长的是像、系统软件和通用应用程序这类拥有复杂指令调度、循环、分支、逻辑判断以及执行等的程序任务。它的并行优势是程序执行层面的,程序逻辑的复杂度也限定了程序执行的指令并行性,上百个并行程序执行的线程基本看不到。GPU擅长的是图形类的或者是非图形类的高度并行数值计算,GPU可以容纳上千个没有逻辑关系的数值计算线程,它的优势是无逻辑关系数据的并行计算。
GPU执行每个数值计算的速度并没有比CPU快,从目前主流CPU和GPU的主频就可以看出了,CPU的主频都超过了2GHz,甚至3GHz,而GPU的主频最高还不到2GHz,主流的也就1GHz。所以GPU在执行少量线程的数值计算时速度并不能超过CPU。
目前GPU数值计算的优势主要是浮点运算,它执行浮点运算快是靠大量并行,但是这种数值运算的并行性在面对程序的逻辑执行时毫无用处。
IPC(每个时钟周期执行的指令数)
这个方面,CPU和GPU无法比较,因为GPU大多数指令都是面向数值计算的,少量的控制指令也无法被操作系统和软件直接使用。如果比较数据指令的IPC,GPU显然要高过CPU,因为并行的原因。但是,如果比较控制指令的IPC,自然是CPU的要高的多。原因很简单,CPU着重的是指令执行的并行性。
另外,目前有些GPU也能够支持比较复杂的控制指令,比如条件转移、分支、循环和子程序调用等,但是GPU程序控制这方面的增加,和支持操作系统所需要的能力CPU相比还是天壤之别,而且指令执行的效率也无法和CPU相提并论。
总结一下:
CPU更适合处理逻辑控制密集的计算任务,而GPU适合处理数据密集的计算任务。并且由于现代CPU的发展,使得CPU与计算机主存的交换速度要远远大于GPU与计算机主存的交换速度,因此GPU更适合处理SIMD(SingleInstruction
MultiData,单数据多指令)的运算,即将数据放到显存中进行多次计算的计算任务。
目前比较流行CPU+GPU的协同计算模型,在这个模型中,CPU与CPU协同工作,各司其职。CPU负责进行逻辑性强的事物处理和串行计算,GPU则专注于执行高度线程化的并行处理任务。CPU、GPU各自拥有相互独立的存储器地址空间:主机端的内存和设备端的显存。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:663919次
积分:8847
积分:8847
排名:第2142名
原创:154篇
转载:600篇
评论:38条
(1)(33)(8)(19)(9)(29)(46)(11)(84)(58)(50)(81)(26)(35)(30)(3)(28)(10)(7)(21)(3)(15)(16)(47)(8)(2)(19)(3)(8)(10)(3)(5)(2)(14)(4)(5)(1)跑得快GPU为什么跑得快_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
跑得快GPU为什么跑得快
&&跑得快GPU为什么跑得快
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 哪种浏览器速度快 的文章

 

随机推荐