Skip to content

geodesic_walk

Benchmarks of ordito.geodesic_walk against every library that computes the same thing. Each chart shows the time of every library relative to ordito on CUDA (1x, in green): a longer bar took longer. The table under each chart lists every input the function was measured on. See Benchmarks for how to read and reproduce these numbers.

Measured on GPU: NVIDIA GeForce RTX 5090 · CPU: Intel Xeon w7-2495X

Summary

0.1x1x10x100x1000xordito (CUDA): the reference, 1xordito (CUDA)1xpotpourri3d: 110x ordito's time, geometric mean over 5 functions; slower than ordito in 5potpourri3d110x (5)libigl: 231x ordito's time, geometric mean over 1 functions; slower than ordito in 1libigl231x (1)
Time relative to ordito (CUDA), geometric mean over the geodesic_walk functions both implement; in parentheses, the number of functions. Log scale. Runs stopped at the time limit are left out.
Values
Library Time relative to ordito Functions compared ordito faster in
potpourri3d 110x 5 5
libigl 231x 1 1

trace_rays

0.1x1x10x100x1000xordito (CUDA): 310.9 µs, 1x ordito's timeordito (CUDA)1x · 310.9 µspotpourri3d: 62.86 ms, 202x ordito's timepotpourri3d202x · 62.86 ms
sphere_med (81 920 faces) · n_rays=1 · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 310.9 µs 1x
potpourri3d 62.86 ms 202x
All inputs
Input ordito (CUDA) potpourri3d
sphere_med n_rays=1 310.9 µs 62.86 ms
sphere_med n_rays=64 365.8 µs 62.29 ms
sphere_med n_rays=4096 415.6 µs 79.09 ms

trace_locality

0.1x1x10x100x1000xordito (CUDA): 409.4 µs, 1x ordito's timeordito (CUDA)1x · 409.4 µspotpourri3d: 66.58 ms, 163x ordito's timepotpourri3d163x · 66.58 ms
sphere_med (81 920 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 409.4 µs 1x
potpourri3d 66.58 ms 163x
All inputs
Input ordito (CUDA) potpourri3d
ribbon_long 312.6 µs 37.36 ms
sphere_med 409.4 µs 66.58 ms

trace_from_face

0.1x1x10x100x1000x10000xordito (CUDA): 324.1 µs, 1x ordito's timeordito (CUDA)1x · 324.1 µspotpourri3d: 365.37 ms, 1127x ordito's timepotpourri3d1127x · 365.37 ms
sphere_large (327 680 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 324.1 µs 1x
potpourri3d 365.37 ms 1127x
All inputs
Input ordito (CUDA) potpourri3d
sphere_small 251.1 µs 10.11 ms
sphere_med 322.6 µs 67.17 ms
sphere_large 324.1 µs 365.37 ms

geodesic_path

0.1x1x10x100x1000xordito (CUDA): 8.13 ms, 1x ordito's timeordito (CUDA)1x · 8.13 mspotpourri3d: 98.49 ms, 12x ordito's timepotpourri3d12x · 98.49 mslibigl: 2.006 s, 247x ordito's timelibigl247x · 2.006 s
sphere_med (81 920 faces) · n_paths=1 · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 8.13 ms 1x
potpourri3d 98.49 ms 12x
libigl 2.006 s 247x
All inputs
Input ordito (CUDA) libigl potpourri3d
sphere_med n_paths=1 8.13 ms 2.006 s 98.49 ms
sphere_med n_paths=64 9.50 ms 2.059 s 645.88 ms
sphere_med n_paths=4096 16.66 ms

shorten_loop

0.1x1x10x100x1000xordito (CUDA): 1.41 ms, 1x ordito's timeordito (CUDA)1x · 1.41 mspotpourri3d: 159.22 ms, 113x ordito's timepotpourri3d113x · 159.22 ms
handles_64 (93 976 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 1.41 ms 1x
potpourri3d 159.22 ms 113x
All inputs
Input ordito (CUDA) potpourri3d
handles_1 1.01 ms 91.82 ms
handles_64 1.41 ms 159.22 ms

Without a reference

No other library computes these, so they have no comparison. ordito (CUDA)'s median time on the largest input it was measured on:

Function Input ordito (CUDA)
descend_field sphere_med n_paths=4096 7.51 ms
shorten_loop_with_offsets handles_64 946.5 µs