• (一)【OpenCL入门教程】异构计算的概念


    大家知道,不同架构的处理器硬件能力各有不同:

    • CPU是标准的多指令单数据流的处理器,它适合逻辑控制以及任务调度
    • GPU是单指令多数据的处理器,它支持大规模的并行计算,适合图像渲染
    • DSP是专用的数字信号处理处理器
    • FPGA对高并行性,低延时的场合特别适合

    异构计算设备是指在同一个电脑系统中有两种以上、架构差异很大的计算设备,例如同时有CPU和GPU。异构计算能够提供更灵活的组合方案。

    异构计算概念的产生要从 CPU 的发展历程说起。

    现在是一个大数据的时代,随着物联网的广泛应用,每时每刻都会产生海量的数据,这些数据对应着庞大的计算量,这对硬件算力的要求就越来越高了。

    人们在最初提高算力的时候主要是去提高 CPU 运行的主频,等到 CPU 的主频提高到极限以后,就开始想办法把 CPU 的内核做成多核,这种多核系统是一种同构(相同结构)多核的并行计算系统。

    通过多核是可以明显提高性能,但是有一些计算场景在处理数据的时候,它会需要大量的乘加的计算、而有的只需要去做一些事务性的调度或者传输,完成的任务各不相同,此时采用同构计算的多核CPU不能够满足多种计算的需求,所以人们就想到了异构计算,对于不同的任务,采用不同的架构的处理器去进行计算,做到物尽其用,提高它的算力。

    这里举个例子:现在人工智能领域非常火的英伟达显卡,它内部的每个计算单元在最开始是去做 3D 的渲染计算用的, 它和 CPU 是不同的架构,但当它们同时存在于一个系统当中,它们可以根据各自的优势处理不同的任务 ,充分发挥各个架构的算力,所以来说异构并行计算的系统是现在在大数据、物联网、人工智能时代的必然产物。

    但是不同的硬件处理器平台对软件开发人员来说,开发语言、环境都是不一样的,这为开发带来了难度,所以一个统一的开发标准去桥接不同硬件极为关键,OpenCL 的出现就为异构系统并行计算提供了这样的一个标准。

    下一讲 我们介绍OpenCL。

     

  • 相关阅读:
    初窥RabbitMQ消息中间及SpringBoot整合
    博客园页面嵌入左下角小女孩
    不依赖Spring使用AspectJ达到AOP面向切面编程
    彻底搞懂计算机网络通信设备与协议
    博客园如何嵌入网易云音乐播放器
    并发编程之详解InheritableThreadLocal类原理
    2小时学会Spring Boot(IDE:eclipse)
    $.Ajax、$.Get、$.Post代码实例参数解析
    设计模式之空对象模式
    设计模式之黑板模式
  • 原文地址:https://www.cnblogs.com/DoreenLiu/p/15566659.html
Copyright © 2020-2023  润新知