Partitioned Memory Parallel Programming Library (PMLIB)
Based on BSP-RAMP: Partitioned Memory Parallel Programming Framework
      Prof. Subodh Kumar Prof. Sorav Bansal      
Tarun Beri
Indian Institute of Technology, Delhi
Fast Fourier Transformation
Experimental Configuration 8
Four 64-bit Ubuntu Linux 8.04.2 Eight Core Machines [Intel Xeon CPU E5450 3.00 GHz with 16 GB physical memory]; 3
Two machines have one Tesla C1060 GPU Card each 5
Watch Dog/Kernel Execution Timeout Disabled; mpiexec with 4 processes on different machines;
 CUDA Version 3.1; OpenMPI Version 1.78; OpenMP Version 3.0; gcc Version 4.2.4
Equal task partitioning among all processing elements
Two PMLIB parallel tasks - first for 1-D FFT computation over all rows and second over all cols of the output matrix from first task
log2(No. of elements)  Computation Time (in seconds) log2(No. of rows) log2(No. of cols)
                         Serial Task  1 host CPU Task 1 host GPU Task 1 host Task
CPU+GPU
Cluster CPU Task Cluster GPU Task Cluster Task
CPU+GPU
   
20 0.24 0.08 0.60 0.46 1.39 0.75 1.35 12 8
21 0.48 0.17 0.77 0.50 2.82 1.08 3.41 12 9
22 0.98 0.33 1.13 0.59 2.25 1.72 3.28 12 10
23 1.96 0.61 1.77 0.79 2.90 3.03 3.47 12 11
24 4.08 1.17 3.08 1.23 4.58 5.69 5.03 12 12
25 8.82 2.14 5.80 2.28 8.86 10.97 9.04 12 13
26 18.78 4.29 11.71 4.36 17.82 22.53 17.59 12 14
27 40.70 8.79 24.77 8.89 36.34 48.04 34.98 12 15
Comparison of Serial and PMLIB Tasks
Comparison of PMLIB Tasks
Comparison of Serial Task, Fastest PMLIB Task and Slowest PMLIB Task
log2(No. of elements)  Computation Time (in seconds)
                         Serial Task  1 host CPU Task 1 host GPU Task 1 host Task
CPU+GPU
Cluster CPU Task Cluster GPU Task Cluster Task
CPU+GPU
Fastest PMLIB Task Slowest PMLIB Task
20 0.239 0.081 0.60 0.46 1.39 0.75 1.35 0.081 1.39
21 0.48 0.17 0.77 0.50 2.82 1.08 3.41 0.17 3.41
22 0.98 0.33 1.13 0.59 2.25 1.72 3.28 0.33 3.28
23 1.96 0.61 1.77 0.79 2.90 3.03 3.47 0.61 3.47
24 4.08 1.17 3.08 1.23 4.58 5.69 5.03 1.17 5.69
25 8.82 2.14 5.80 2.28 8.86 10.97 9.04 2.14 10.97
26 18.78 4.29 11.71 4.36 17.82 22.53 17.59 4.29 22.53
27 40.70 8.79 24.77 8.89 36.34 48.04 34.98 8.79 48.04
Fastest LPC Task Slowest LPC Task
log2(No. of elements)  Computation Time (in seconds) % Speedup of PMLIB Task over Serial Task
                         Serial Task Fastest PMLIB Task Slowest PMLIB Task Fastest PMLIB Task Slowest PMLIB Task
20 0.239 0.081 1.39 293.73 17.19
21 0.48 0.17 3.41 277.13 14.08
22 0.98 0.33 3.28 296.46 29.93
23 1.96 0.61 3.47 320.23 56.51 Max PMLIB Speedup over Serial Task
24 4.08 1.17 5.69 349.46 71.66 4.63x
25 8.82 2.14 10.97 412.46 80.37
26 18.78 4.29 22.53 437.88 83.36
27 40.70 8.79 48.04 462.83 84.72
 PMLIB Tasks slower than Serial Task  PMLIB Tasks faster than Serial Task