Skip to content

linalg

Benchmarks of ordito.linalg 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.1x1x10xordito (CUDA): the reference, 1xordito (CUDA)1xlibigl: 3.2x ordito's time, geometric mean over 1 functions; slower than ordito in 1libigl3.2x (1)MeshLab: 3.8x ordito's time, geometric mean over 1 functions; slower than ordito in 1MeshLab3.8x (1)
Time relative to ordito (CUDA), geometric mean over the linalg 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
libigl 3.2x 1 1
MeshLab 3.8x 1 1

min_quad_with_fixed

0.1x1x10xordito (CUDA): 5.11 ms, 1x ordito's timeordito (CUDA)1x · 5.11 mslibigl: 25.15 ms, 4.9x ordito's timelibigl4.9x · 25.15 msMeshLab: 39.41 ms, 7.7x ordito's timeMeshLab7.7x · 39.41 ms
saddle (34 848 faces) · fixed_fraction=0.01 · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 5.11 ms 1x
libigl 25.15 ms 4.9x
MeshLab 39.41 ms 7.7x
All inputs
Input ordito (CUDA) libigl MeshLab
saddle fixed_fraction=0.01 5.11 ms 25.15 ms 39.41 ms
saddle fixed_fraction=0.5 1.30 ms 7.51 ms
saddle_graded fixed_fraction=0.01 20.58 ms 24.54 ms 38.80 ms
saddle_graded fixed_fraction=0.5 2.42 ms 7.13 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)
min_quad_with_fixed_precompute saddle_graded fixed_fraction=0.5 3.38 ms
free_partition saddle_graded fixed_fraction=0.5 59.7 µs
free_coordinates saddle_graded fixed_fraction=0.5 25.6 µs
assemble_interior_system saddle_graded fixed_fraction=0.5 162.1 µs
partitioned_interior_system saddle_graded fixed_fraction=0.5 140.3 µs
solve_spd saddle_graded 6.05 ms
jacobi_preconditioner saddle_graded 6.7 µs
solve_spd_columns saddle_graded check_every=0 53.28 ms
multigrid_preconditioner saddle_graded 6.17 ms
spd_column_solver_amortized saddle_graded repeats=50 2.89 ms
chebyshev_preconditioner saddle_graded 7.4 µs
operator_factorization_factor saddle_graded 3.76 ms
solve_spd_settled saddle_graded 11.22 ms
replicated_operator sphere_med 19.1 µs
squared_laplacian_preconditioner saddle_graded 169.4 µs
squared_laplacian_from_factors saddle_graded 55.7 µs
squared_laplacian_bind saddle_graded 15.8 µs
squared_laplacian_narrowed saddle_graded 29.3 µs