【读书笔记】从零开始学OpenCL异构并行计算_CH1_异构并行计算的过去、现状和未来

本博文由 youngpan1101 出品,转载请注明出处。 
文章链接:https://blog.csdn.net/youngpan1101/article/details/101831696
作者: 宋洋鹏(youngpan1101) 
邮箱: yangpeng_song@163.com


ps:该笔记是基于《OpenCL异构并行计算:原理、机制与优化实践, 刘文志等著》的学习笔记 

目录

异构并行计算的过去、现状和未来

单核标量处理器 

多核向量化

OpenCL横空出世


异构并行计算的过去、现状和未来

  • 异构:计算单元由不同的多种处理器组成。
  • 并行:要发挥异构硬件平台的全部性能必须要使用并行的编程方式。
  • 向量化:一种一条指令同时处理多个数据的方法,是一种数据并行技术。
    • SIMD(Single Instruction Multiple Data,单指令多数据)
      • SIMD操作:对两个长向量寄存器中的数据按元素进行操作,结果向量寄存器和源向量寄存器长度相同。
    • SIMT(Single Instruction Multiple Thread,单指令多线程)
  • 多核:在一块芯片上,集成多个处理器核心,这多个处理器核心共享或不共享缓存层次结构,多核处理器通常会共享主板上的物理内存。
  • 多路:将多个多核处理器互联在同一个主板上,各个多核处理器之间通常共享缓存或内存来交换数据。

现代处理器提升性能的两种主要途径:多核 和 向量化,今天的绝大多数处理器都已经是多核向量化处理器。

单核标量处理器 

在2005年之前,单核标量处理器以近似摩尔定律(这里只简单地解释为“单核标量处理器性能每18个月提升一倍”)的方式提升性能,主要通过以下方式:

  • 提升处理器的时钟频率:时钟频率表示处理器1秒内可以运行多少个基本操作,这些基本操作需要一个时钟周期运行。提升频率即可以让处理器1秒内执行更多的基本操作,提升了处理器运行的所有指令的执行速度。
  • 提升指令级并行能力:没有减少某条指令的延迟,但它提升了处理器能够同时处理的指令数量,即将一条指令拆分成多个阶段来提供性能,如下图的五阶段流水线为例,若没有使用流水线执行,则原来需要5个周期才能完成2个操作,而使用流水线执行后,则每个周期能够完成2个操作。

 

而在2005年之后,单核标量处理器的性能不能再以摩尔定律的速度提升,主要是因为:

  • 功耗限制了频率的继续提升:随之处理器频率的增加,功耗也会随之增加,对散热系统要求越来越高,若再增加频率,硬件组件可能不能正常工作,甚至烧毁。
  • 提升指令级并行遇到瓶颈:处理器设计通常会增加硬件流水线的级次,而现在该方法已达到其局限。

多核向量化

为了提供更高性能的处理器,生产商采用了以下两种方法:

  • 多核:通过复制处理器核心成倍增加了处理器的计算能力,能支持线程级并行处理,通过将线程映射到硬件核心上,以同时处理多个不同的请求,提高用户体验。
  • 向量化:通过增加寄存器的宽度和指令的宽度来同时处理多个数据,另外,许多算法和应用具有向量级并行(数据并行)能力,如一些算法需要对多个不同数据执行同一个操作。

要发挥多核和向量化的计算能力,必须要编写向量化和多线程的代码,比如新出现的C编程语言扩展:CUDA和OpenCL,通过层次化的线程/编程模型使得一份代码同时支持向量化和多核。

  • OpenCL支持X86 CPU、GPU 和 ARM-GPU(Mali系列)

OpenCL横空出世

继2007年CUDA的推出,异构并行计算逐渐被认可,异构并行缓解了处理器发展面临的两个主要问题:性能和功耗。 

在2008年,OpenCL横空出世,是异构平台并行编程的开放的工业标准,也是一个编程框架,包含以下两部分:

  • OpenCL C语言和主机端API;
  • 硬件架构的抽象

OpenCL具有以下特点:

  • 高性能:OpenCL是底层API;
  • 适用性强:抽象了硬件的不同架构的共性,又兼顾了不同硬件的特点;
  • 开放:由开放组织开发、维护的标准;
  • 无替代选项:只有OpenCL得到了几乎所有相关主流硬件厂商的支持。

正因以上OpenCL的众多特点,未来OpenCL必将无处不在。 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值