基于 MPI 的 PSRS 并行排序算法的实现
View
348
Download
20
Embed Size (px)
344 x 292429 x 357514 x 422599 x 487
DESCRIPTION
基于 MPI 的 PSRS 并行排序算法的实现. 09 国土王信. 什么是并行计算. 传统上,一般的软件设计都是串行式计算: 软件在一台只有一个 CPU 的电脑上运行; 问题被分解成离散的指令序列; 指令被一条接一条的执行; 在任何时间 CPU 上最多只有一条指令在运行 在最简单的情形下,并行计算是使用多个计算资源去解决可计算问题。 用多核 CPU 来运行; 问题被分解成离散的部分可以被同时解决; 每一部分被细分成一系列指令; 每一部分的指令可以在不同的 CPU 上同时的执行;. - PowerPoint PPT Presentation
Text of 基于 MPI 的 PSRS 并行排序算法的实现
MPIPSRS 09
CPUCPUCPUCPU
MPI MPI ,, MPI,MPI ,MPIMPICH MPI ,MPI MPI ,,,
PSRSPSRS (Parallel Sorting by Regular Sampling),Uniform Partitionnpnpn /pp-1p
nPPn PSRS1 PSRSnPBegin(1) n/P(Quicksort)(2) w2w3w(P-1)wP-1w=n/P2(3) P0PPP-12(P-1)(P-1)(P-1)P-1(4) P0P-1(5) P-1n/PP Pij+1i=0P-1j=0P-1(6) i+1Piii(i=0P-1)(7) Pn
n/P(Quicksort)quicksort(arr,0,mylength - 1); MPI_Barrier( MPI_COMM_WORLD);w2w3w(P-1)wP-1w=n/P2n = (int)(mylength/(Spt+1)); for (i=0;i
*P0for (i=1;i
P0P-1 MPI_Bcast(temp1, sizeof(int)*(1+Spt), MPI_CHAR, 0,MPI_COMM_WORLD);//comm()temp1P-1n/PPPij+1i=0,,P-1,j=0,,P-1i+1Piii(i=0P-1)Pn
634101
MPIMPI
END!