|
|
|
|
|
|
|
|
|
|
|
| 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Monte Carlo Stock Pricing |
|
|
|
|
|
|
| Experimental
Configuration |
|
5 |
|
| Four 64-bit Ubuntu
Linux 8.04.2 Eight Core Machines [Intel Xeon CPU E5450 3.00 GHz with 16 GB
physical memory]; |
|
2 |
|
| Two machines have
one Tesla C1060 GPU Card each |
|
3 |
|
| 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 |
|
|
|
|
| 1024 Stock Options |
|
| log2(Paths) |
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 |
|
| 18 |
23.10 |
2.99 |
0.75 |
3.06 |
0.86 |
0.41 |
0.91 |
|
| 20 |
93.03 |
11.82 |
0.80 |
10.39 |
3.21 |
0.36 |
2.72 |
|
| 22 |
369.02 |
46.94 |
1.13 |
40.16 |
11.80 |
0.42 |
10.19 |
|
| 24 |
1472.97 |
185.66 |
2.49 |
158.74 |
46.99 |
0.73 |
39.96 |
|
| 26 |
5891.24 |
748.85 |
7.93 |
638.09 |
187.67 |
2.34 |
165.98 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Comparison of
Serial and PMLIB Tasks |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Comparison of PMLIB
Tasks |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Comparison of
Serial Task, Fastest PMLIB Task and Slowest PMLIB Task |
|
| log2(Paths) |
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 |
|
| 18 |
23.096 |
2.990 |
0.75 |
3.06 |
0.86 |
0.41 |
0.91 |
0.412 |
3.06 |
|
| 20 |
93.03 |
11.82 |
0.80 |
10.39 |
3.21 |
0.36 |
2.72 |
0.36 |
11.82 |
|
| 22 |
369.02 |
46.94 |
1.13 |
40.16 |
11.80 |
0.42 |
10.19 |
0.42 |
46.94 |
|
| 24 |
1472.97 |
185.66 |
2.49 |
158.74 |
46.99 |
0.73 |
39.96 |
0.73 |
185.66 |
|
| 26 |
5891.24 |
748.85 |
7.93 |
638.09 |
187.67 |
2.34 |
165.98 |
2.34 |
748.85 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fastest LPC Task |
Slowest LPC Task |
|
|
|
|
|
|
|
|
|
|
| log2(Paths) |
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 |
|
|
|
| 18 |
23.096 |
0.412 |
3.06 |
5609.74 |
753.82 |
|
| 20 |
93.03 |
0.36 |
11.82 |
25747.84 |
786.79 |
|
| 22 |
369.02 |
0.42 |
46.94 |
87862.38 |
786.22 |
|
| 24 |
1472.97 |
0.73 |
185.66 |
201784.88 |
793.35 |
|
Max PMLIB Speedup over Serial Task |
|
| 26 |
5891.24 |
2.34 |
748.85 |
251414.46 |
786.71 |
|
2514.14x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PMLIB Tasks
slower than Serial Task |
PMLIB Tasks
faster than Serial Task |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|