MXMACA编程硬件平台由CPU主机及与其相连的一个或多个沐曦GPU设备组成,各部分之间通过PCIe总线相连,如图3-2所示。通常,CPU主机是指包含x86或ARM处理器的计算平台。每个沐曦GPU设备由多个加速处理器(Accelerated Processor,AP)和片外高带宽存储器(HBM)组成。其中,每个AP又由一个指令单元(InStruction Unit,ISU)、多个运算单元(Processing Element Units,PEU)和片上高速存储(Memory)等部分组成。运算单元(PEU)是设备上执行数据计算的最小单元。
图3-2 MXMACA编程硬件平台
MXMACA编程主要是充分利用CPU和GPU各自的优势特性,在CPU+GPU的异构计算架构中进行编程。CPU所在的位置被称为主机端(Host),GPU所在的位置被称为设备端(Device)。主机端和设备端之间通过PCIe总线连接,其用于传递指令和数据,让CPU和GPU协同工作。