异构计算简介

什么是异构计算? 异构计算(Heterogeneous Computing)是指在同一计算系统中,使用不同类型的处理单元来完成任务的计算方法。这些处理单元可能包括中央处理器(CPU)、图形处理器(GPU)、数字信号处理器(DSP)、场可编程门阵列(FPGA)等。异构计算的主要目标是利用不同硬件架构的优势,提高计算性能和能效,满足多样化的计算需求。 阅读详情

  异构计算技术由于能经济有效地获取高性能计算能力、可扩展性好、计算资源利用率高、发展潜力巨大,已成为并行/分布计算领域中的研究热点之一。
  在异构计算系统上进行的并行计算通常称为异构计算。给出如下定义:异构计算是一种特殊形式的并行和分布式计算,它或是用能同时支持simd方式(单指令多数据流,能够复制多个操作数,并把它们打包在大型寄存器的一组指令集)和mimd方式(多指令流多数据流)的单个独立计算机,或是用由高速网络互连的一组独立计算机来完成计算任务。它能协调地使用性能、结构各异地机器以满足不同的计算需求,并使代码(或代码段)能以获取最大总体性能方式来执行。
  理想的异构计算具有如下的一些要素:(1)它所使用的计算资源具有多种类型的计算能力,如simd、mimd、向量、标量、专用等;(2)它需要识别计算任务中各子任务的并行性需求类型;(3)它需要使具有不同计算类型的计算资源能相互协调运行;(4)它既要开发应用问题中的并行性,更要开发应用问题中的异构性,即追求计算资源所具有的计算类型与它所执行的任务(或子任务)类型之间的匹配性;(5)它追求的最终目标是使计算任务的执行具有最短时间。
  可见,异构计算技术是一种使计算任务的并行性类型(代码类型)与机器能有效支持的计算类型(即机器能力)最相匹配、最能充分利用各种计算资源的并行和分布计算技术。
  异构计算系统主要由以下三部分组成:(1)一组异构机器。(2)将各异构机器连接起来的高速网络。它可以是商品化网络,也可以是用户专门设计的。(3)相应的异构计算支撑软件。异构计算的基本工作原理:异构计算需求在析取计算任务并行性类型基础上,将具有相同类型的代码段划分到同一子任务中,然后根据不同并行性类型将各子任务分配到最适合执行它的计算资源上加以执行,达到使计算任务总的执行时间为最小。
  异构计算按以何种形式来提供计算类型多样性,可分为系统异构计算(shc-system heterogeneous computing)和网络异构计算(nhc-network heterogeneous computing)两大类。shc以单机多处理器形式提供多种计算类型,而nhc则以网络连接的多计算机形式提供多种计算类型。
  根据异构性实现方式不同,即是空间异构性还是时间异构性,shc和nhc各自又可进一步分为两类。shc分为单机多计算方式和单机混合计算方式两大类,前者在同一时刻允许以多种计算方式执行任务,后者在同一时刻只允许以一种计算方式执行任务,但在不同时刻计算可从一种方式自动切换到另一种方式,如simd和mimd方式间的切换。前者的实例有美国hughes研究实验室和mit共同研制的图像理解系统结构(iua),它是多层异构系统结构,按图像理解层次要求设计每一层,低层是simd位串网络(4096),用来处理像素级操作(如图像增强),中层是由64个数字信号处理(dsp)芯片构成的,以spmd或mimd(中粒度)方式执行模式分类等操作,顶层是一个通用mimd(粗粒度)机器,完成场景和动作分析等知识处理操作。后者的实例为美国普渡大学研制的pasm系统原型,由16个pe(处理单元)组成的系统,它们可动态地加以划分以形成各种大小的独立的混合方式子机器,执行方式可按需要在simd和mimd之间自动切换。
  nhc可进一步分为同类异型多机方式和异类混合多机方式两类。同类异型多机方式中所使用的多机,它们的结构属同一类,即支持同一种并行性类型(如simd、mimd、向量等类型之一),但型号可能不同,因此性能可以各有差异。通常的now或cow为同类同型多机方式,因此可看成是同类异型多机方式中的特例。异类混合多机方式中所使用的多机,它们的结构则属不同类型。
  网络异构计算系统主要由一组异构计算机、一个连接所有机器的高速网络和一个并行编程环境所组成。逻辑上这种系统可分为三个层次:网络层、通信层和处理层。
