《软硬件融合:超大规模云计算架构创新之路》之一:软硬件平台的协作(以CPU+GPU为例)

本文探讨了在云计算架构中,CPU与GPU如何通过CUDA实现软硬件协作,以提升计算效率。CUDA允许软件开发者利用GPU进行并行计算。CPU负责顺序执行任务,将数据传递给GPU,GPU并行处理后返回结果,期间CPU可处理其他任务。软硬件协作分为平行和垂直两种模式,分别对应平等交互和下层服务上层的关系。面对不断发展的新技术挑战,软硬件融合成为了解决方案的关键。
摘要由CSDN通过智能技术生成

一般来说,除了CPU,其他平台通常都不是图灵完备的,需要和CPU一起协作来完成工作任务的处理。在本书中,我们约定如下:

  1. 如果一个任务由CPU执行,我们称之为软件执行;
  2. 如果一个任务(或任务的一部分)由协处理器、GPU、FPGA或ASIC执行,我们可以统称之为硬件“加速”执行;
  3. 如果一个任务,至少分为两个部分,一部分在CPU的软件执行,另一部分在协处理器、GPU、FPGA或ASIC硬件执行,并且这两者之间需要相互通信和协作,那我们可以称此任务是软硬件协作来完成。

       以基于CPU+GPU的异构计算架构为例。CUDA是NVIDIA创建的并行计算平台和应用程序编程接口(API)模型。CUDA允许软件开发人员使用具有支持CUDA功能的图形处理单元(GPU)进行通用处理。CUDA平台是一个软件层,可直接访问GPU的虚拟指令集和并行计算元素,以执行计算内核。

如图 2.6,CPU视角的CUDA的简单处理流程如下:

  1. CPU顺序执行任务,结束后把数据保存在CPU的内存中;
  2. 将待处理的数据从CPU内存复制到GPU内存(图中的①处理);
  3. CPU指示GPU工作,配置并启动CUDA内核(图中的②处理);
  4. 多个CUDA内核并行执行,来处理准备好的数据(图中的③处理);
  5. 处理完成后,将处理结果复制回CPU的内存&
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值