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