网络层主要用来连接在不同地点的计算机,计算站a和计算站b,并考虑其中消息传递的路由选择、网络流优化和网络排队理论等问题,这与传统的计算机网络设计类似。
  通信层工作于网络层之上,主要为系统中各种不同的计算机提供能够相互通信的机制。通信工具软件应提供使众多异构计算机集合可视为是一个单一的系统映像、单个虚拟异构并行机的机制。这将方便用户编程。这种通信工具通常提供一组原语来提供各种通信。典型流行的通信工具是pvm(并行虚拟机)和mpi(消息传递标准接口)。
  处理层主要用来管理异构机器组并保证任务的高效执行。它所提供的主要服务包括编程环境和语言支持、应用任务的类型分析和任务划分、任务的映射与调度以及负载平衡等。

  异构计算处理过程本质上可分为三个阶段:并行性检测阶段、并行性特征(类型)析取阶段以及任务的映射和调度阶段。并行性检测不是异构计算特有的,同构计算也需要经历这一阶段。可用并行和分布计算中的常规方法加以处理。并行性特征析取阶段是异构计算特有的,这一阶段的主要工作是估计应用中每个任务的计算类型参数,包括映射及对任务间通信代价的考虑。任务映射和调度阶段(也称为资源分配阶段)主要确定每个任务(或子任务)应映射哪台机器上执行以及何时开始执行。
  从用户来看,上述的异步计算处理过程可用两种方法来实现。第一种是用户指导法,即由用户用显式的编译器命令指导编译器完成对应用代码类型分析及有关任务的分解等工作,这是一种显式开发异构性和并行性方法,较易于实现,但对用户有一定要求,需将异构计算思想融入用户程序中。另一种是编译器指导法,需将异构思想融入编译器中,然后由具有“异构智力”的编译器自动完成应用代码类型分析、任务分解、任务映射及调度等工作,即实现自动异构计算。这是一种隐式开发异构性和并行性方法,是异构计算追求的终极目标,但难度很大,对编译器要求很高。
  自动异构计算的概念性模型。首先对两个对象进行分析,一是异构计算系统中的机器集,二是求解的应用程序。为了获取最好的执行效果,对它们不但进行定性分析,还需进行相应的定量分析。整个异构计算处理过程可分为以下四个阶段:

  • 第一阶段主要是对各台机器进行计算特征的分类,得出异构计算系统所能完成的计算类型;按代码块统计应用对计算特征的需求并加以分类;用基准程序测试各机器的性能参数,包括速度参数及机器间通信性能参数,生成对应的两个机器速度性能矩阵和通信带宽矩阵。将程序按计算类型分类划分;估算各子任务的计算量和子任务间通信量,生成相应的任务dag图。dag图中结点上的数值表示子任务计算量,弧上的数值表示两结点间通信量。
  • 第二阶段主要是根据dag和速度性能矩阵计算出每个子任务在各台机器上的执行时间,生成时间性能矩阵;根据通信性能矩阵和子任务的通信量计算各子任务间的通信时间,生成通信时间矩阵。
  • 第三阶段根据前两个阶段结果,给出各子任务到各机器的映射和符合任务dag图偏序关系的调度。映射和调度可以是静态或动态的,动态调度需根据机器负载和网络状态信息进行。
  • 第四阶段为执行。

  异构计算的应用范围很广,几乎所有涉及巨大挑战性问题的求解都可用异构计算进行经济有效的求解。典型的应用包括图像理解、质点示踪、声束形成、气候建模、湍流对流混合模拟以及多媒体查询等。这些应用中通常都含有多种不同的计算类型的需求,因此很适合于用异构计算来进行求解。
  1、未来应重点开展异构混合多机方式的网络异构计算的研究,它代表着发展趋向,且较经济有效;2、自动异构计算是长期追求目标,在现阶段宜采用用户指导方法来进行研究和开发;3、应尽量利用现有成熟工具如pvm和mpi来开展异构计算的研究和开发;4、应注意开展异构计算的理论分析和建模、性能估计模型、有关软件工具以及异构计算中任务映射和调度算法等方面的研究;5、应研究如何使异构计算系统具有良好的单一系统映像。

CPU+GPU异构计算编程简介 阅读详情

相关推荐

【异构计算平台系列 - GPU + OpenCL - 02】异构计算(Heterogeneous Computing)简介

What? 异构计算(Heterogeneous computing)主要是指使用不同类型指令集和体系架构的计算单元组成系统的计算方式。 常见的计算单元类别包括CPU、GPU等协处理器、DSP、ASIC(Application Specific Integrated Circuit)、FPGA等。 从实现的角度来说,异构计算就是制定出一系列的软件与硬件的标准,让不同类型的计算设备能够共享计算...

星辉领域 3559

OpenCL——异构并行计算简介

