|
|
|
Gravity simulation on a desktop computer |
|
The following results are measurements of elapsed time vs total energy error for the full range of accelerators (tree codes or brute-force) available in Grav-Sim. The tests were conducted according to the following criteria:
| Time-Steps | Accelerator | Interactor | Space Divider | Elapsed Time | Energy Error |
|---|---|---|---|---|---|
| Individual | Barnes-Hut | Direct | Octree | 5.5 seconds | 0.455493 % |
| Individual | Stadel* | Direct | KDTree | 6.5 seconds | 0.451888 % |
| Individual | Ridler** | Direct | Hilbert | 5.4 seconds | 0.438864 % |
| Individual | Dehnen | Pairwise | Octree | 5.6 seconds | 0.223357 % |
| Individual | Dehnen-Stadel* | Pairwise | KDTree | 6.0 seconds | 0.244912 % |
| Individual | Dehnen-Ridler** | Pairwise | Hilbert | 5.8 seconds | 0.411655 % |
| Individual | Brute-Force | N/A | N/A | 5.8 seconds | 0.315941 % |
| Shared | Barnes-Hut | Direct | Octree | 17.3 seconds | 0.031596 % |
| Shared | Stadel* | Direct | KDTree | 22.4 seconds | 0.038903 % |
| Shared | Ridler** | Direct | Hilbert | 18.6 seconds | 0.001052 % |
| Shared | Dehnen | Pairwise | Octree | 14.0 seconds | 0.382969 % |
| Shared | Dehnen-Stadel* | Pairwise | KDTree | 17.7 seconds | 0.124228 % |
| Shared | Dehnen-Ridler** | Pairwise | Hilbert | 14.5 seconds | 0.010016 % |
| Shared | Brute-Force | N/A | N/A | 41.6 seconds | 0.002367 % |
| Constant | Barnes-Hut | Direct | Octree | 2 minutes 13 seconds | 400.249 % |
| Constant | Stadel | Direct | KDTree | 2 minutes 57 seconds | 1.09441 % |
| Constant | Ridler* | Direct | Hilbert | 1 minute 49 seconds | 3.99687 % |
| Constant | Dehnen | Pairwise | Octree | 1 minute 14.3 seconds | 0.397287 % |
| Constant | Dehnen-Stadel* | Pairwise | KDTree | 1 minute 54 seconds | 0.101437 % |
| Constant | Dehnen-Ridler* | Pairwise | Hilbert | 1 minute 18.4 seconds | 0.013006 % |
| Constant | Brute-Force | N/A | N/A | 4 minutes 0 seconds | 2.91443 % |
* - note the KDTree used here is unbalanced, unlike the one implemented by Joachim Stadel | |||||
| Time-Steps | Accelerator | Interactor | Space Divider | Elapsed Time | Energy Error |
|---|---|---|---|---|---|
| Individual | Barnes-Hut | Direct | Octree | 43.9 seconds | 0.003861 % |
| Individual | Stadel* | Direct | KDTree | 82.1 seconds | 0.007884 % |
| Individual | Ridler** | Direct | Hilbert | 38.7 seconds | 0.001642 % |
| Individual | Dehnen | Pairwise | Octree | 54.1 seconds | 0.018990 % |
| Individual | Dehnen-Stadel* | Pairwise | KDTree | 80.4 seconds | 0.000480 % |
| Individual | Dehnen-Ridler** | Pairwise | Hilbert | 80.4 seconds | 0.008884 % |
| Individual | Brute-Force | N/A | N/A | 1 minute, 52 seconds | 0.005719 % |
| Shared | Barnes-Hut | Direct | Octree | 3 minutes, 58 seconds | 0.000590 % |
| Shared | Stadel* | Direct | KDTree | 3 minutes, 27 seconds | 0.001791 % |
| Shared | Ridler** | Direct | Hilbert | 4 minutes, 6 seconds | 0.005514 % |
| Shared | Dehnen | Pairwise | Octree | 2 minutes, 36 seconds | 0.023204 % |
| Shared | Dehnen-Stadel* | Pairwise | KDTree | 2 minutes, 28 seconds | 0.011385 % |
| Shared | Dehnen-Ridler** | Pairwise | Hilbert | 2 minutes, 49 seconds | 0.014919 % |
| Shared | Brute-Force | N/A | N/A | 33 minutes, 6 seconds | 0.000178 % |
| Constant | Barnes-Hut | Direct | Octree | 21 minutes, 26 seconds | 0.166846 % |
| Constant | Stadel | Direct | KDTree | 19 minutes, 0 seconds | 0.169970 % |
| Constant | Ridler* | Direct | Hilbert | 21 minutes, 21 seconds | 13.7187 % |
| Constant | Dehnen | Pairwise | Octree | 14 minutes, 22 seconds | 0.023058 % |
| Constant | Dehnen-Stadel* | Pairwise | KDTree | 14 minutes, 38 seconds | 0.011628 % |
| Constant | Dehnen-Ridler* | Pairwise | Hilbert | 15 minutes, 34 seconds | 0.015594 % |
| Constant | Brute-Force | N/A | N/A | 2 hours, 53 minutes | 0.123633 % |
* - note the KDTree used here is unbalanced, unlike the one implemented by Joachim Stadel | |||||
| Time-Steps | Accelerator | Interactor | Space Divider | Elapsed Time | Energy Error |
|---|---|---|---|---|---|
| Individual | Barnes-Hut | Direct | Octree | 2 minutes, 50 seconds | 0.000252 % |
| Individual | Stadel* | Direct | KDTree | 5 minutes, 8 seconds | 0.000064 % |
| Individual | Ridler** | Direct | Hilbert | 2 minutes, 48 seconds | 0.001275 % |
| Individual | Dehnen | Pairwise | Octree | 3 minutes, 20 seconds | 0.003910 % |
| Individual | Dehnen-Stadel* | Pairwise | KDTree | 5 minutes, 28 seconds | 0.001213 % |
| Individual | Dehnen-Ridler** | Pairwise | Hilbert | 8 minutes, 4 seconds | 0.021340 % |
| Individual | Brute-Force | N/A | N/A | 1 hour, 2 minutes | 0.000096 % |
| Shared | Barnes-Hut | Direct | Octree | 29 minutes, 15 seconds | 0.000209 % |
| Shared | Stadel* | Direct | KDTree | 37 minutes, 38 seconds | 0.000078 % |
| Shared | Ridler** | Direct | Hilbert | 39 minutes, 56 seconds | 0.001210 % |
| Shared | Dehnen | Pairwise | Octree | 21 minutes, 23 seconds | 0.003887 % |
| Shared | Dehnen-Stadel* | Pairwise | KDTree | 29 minutes, 1 seconds | 0.001164 % |
| Shared | Dehnen-Ridler** | Pairwise | Hilbert | 29 minutes, 45 seconds | 0.021235 % |
| Shared | Brute-Force | N/A | N/A | 36 hours (est) | |
| Constant | Barnes-Hut | Direct | Octree | 3 hours, 1 minutes | 0.000208 % |
| Constant | Stadel | Direct | KDTree | 3 hours, 53 minutes | 0.000077 % |
| Constant | Ridler* | Direct | Hilbert | 4 hours, 5 minutes | 0.001213 % |
| Constant | Dehnen | Pairwise | Octree | 2 hours, 7 minutes | 0.003887 % |
| Constant | Dehnen-Stadel* | Pairwise | KDTree | 2 hours, 59 minutes | 0.001162 % |
| Constant | Dehnen-Ridler* | Pairwise | Hilbert | 2 hours, 59 minutes | 0.021246 % |
| Constant | Brute-Force | N/A | N/A | 9 days (est) | |
* - note the KDTree used here is unbalanced, unlike the one implemented by Joachim Stadel | |||||