Skip to content

SD223C

Heterogeneous Hybrid Parallel Computing based on the Cambrian AI chip SD5223C

image-20240229111834204

git仓库

https://gitee.com/hiyanyx/demo-source-code-myself-cambrian-sg-sd5223c-cmake-bang-mlu-v1-c

演示MLU代码

在这里插入图片描述

当前主要的异构计算机体系结构

• CPU/协处理器、

• CPU/众核处理器、

• CPU/ASCI、

• CPU/FPGA 等。

另外,

•相对于串行计算,并行计算可以划分成**时间并行和空间并行**。

•时间并行:流水线并行。

•空间并行:指令并行、数据并行和线程并行。(当前的主要问题)。空间并行导致两类并行机的产生:

•按照麦克·弗莱因(Michael Flynn)的说法分为单指令流多数据流(SIMD)和多指令流多数据流(MIMD**),**(而常用的串行机也称为单指令流单数据流(SISD))。

编程模型

•异构系统往往有着不同于CPU的编程模型。

•面向异构混合计算机系统一般需要两套不同的程序代码,这增加了应用开发和调试的难度,并降低了代码的可移植性。

•其次,异构系统规模的扩大使得系统内计算核的数目急剧增加,这对算法本身提出了更高的要求,编程要求也变高。

•目前,异构并行计算软件基础设施领域一直由编译器基础设施开发和编程语言支持主导[1]。

•目前,通用CPU使用C++,Java等高级语言;FPGA使用VHDL,Verilog等硬件语言;GPU使用CUDA-c等语言。

•这使得程序员在使用异构系统时无法使用统一的编程接口来编写程序,必须在任务划分上仔细思考,导致程序的优化难度大幅提升,极大地增加了程序员的工作量。对于不同的异构平台,程序员仍需要花费大量时间来了解具体硬件的细微差别,对各种启动参数进行调优,以从硬件中获得最佳性能

•异构混合并行编程模型是指在**不同类型的计算平台**上,利用并行计算技术来提高计算效率的一种编程方式。这种模型是为了适应各类异构混合结构的发展而做出的改变,它可以是对现有的一种语言进行改造和重新实现,也可以是现有异构编程语言的扩展。可以分为四种类型:

•一、独立的“异构混编”语言

•二、对现有异构编程语言的扩展

•三、使用指导性语句异构编程

•四、容器模式协同编程

image-20240229111605369

image-20240229111611310

image-20240229111620160

image-20240229111631447

MLU 并行AI算法部署和优化

image-20240229111922922

典型业务的五个步骤

image-20240229112000111

- 单位时间可以完成多少推理请求----吞吐

- 每次推理请求的总响应时间----延时

image-20240229112030630

其他研究内容

笔记:https://blog.csdn.net/djfjkj52/category_9985879.html 检索【寒武纪】

image-20240229111003356