看到很多人在问什么叫异构计算,看来这个概念还比较新,我就试着来解释一下这个概念。
计算单元可以分成:通用计算单元(CPU),专用计算单元(GPU/DSP)等
简单点说,由一个或若干个通用计算单元加一个或若干个专用计算单元构建的系统就是异构计算系统,由两者协同起来共同执行通用计算任务就是异构计算,目前在PC上最常见的组合就是CPU+GPU。
异构计算的目的一般是加速和节能,过去依靠工艺和频率来提高CPU的计算性能,目前已经遇到了瓶颈,加速的任务已经由过去依赖工艺和功耗转向依靠架构的改变。在过去GPU只能执行图形任务,不能执行通用计算,所以还称不上异构计算,现在的GPU已经具备了执行通用计算的能力,和CPU协同工作就组成了一个异构计算系统,AMD的APU就是其中的一个实现。
有了硬件的实现,同样需要软件的支持,目前比较流行的编程语言是C++AMP/OPENCL/CUDA
计算单元可以分成:通用计算单元(CPU),专用计算单元(GPU/DSP)等
简单点说,由一个或若干个通用计算单元加一个或若干个专用计算单元构建的系统就是异构计算系统,由两者协同起来共同执行通用计算任务就是异构计算,目前在PC上最常见的组合就是CPU+GPU。
异构计算的目的一般是加速和节能,过去依靠工艺和频率来提高CPU的计算性能,目前已经遇到了瓶颈,加速的任务已经由过去依赖工艺和功耗转向依靠架构的改变。在过去GPU只能执行图形任务,不能执行通用计算,所以还称不上异构计算,现在的GPU已经具备了执行通用计算的能力,和CPU协同工作就组成了一个异构计算系统,AMD的APU就是其中的一个实现。
有了硬件的实现,同样需要软件的支持,目前比较流行的编程语言是C++AMP/OPENCL/CUDA