GPU的并行能力十分强大,这和它先天的结构体系有关。我们觉得,这么强大并行计算能力,只用在图形领域,实在太浪费了。所以,GPU通用计算就将GPU的性能引向任何需要高密度计算的领域。
传统的图形API包括OpenGL和DirectX,这类API是用GPU来处理图形的,其并行计算也是为了图形计算的。而专用的并行计算API,就是OpenCL这样的,我们可以让GPU计算流体,模拟爆炸——这些计算都不是图形计算。用OpenGL也可以做这些计算,但最终表现为一幅“图片”,只不过这图片不是美丽的图片,而是一组计算结果映射为图形矢量形成的杂乱无章的图——这就是早先的GPU通用计算。
GPU计算可以用在很多方面,在异构超级计算机中用得最为广泛。GPU计算也可以用来为视频转码……用处很多。更多
模拟爆炸和流体这种物理运算应该是CPU的工作吧?老黄也说了往往顶级显卡在GPU性能足够的前提下掉帧是受到CPU的限制,是不是可以说实际上,一般情况下GPU通用计算没有用在辅助CPU进行物理计算上呢?
爆炸模拟,流体计算方面,因为公式十分复杂,所以,就采用多级近似的方式,将公式转换为线性公式,拆为多个并行计算,放进GPU运算。这样,GPU通过并行优势就可以快速求解了。CPU更擅长串行处理,也就是一步步去求解方程。所以,配合线性变换,GPU能更快完成工作。
顶级显卡受CPU影响掉帧……这个和GPU通用计算无关。不过,目前GPU的任务调度仍然是靠CPU完成的,因为GPU内部是没有指令集的,无法识别命令,只能由CPU安排任务。
由于异构计算的复杂性,编程同样困难,所以,目前GPU对CPU的辅助仍然有限,这主要受限于GPU通用计算编程的难度。
3DMARK里有一项测试是对CPU进行的,是物理计算测试,这里为什么测的是CPU呢?表现在画面上的是一个个球体进行自由落体运动,以及柱子,墙体等物体受球体下落的作用而被破坏。这样的计算是如何进行的呢?是CPU和GPU一起参与(CPU拆公式,然后交给GPU)吗?...我已经有点晕了,问的有点乱..见谅
一般这样的任务都是CPU完成的,比如Havok物理引擎,优先使用CPU执行。但实际上,GPU对这类物理模拟,尤其是一些非线性的模拟,更有优势,比如Nvidia的PhysX物理引擎组件。只是编程的困难程度限制了其应用。所以,目前GPU通用计算在家用领域还不多,主要用在超级计算机方面。
那么GPU通用计算是通过对CUDA和OPENCL等API编程来把串行任务转化为并行任务咯?这是我对你的解答的理解,不知道对不对...如果是这样...我还有一个问题.....我还是没搞清楚GPU运算跟GPU通用运算是不是同一个东西...
数据平台上的计算能力:哪些GPU更适合深度
NVIDIA GPU,AMD GPU还是Intel Xeon Phi?
用NVIDIA的标准库很容易搭建起CUDA的深度学习库,而AMD的OpenCL的标准库没这么强大。而且CUDA的GPU计算或通用GPU社区很大,而OpenCL的社区较小。从CUDA社区找到好的开源办法和可靠的编程建议更方便。NVIDIA从深度学习的起步时就开始投入,回报颇丰。虽然别的公司现在也对深度学习投入资金和精力,但起步较晚,落后较多。如果在深度学习上采用NVIDIA-CUDA之外的其他软硬件,会走弯路。
Intel的Xeon Phi上支持标准C代码,而且要在Xeon Phi上加速,也很容易修改这些代码。这个功能听起来有意思。但实际上只支持很少一部分C代码,并不实用。即使支持,执行起来也很慢。Tim曾用过500颗Xeon Phi的集群,遇到一个接一个的坑,比如Xeon Phi MKL和Python Numpy不兼容,所以没法做单元测试。因为Intel Xeon Phi编译器无法正确地对模板进行代码精简,比如对switch语句,很大一部分代码需要重构。因为Xeon Phi编译器不支持一些C++11功能,所以要修改程序的C接口。既麻烦,又花时间,让人抓狂。执行也很慢。当tensor大小连续变化时,不知道是bug,还是线程调度影响了性能。举个例子,如果全连接层(FC)或剔除层(Dropout)的大小不一样,Xeon Phi比CPU慢。
预算内的最快GPU
用于深度学习的GPU的高速取决于什么?是CUDA核?时钟速度?还是RAM大小?这些都不是。影响深度学习性能的最重要的因素是显存带宽。GPU的显存带宽经过优化,而牺牲了访问时间(延迟)。CPU恰恰相反,所用内存较小的计算速度快,比如几个数的乘法(3*6*9);所用内存较大的计算慢,比如矩阵乘法(A*B*C)。GPU凭借其显存带宽,擅长解决需要大内存的问题。
所以,购买快速GPU的时候,先看看带宽。
什么是 GPU 计算?
GPU 计算通过将应用程序中计算量繁重的部分交给 GPU 处理,程序的剩余部分依然在 CPU 上运行,从而可实现前所未有的应用程序性能。 从用户的角度而言,应用程序只是运行速度比从前快了很多。
CPU + GPU 是一个强大的组合,因为 CPU 包含几个专为串行处理而优化的核心,而 GPU 则由数以千计更小、更节能的核心组成,这些核心专为提供强劲的并行性能而设计。 程序的串行部分在 CPU 上运行,而并行部分则在 GPU 上运行。
通过运用我们目录中所列的任意 GPU 加速应用程序,大多数客户能够立即享受到 GPU 计算的优势。 该目录重点列举了一百多款行业领先的应用程序。对开发者来说,GPU 计算拥有由各大软件开发商旗下工具和库所组成的巨大生态系统。
更快地运行你的 GPU 加速代码试用Tesla K20 GPU 加速器。
了解更多信息GPU 计算的历史 图形芯片最开始被用作固定函数的图形流水线。经过多年的发展,这些图形芯片的可编程性逐渐增强,从而使第一颗 NVIDIA?? GPU 得以问世。 在 1999-2000 年间,计算机科学家和医学成像以及电磁学领域中的研究者开始使用 GPU 来加速一系列的科学应用。这就是所谓的「GPGPU」或GPU 通用计算运动
虽然用户取得了前所未有的性能 (在某些情形中实现了比 CPU 高 100 倍的性能),然而难题是 GPGPU 需要使用 OpenGL 和 Cg 等图形编程 API 来对 GPU 进行编程。 这样便限制了人们利用 GPU 的强大处理能力来为科学加速。
所有NVIDIA?? GPU GeForce、 NVIDIA?? Quadro 以及 NVIDIA?? Tesla) 均支持 GPU 计算和 CUDA?? 并行编程模型。开发者几乎在任意平台上均可运用 NVIDIA?? GPU,这些平台包括最新的苹果MacBook Pro。 然而,我们建议使用 NVIDIA?? Tesla GPU 来处理那些强调可靠性与整体性能的工作。 如需了解更多细节,敬请参阅「为什么选择 NVIDIA?? Tesla」。
NVIDIA?? Tesla GPU 完全专为加速科学技术计算工作而设计。最新的 NVIDIA?? Tesla GPU 基于「Kepler 架构」中的诸多创新特性,与上一代架构相比,可提供三倍的性能,双精度浮点性能高达 1 Teraflops 以上,同时还大幅提升了可编程性和效率。Kepler 是世界上最快、最节能的高性能计算 (HPC) 架构。
NVIDIA?? 意识到了将这种性能提供给更广阔的科学界的潜力,因此投入力量修改 GPU,让开发者能够对 GPU 充分编程,使其能够无缝地运用 C、C++ 以及Fortran 等熟悉的语言。
GPU 计算的发展势头比以往任何时候都更加迅猛。现在,世界上一些最快的超级计算机仰仗 GPU 来加快科学探索,全球有 600 所大学已开设 NVIDIA?? GPU 并行计算课程,积极运用 GPU 的开发者人数已达数十万计。 「GPU 已经发展到成熟阶段,可轻松执行现实生活中的各种应用程序,而且程序运行速度已远远超过使用多核系统时的情形。 未来计算架构将是并行核心 GPU 与多核 CPU 共同运行的混合型系统。」 Jack Dongarra 教授 田纳西大学创新计算实验室主任
有什么民用软件可以用到GPU运算能力的
GPU的通用计算能力么?CUDA?我记得有些解码编码 视频转换软件用的到
GPU和显卡里面的计算核心有什么区别?
首先请理清几个概念,不要搞错了。
GPU,通俗来讲就是显卡身上的“CPU”,负责图形计算的芯片,每块显卡身上必定有一颗GPU芯片才能称之为显卡,无论集成显卡、核心显卡、独立显卡,其主体都是一颗GPU芯片(顶级双芯显卡有两颗,但并没有你误会的那样有11颗GPU芯片的显卡,那是名称上搞错了,我们下面再谈)。GPU决定着显卡的性能、功能、档次、价格、以及功耗发热。
GPU既然是类似CPU那样的计算芯片,那么其架构设计就影响着性能、效率、功耗等指标,并且和CPU一样其芯片架构主要由计算单元、控制单元、储存单元组成,以北极星架构的RX480为例,GPU芯片架构图如下:
(上图大体划出了三类单元的集中地,以便理解,但实际上光是计算单元里的每个小单元也都独立包含着控制单元和储存单元)
RX480的GPU芯片内部设计如上图,计算单元划分为36个CU计算核心,每个CU核心又包含了64个流处理器计算核心,所以总共就是36X64=2304个流处理器计算核心。人们通常把流处理器的数量做为计算核心计数,很少以CU来算。
很多初学者只看到计算核心几个字,并不了解实际指的是哪类“核心”,就很容易搞错了。
比如R5 2400G里的集成显卡GPU部分,包含了11个CU核心,每个CU又包含了64个流处理器,所以总共就是11X64=704个计算核心,并不是你误认为的11个GPU核心。
GPU计算和GPU通用计算的区别有哪些?
GPU越来越强大,GPU为显示图像做了优化之外,在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此NVidia推出CUDA,让显卡可以用于图像计算以外的目的,也就是超于游戏,使得GPU能够发挥其强大的运算能力。
1、虽然我们看到CPU和GPU在运算能力上面的巨大差距,但是我们要看看他们设计之初所负责的工作。CPU设计之初所负责的是如何把一条一条的数据处理玩,CPU的内部结构可以分为控制单元、逻辑单元和存储单元三大部分,三个部分相互协调,便可以进行分析,判断、运算并控制计算机各部分协调工作。其中运算器主要完成各种算术运算(如加、减、乘、除)和逻辑运算( 如逻辑加、逻辑乘和非运算); 而控制器不具有运算功能,它只是读取各种指令,并对指令进行分析,作出相应的控制。
2、通常,在CPU中还有若干个寄存器,它们可直接参与运算并存放运算的中间结果。CPU的工作原理就像一个工厂对产品的加工过程:进入工厂的原料(程序指令),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出成品(处理后的数据)后,再存储在仓库(存储单元)中,最后等着拿到市场上去卖(交由应用程序使用)。在这个过程中,从控制单元开始,CPU就开始了正式的工作,中间的过程是通过逻辑运算单元来进行运算处理,交到存储单元代表工作的结束。数据从输入设备流经内存,等待CPU的处理。
3、而GPU却从最初的设计就能够执行并行指令,从一个GPU核心收到一组多边形数据,到完成所有处理并输出图像可以做到完全独立。由于最初GPU就采用了大量的执行单元,这些执行单元可以轻松的加载并行处理,而不像CPU那样的单线程处理。另外,现代的GPU也可以在每个指令周期执行更多的单一指令。例如,在某些特定环境下,Tesla架构可以同时执行MAD+MUL or MAD+SFU。
您好有个问题请教一下cpu怎么和gpu并行计算处理好日常软件
CPU可以并行计算,传统的计算阵列也是用CPU组建的。现在的GPU计算是因为单个GPU的多核心,重复计算能力强,通过低投入的GPU计算阵列就可以达到以往大型CPU阵列并行系统的效率。CPU计算在通用计算上的价值更大。
比如说大量数据的重复运算就可以用并行计算的方式来进行,可利用GPU加速,而线性处理的时候GPU效率较低,此时CPU效率更高。
因此现在全球超级计算机前几名的机器都采用了混合架构,也就是CPU-GPU混合架构。
专业软件考验 CPU/GPU谁是通用计算主角
专业软件也有很多分类,有的是专门测试CPU,有的是GPU,但是不管是哪个都离不开CPU,所以CPU是核心,也就是主角
而专业测试GPU的软件同样离不开CPU的支撑,两者共同合作运行才能体现高性能。
转载请注明出处51数据库 » gpu计算软件 GPU计算和GPU通用计算的区别
哇偶丶Sugar