异构并行计算 异构并行计算包括两个方面的内容:异构和并行。异构是指:计算单元由不同的多种处理器组合,如X86 CPU+GPU、ARM CPU+GPU、X86 CPU+FPGA、ARM CPU+DSP等。并行是指:要发挥异构硬件平台的全部性能必须要使用并行的编程方式。通常包含两个层次的内容: 多个不同架构的处理器同时计算,要发挥异构系统中所有处理器的性能,可通过并行程序使得每个处理都参与运算,避免...

绝尘 4996

AvaotaA1全志T527开发板AMP异构计算简介

Avaota SBC 的部分平台内具有小核心 CPU,与大核心一起组成了异构计算的功能。在异构多处理系统中,主核心和辅助核心的存在旨在共同协作,以实现更高效的任务处理。这种协作需要系统采取一系列策略来确保各个核心能够充分发挥其性能优势,并实现有效的通信和协同工作。这就形成了一种称为异构多处理系统(AMP系统)的架构。在AMP系统中,通常采用主-从结构。主核心作为系统的控制中心,负责启动和管理辅助核心。一旦辅助核心启动完成,主核心和辅助核心之间会建立通信通道,以便进行数据交换和协同计算。

DOT小文哥的博客 1163

异构计算综述

异构计算(Heterogeneous computing)异构计算(Heterogeneous computing)技术从80年代中期产生,由于它能经济有效地获取高性能计算能力、可扩展性好...

OpenFPGA的博客 1万+

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

CPU独领风骚几十年后,渐渐开始显得力不从心,此时GPU异军突起,开始了快速的发展与扩张,占领了大规模运算和高质量图像显示的地盘。随着技术的不断发展,两者的相互渗透不断加深,相辅相成,强强联手,APU横空出世。 接下来为大家简要介绍一下GPU的相关知识内容。 GPU的概念 图形处理器(Graphics Processing Unit,缩写:GPU),又称显示核心、视觉处理器、显示芯片,是一种...

星辉领域 1120

华硕ROG枪神双系统实战:Ubuntu安装避坑指南

本文是华硕ROG枪神笔记本安装Ubuntu双系统的详细避坑指南。针对其独特的硬件与BIOS设计,文章核心解决了VMD控制器导致硬盘无法识别、驱动兼容性等关键难题,并提供了从BIOS设置、分区方案到安装后驱动配置与性能调优的一站式解决方案,帮助用户实现稳定的双系统体验。

raspberrypi5的博客 545

CUDA 异构并行计算与编程模型

CUDA从入门到放弃

小鹏AI 2247

Stata实战:DID平行趋势检验完整操作指南(附reghdfe+coefplot代码)

本文提供了一份使用Stata进行DID平行趋势检验的完整实战指南。文章详细讲解了从数据准备、生成相对时间变量,到利用reghdfe命令构建动态效应模型,以及使用coefplot命令进行结果可视化的全流程操作。核心在于通过检验政策前交互项的显著性,验证处理组与对照组是否满足平行趋势假设,为后续因果推断奠定可靠基础。

weixin_29231725的博客 1380

异构计算(CPU + GPU)编程简介

