MPI(Message Passing Interface)是一种用于并行计算的通信协议,它允许不同的进程之间进行消息传递。MPI_Scatter 和MPI_Gather 是MPI中的两个常用函数,分别用于将数据分散到多个进程和从多个进程收集数据。 基础概念 MPI_Scatter: 功能:将一个数组的数据分散到多个进程。 参数:发送数组、每个进程接收的数据量、数据类型...
MPI_Comm_rank(MPI_COMM_WORLD, &rank); /*Process#*/ MPI_Comm_size(MPI_COMM_WORLD, &size); /*Total processes#*/ MPI_Bcast_a(rank,size,tag); MPI_Alltoall_a(rank,size,tag); MPI_Gather_a(rank,size,tag); MPI_Scatter_a(rank,size,tag); MPI_Finalize(); /*quit from MPI world*/ ...
MPI_Scatter是一个跟MPI_Bcast类似的集体通信机制(如果你对这些词汇不熟悉的话,请阅读上一节课。MPI_Scatter的操作会设计一个指定的根进程,根进程会将数据发送到 communicator 里面的所有进程。MPI_Bcast和MPI_Scatter的主要区别很小但是很重要。MPI_Bcast给每个进程发送的是同样的数据,然而MPI_Scatter给每个进程发送...