异构计算与Opencl标准

一、异构计算

1、体系结构的技术演进

单核时代,多核时代,异构时代
在这里插入图片描述

2、什么是异构计算系统

WiKiPedia上异构计算系统的定义:
异构计算系统是将一些列拥有不同指令集的计算单元整合在一起,共同执行一个应用程序的系统。

典型的计算单元包括:
通用处理器,例如x86多核CPU
专用处理器,例如GPU,DSP,FPGA,ASIC

FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
ASIC(Application Specific Integrated Circuits,专用集成电路),是指应特定用户要求或特定电子系统的需要而设计、制造的集成电路。

3、典型的异构计算系统

(1)、CPU+独立显卡(dGPU)

这是最常见的异构计算系统,由多核x86CPU和一个或者多个独立显卡系统组成。
可以提供数个及数十个TFLOPSd的计算能力。

FLOPS,即每秒浮点运算次数
被用来评估电脑效能,尤其是在使用到大量浮点运算的科学计算领域中。正因为FLOPS字尾的那个S,代表秒,而不是复数,所以不能够省略。
在这里插入图片描述

特点

CPU与dGPU内存分离
通过PCI-E总线进行数据传递
多种汇编模型的支持,如CUDA,Opencl,OpenACC等。

(2)、APU

APU是将多核CPU与集成显卡(iGPU)封装在一起形成Soc的计算机处理器。是当前业界处理器的主流。

特点

1、CPU与iGPU共享相同的物理内存。
2、CPU与iGPU通过内部高速总线进行数据通信。
丰富编程模型的支持,如CUDA,Opencl,OpenACC等;对于支持HSA特性的APU,还包括Java,C++AMP,OpenMp。

4、选用GPU做异构计算的原因在这里插入图片描述

1、无论从计算还是访存,GPU都提供了相较CPU更强大的能力。这种优势超过一个数量级。
2、GPU是最成熟,最易获得的计算设备之一。

二、OpenCL标准

在这里插入图片描述

1、OpenCL

Open Computing Language的简称,由Apple发起,Khronos组织,面向于异构计算系统。

2、OpenCL是一个编程模型

1、 针对异构计算系统的编程思想。
2、包含API、库和运行时环境。
3、可生成跨平台二进制可执行文件的编译器。

3、OpenCL是公开的标准

免费,跨平台,绝大多数IHV都在支持。

三、OpenCL与CUDA对比

1、OpenCL与CUDA是完全对等的概念

  • 无论从编程思想、学习难度等各方面都非常的接近,可以讲OpenCL看做CUDA device API编程。

2、OpenCL与CUDA的不同

  • OpenCL是开放的标准,更多的IHV如Intel、AMD、NVIDIA、ARM等都支持。

IHV : 独立硬件出售商。

  • OpenCL支持跨平台。
  • CUDA是私有标准,只能运行在NVIDIA显卡上。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值