什么是异构计算
heterogeneous computing,指使用不同体系架构与指令集的计算单元组成的系统进行计算的方式。
常见的计算单元种类
构成 | 特点 | 应用场景 | |
CPU | 由ALU, CACHE,controller, RAM等组成 |
主频高 核数有限 数据量小 逻辑复杂 |
管理和调度任务 逻辑复杂的计算 |
GPU |
大量ALU,RAM,少量CACHE ray tracing core 光线渲染 tensor core 神经网络加速 cuda core 图形渲染 |
数据量大 并行度高 逻辑简单 |
强浮点能力 大量并行计算 如图像处理,模型训练推理 |
NPU |
属于一种ASIC,从GPU分离出cube core/tensor core,用于执行推理计算 |
功耗低 特化用途性能高 | 神经网络加速 |
DSP |
可以划归CPU一类, 和传统CPU的冯诺依曼结构不同,采用哈佛结构,将获取指令和获取数据操作并行起来,提高了运行速度 |
CPU 地址总线取地址,数据总线取数据 DSP 同时调入程序和数据,流水线技术,专用乘法器 | |
FPGA | 可编程门电路阵列 | 灵活度高,实时性高 | 可以实现不规则的并行计算 |
ASIC | 为特殊用途涉及的处理芯片,为需求定制 | 体积小,性能高,功耗低,算法固定 | 计算性能高,但是算法不能改变 |