为什么需要专门出现GPU来处理图形工作,CPU为啥不可以?
2018-02-04 07:01
369 查看
GPU 是并行编程模型,和CPU的串行编程模型完全不同,导致很多CPU 上优秀的算法都无法直接映射到GPU 上,并且GPU的结构相当于共享存储式多处理结构,因此在GPU上设计的并行程序与CPU 上的串行程序具有很大的差异。
GPU主要采用立方环境的材质贴图、硬体T&L、顶点混合、凹凸的映射贴图和纹理压缩、双重纹理四像素256 位的渲染引擎等重要技术。由于图形渲染任务具有高度的并行性,因此GPU可以仅仅通过增加并行处理单元和存储器控制单元便可有效的提高处理能力和存储器带宽。
GPU设计目的和CPU截然不同
CPU是设计用来处理通用任务,因此具有复杂的控制单元;
而GPU主要用来处理计算性强而逻辑性不强的计算任务,GPU中可利用的处理单元可以更多的作为执行单元。
因此,相较于CPU,GPU在具备大量重复数据集运算和频繁内存访问等特点的应用场景中具有无可比拟的优势。
使用GPU有两种方式:
一种是开发的应用程序通过通用的图形库接口调用GPU设备;
另一种是GPU自身提供API编程接口,应用程序通过GPU提供的API编程接口直接调用GPU设备。
相关文章推荐
- 为什么CPU需要时钟才能工作?
- 异常的转换思想:当出现的异常是调用者处理不了的,就需要将此异常转换为一个调用者可以处理的异常抛出。
- 在GPU核函数中,为什么数值型变量可以和数组型变量相互赋值, CPU中不可以
- 为什么现在更多需要用的是 GPU 而不是 CPU,比如挖矿甚至破解密码?
- tensorflow中的seq2seq例子为什么需要bucket? 有关tensorflow 的sequence2sequence例子,为什么需要用到buckets,rnn不是可以处理任意长度的数据吗
- 大型企业为什么需要IT外包,甲方的工作职责是什么
- iOS图像处理(核心图形,核心图像,GPUImage)
- MYSQL重装出现could not start the service mysql error:0处理(已验证可以使用)
- GPU 与CPU的作用协调,工作流程、GPU整合到CPU得好处
- 在导入eclipse项目到Android Studio出现这样的错误, 非法字符: '\ufeff' 解决方案|错误: 需要class, interface或enum,查阅后了解到Eclipse可以智
- 为什么Arduino UNO工作电压是5V,但是需要9V的电源适配器
- CPU、GPU的设计工作原理
- 学界 | 进化算法可以不再需要计算集群,开普敦大学的新方法用一块GPU也能刷新MNIST记录
- 生成器+列表生成式,生成器可以节省内存,随时调取函数运行,以及实现多线程运行函数,__next__()和.send(参数)的区别,a,b=b,a+b其实是元祖的用法,出现异常状态用try...except StopIteration来处理
- CSS解析器,如果需要在程序中处理CSS,则可以用到。
- 为什么项目型软件公司很累?程序员拼死拼活做项目为啥总是无法按时完成?原因主要是软件需要完善的细节太多
- ios-ASIHTTPRequest的Reachability可以监听网络,网络出现状况来不同的处理
- 参数需要LPCTSTR为什么可以传入CString
- 工作4-5年的.NET开发人员也需要有人带带才可以保证软件项目的质量
- todo:为什么需要EINTR?如何处理EINTR?