码迷,mamicode.com
首页 > 其他好文 > 详细

异构开发与异构编程

时间:2014-12-29 20:05:41      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:异构开发   异构编程   异构计算   图像处理   c++   



什么是异构开发或者编程呢?

虽然自己从事CPU+GPU相关工作,但是对异构这个概念之前还不太明确,经过结合开发经验以及查阅资料,对此概念有了一定的理解。


 学过计算机组成原理的人都会非常熟悉CPU原理及组成,CPU内部结构是由控制单元、运算单元、存储单元等主要部分组成,其通过地址总线与地址总线实现数据的操作,此处不再多说了;但当处理大量图像图形渲染时,CPU效率不能满足要求(比如大型3D游戏),于是乎针对复杂图形图像处理的GPU就出现了;在这里就不解释GPU的工作原理了,你可以google 一下!

目前计算单元主要分为:通用计算单元(CPU),专用计算单元(GPU)

下面说说什么是异构呢?
由一个(或者多个)通用计算单元(CPU)加上一个(或者多个)专用计算单元构建(GPU等)的系统就是异构计算系统,由两者协同起来共同执行通用计算任务就是异构计算,目前在开发中最常见的组合就是CPU+GPU。对于高要求场合这是明智之举;

异构计算的目的一般是加速数据的处理能力,过去依靠工艺和频率来提高CPU的计算性能,但是现在遇到了瓶颈,加速的任务已经由过去依赖工艺和功耗转向依靠架构的改变。在过去GPU只能执行图形任务,不能执行通用计算,所以还称不上异构计算,现在的GPU已经具备了执行通用计算的能力,和CPU协同工作就组成了一个异构计算系统,AMD的APU就是其中的一个实现。

有了硬件的实现,同样需要软件的支持,目前比较流行的编程语言是C++AMP/OPENCL/CUDA

如果有理解不当之处,欢迎指正!

异构开发与异构编程

标签:异构开发   异构编程   异构计算   图像处理   c++   

原文地址:http://blog.csdn.net/gggg_ggg/article/details/42241659

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!