【异构计算平台系列 - GPU + OpenCL - 01】GPU简介

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiangsgyx/article/details/83369882

CPU独领风骚几十年后,渐渐开始显得力不从心,此时GPU异军突起,开始了快速的发展与扩张,占领了大规模运算和高质量图像显示的地盘。随着技术的不断发展,两者的相互渗透不断加深,相辅相成,强强联手,APU横空出世。

接下来为大家简要介绍一下GPU的相关知识内容。

GPU的概念

图形处理器(Graphics Processing Unit,缩写:GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器。

百度百科的这一定义显得有些通俗易懂,准确地说,GPU属于专用处理芯片的一种,适用于处理大量的并行运算,早期主要应用于图像处理、计算机图形学等领域。

当前GPU的主要设计、开发、生产厂商包括:NVIDIA、AMD、ARM、Apple等。

其中,Imagination已被Apple收购,独立经营,对PowerVR进行定制化设计。

NVIDIA作为GPU市场的龙头老大,早在1999年便推出了世界上第一款商用GPU-NVIDIA GeForce 256。

另外,ARM® Mali™系列GPU为所有嵌入式图形IP和视频IP需求提供了完善的解决方案,使设备制造商和内容开发商能够为最广泛的消费类设备(包括手机、便携式游戏机、智能本和HDTV)提供最高质量的尖端多媒体解决方案。

嵌入式图形IP设计用于提高能源效率和从多方面解决性能问题,包括世界上最小的GPU、完整多核可扩展性(最高可达1080p)、用于可视计算的GPU上的通用计算(GPGPU)以及多用途应用程序。

所有Mali GPU都受预先集成的Mali图形驱动程序软件支持,支持的业界标准开放式API包括Khronos™ OpenVG® 1.1、OpenGL® ES 1.1和2.0、OpenCL™以及Microsoft® DirectX®。

近年来大家经常会看到GPGPU(General Purpose GPU)的概念,其所代表的是一种GPU的应用算法类型,属于软件范畴,而非新的硬件形式。

说的这里就不得不提一下APU的概念了,AMD曾在多年前提出「AMD Fusion」概念,提倡将CPU和GPU集成在一起,以便于提高两个核心之间的沟通效率,而APU就是这一概念下的产物。

APU(Accelerated Processing Unit,加速处理单元)是将CPU和GPU融合为一颗芯片。

近年来,APU的产品型号主要有AMD Carrizo(2015) & Kaveri(2014)和Intel Skylake architecture(2015)。

GPU的意义

摩尔定律是由Intel创始人之一戈登·摩尔于1965年所提出,其内容为:集成电路上可容纳的电晶体(晶体管)数目,约每隔24个月便会增加一倍;经常被引用的“18个月”,是由Intel首席执行官大卫·豪斯所说:预计18个月会将芯片的性能提高一倍(即更多的晶体管使其更快)。
尽管这种趋势已经持续了超过半个世纪,摩尔定律仍应该被认为是观测或推测,而不是一个物理或自然法。

预计摩尔定律将持续到至少2015年或2020年。

然而,2010年国际半导体技术发展路线图的更新增长已经在2013年年底放缓;

之后的时间里,晶体管数量密度预计只会每三年翻一倍。

 

GPU与CPU的联合应用打破了CPU运算速率的瓶颈,通过两者的协同工作,CPU负责系统的逻辑处理和任务调度部分,具体的工作内容被拆解成适合GPU并行处理的形式后,GPU可以快速完成运算并输出结果。

此种模式下,对于大规模的运算任务交由GPU并行处理,极大地节省了运算时间;而此时空闲的CPU可以尽情发挥自己的优势,处理更多的任务流程。

 

GPU通用计算方面的标准目前主要有OpenCL、CUDA、ATI STREAM。

其中,OpenCL(全称Open Computing Language,开放运算语言)是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计算服务器、桌面计算系统、手持设备编写高效轻便的代码,而且广泛适用于多核处理器(CPU)、图形处理器(GPU)、Cell类型架构以及数字信号处理(DSP)等其他并行处理器,在游戏、娱乐、科研、医疗等各种领域都有广阔的发展前景,AMD-ATI、NVIDIA的产品也都支持OpenCL。

CPU与GPU的比较

CPU的特性:

  • 通用性设计

  • 串行顺序计算

  • 通过软件协调进行多核的调度

GPU的特性:

  • 专用性设计
  • 并行计算
  • 容易直接扩展更多的核

CPU与GPU的结构设计差异:

CPU与GPU的运算速度对比:

猜你喜欢

转载自blog.csdn.net/jiangsgyx/article/details/83369882