异构计算(CPU + GPU)编程简介 1.概念 所谓异构计算,是指CPU+ GPU或者CPU+ 其它设备(如FPGA等)协同计算。一般我们的程序,是在CPU上计算。但是,当大量的数据需要计算时,CPU显得力不从心。那么,是否可以找寻其它的方法来解决计算速度呢?那就是异构计算。例如可利用CPU(Central Processing Unit)、GPU(Graphic Processing

IDDIALOG的专栏 7219

ACC自适应巡航功能

自适应巡航功能(Adaptive Cruise Control)通过传感器检测车辆前方形式环境,控制自车行驶速度以达到定速巡航、跟车巡航、跟车启停,并支持超车辅助等功能。1. 定速巡航一般可设置车辆在30~150km/h的定速范围内巡航2. 跟车巡航车速0~150km/h范围内的跟车巡航3. 跟车启停30s内:自车随之起步,驾驶员无需操作30s~600s内:驾驶员按钮激活 或 轻踩加速踏板激活起步600s后:ACC退出激活状态进入待激活状态,电子驻车制动EPB会自动启动4. 超车辅助。

LXY_LXY_的博客 1384

推荐系统召回总结(持续更新)

推荐系统架构 候选池:可供推荐的物料候选池,对于图文、短视频、新闻等来说通常是最近N天的新物料组成的集合,定期进行物料更新。 召回:从候选池中选出和用户相关的物料,交给后面的排序模块进行打分。召回面对的候选集通常是数十万或者百万甚至千万的量级,检索过程必须轻量快速。通常由多路召回组成,保证不遗漏且相关性、多样性尽量好,可以分为非个性化召回和个性化召回。 粗排:对召回选择的几千或者几百候选物料进行排序,快速打分选出topN,减少精排的压力,兼顾精准与效率。 精排:对粗排的结果进行精准排序,这个环节需要特征尽可

whgyxy的博客 2515

什么是异构计算? 核间通信简介

是异构计算技术使得如此多不同类型的计算核心可以高效协同。异构多核处理器:由多个不同类型的处理器核组成(S32G/S32V/R-Car),不同类型可以指Cortex核的类型不同,或者不同架构的核,可以是A核+M核或者是ARM核+DSP核。有了优秀的异构计算架构组成的芯片,还需要能够高效协调异构芯片中不同类型计算核心的软件架构才能让自动驾驶如虎添翼。1、通信粒度的大小:通信数据块越大,传送所需时间越多,数据块越小,传送时间越小但是增加核间通信次数和核间通信过程中控制交互过程的耗时,从而增加核间通信的时间开销。

usstmiracle的博客 4079

信创环境下,软件测试如何破局?

毕竟,在自主可控的道路上,每一行通过测试的代码,都在为信创产业的未来添砖加瓦。未来,测试工程师不仅要验证软件在信创环境的可用性,更要基于国产软硬件的特性,推动软件进行 “原生设计”—— 例如,针对国产 CPU 的多核架构优化代码,基于国产数据库的索引机制提升查询效率。某政务云平台的测试数据显示,在 “飞腾芯片 + 麒麟操作系统” 环境下,系统的并发处理能力较传统环境下降约 15%,测试团队通过优化软件的线程调度逻辑,最终将性能损失控制在 5% 以内 —— 这正是信创性能测试的价值所在。

weixin_45608163的博客 885

异构计算与opencl简介

异构计算往往来自不同厂商的芯片 统一的编程标准:opencl 来源:基于FPGA 的OpenCL人工智能开发(英特尔官方教程)

weixin_40162095的博客 219

SpringBoot 中 @RequestMapping 及衍生注解的全面解析与实践

本文全面解析Spring Boot中@RequestMapping及其衍生注解的使用,涵盖核心功能、HTTP方法特定注解(@GetMapping/@PostMapping等)、属性详解(路径/参数/头信息等)以及路径变量处理。文章详细介绍了注解的组合使用、继承特性、版本控制策略等高级应用,并针对405/404等常见错误提供解决方案。通过学习这些注解的规范用法,开发者能够构建符合RESTful风格的API接口,提升代码可读性和可维护性。建议优先使用HTTP方法特定注解,合理规划URL结构,并注意避免路径冲突。

Java&AI小吕布的博客 2037

(入门向)在Ubuntu22.04.3安装Matlab2021b,以及无法安装在当前目录下的解决办法(见最后)

还有这个/usr/local是只读状态,我试过sudo chmod..去改那个文件的读,结果还是安装不了,我不是这个默认路径,因为它文件夹还是只读,于是我在matlab2021b下创了一个bin,并选上。输入完成后,依次按y,因为里面有三个文件,他会让你确定3次密码,直接yyy跳过即可。你可能会遇到装不下的情况,这个软件占30g,可是你分配给虚拟机就剩10g。,于是我去Downloads下建了一个matlab2021b文件夹,果然好使,3).此时,会提示你输入密码,因为这个rar是有密码的,

harrype的博客 7285

华为昇腾异构计算架构CANN及AI芯片简介

图1 CANN逻辑架构。

冲冲冲! 9803

如何学习总线技术

如何学习总线技术 以形象生动的比喻来描绘了总线技术的基本思想,指出了总线的基本分类和总线传输的基本原理,以及在学习过程中应当掌握的最基本的知识,对初学者有起到抛砖引入的作用。 0引言   如果一座只能容一个人来往的独木桥,两端的人都想要过桥,为了不拥挤、阻塞,那我们就得采取有效的办法。比如规定某段时间哪端的人过桥,另一端的人就等着该他过桥的时间段的到来,同时也还可以规定人多时要按先来后到或年

ce123的技术博客 8528

编程与数学 03-001 计算机组成原理 19_GPU与异构计算简介

本文介绍了GPU与异构计算的基础知识,包括GPU架构、SIMD并行模型、CUDA和OpenCL编程模型以及GPU计算性能优化技术。详细讨论了GPU与CPU的设计哲学对比、现代GPU架构层次、CUDA执行模型和内存模型、OpenCL平台模型和编程示例。通过这些内容,读者可以更好地理解GPU架构特性、编程模型以及如何优化GPU计算性能,为参与高性能计算、深度学习等领域的开发和优化提供理论基础。

明月看潮生的博客 1172

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上一篇: 云服务器ECS
下一篇: 图计算 概述
K. Bob
博客等级 码龄8年 82粉丝 294原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值