MPSoC编程模型与软件栈解析
1. MPSoC编程模型
1.1 MPI编程模型
MPI(Message Passing Interface)定义了多种通信模式和标准API,用于多处理器片上系统(MPSoC)的通信和进程管理。
- 通信模式 :
- 缓冲模式(Buffered mode) :发送操作只有在缓冲区有空间时才能开始,若缓冲区无空间则会出错。
- 同步模式(Synchronous mode) :即使没有匹配的接收操作,发送操作也可开始,但只有当匹配的接收操作开始接收同步发送的消息时,发送才能成功完成。
- 就绪模式(Ready mode) :只有当对应的接收操作已经准备好时,发送操作才能开始。
- 相关原语 :与这三种模式相关的原语分别是MPI_BSend、MPI_SSend和MPI_RSend/MPI_RRecv。此外,MPI还定义了非阻塞通信原语MPI_ISend和MPI_IRecv,支持上述三种通信模式,命名规则与阻塞类型类似,如MPI_IBSend、MPI_ISSend、MPI_IRSend/MPI_IRRecv。
- 进程管理API :MPI还定义了用于进程管理的标准API,如MPI_Comm_Spawn和MPI_Comm_Multiple,用于由运行中的MPI应用程序启动新进程并与之建立通信。
- 实现库 :MPICH库是MPI的一种实现,支持