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 | ||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||