A Methodology for Fine- Grained Parallelism in JavaScript ...
A Methodology for Fine- Grained Parallelism in JavaScript ...
A Methodology for Fine- Grained Parallelism in JavaScript ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Results: n-body<br />
600<br />
3<br />
500<br />
time per iteration (ms)<br />
400<br />
300<br />
200<br />
100<br />
ref<br />
sluice<br />
skir<br />
speedup<br />
2<br />
4096<br />
3072<br />
2048<br />
1024<br />
0<br />
100 500 1000 1500<br />
1<br />
2 4 8<br />
number of bodies<br />
number of threads<br />
●<br />
●<br />
●<br />
●<br />
●<br />
●<br />
Test of acceleration due to SKIR<br />
Offload CalculateForces kernel to SKIR<br />
Shows mean time per simulation iteration<br />
ref = ord<strong>in</strong>ary <strong>JavaScript</strong><br />
sluice = sluice implementation<br />
skir = sluice implementation + SKIR offload<br />
●<br />
●<br />
●<br />
Test of data parallelism<br />
Offload CalculateForces kernel as a data<br />
parallel kernel, use SKIR kernel fission<br />
Shows speedup vs. s<strong>in</strong>gle thread<br />
● Use 2, 4 or 8 SKIR threads (4 cores / 8<br />
hardware threads)<br />
●<br />
<strong>JavaScript</strong> also uses one thread