zoukankan      html  css  js  c++  java
  • (一)【OpenCL入门教程】异构计算的概念

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

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

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

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

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

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

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

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

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

    下一讲 我们介绍OpenCL。

     

  • 相关阅读:
    解决:Could not resolve archetype org.apache.maven.archetypes
    Spring MVC配置MyBatis输出SQL
    Spring集成MyBatis 通用Mapper以及 pagehelper分页插件
    关于SpringMVC或Struts2接受参数接收不到的原因
    配置quartz启动时就执行一次
    ajaxFileUpload进行文件上传时,总是进入error
    spring mvc注入配置文件里的属性
    java中将一个文件夹下所有的文件压缩成一个文件
    flume failed to start agent because dependencies were not found in classpath
    ubuntu不能安装pip unable to install pip in unbuntu
  • 原文地址:https://www.cnblogs.com/DoreenLiu/p/15566659.html
Copyright © 2011-2022 走看看