← CPU results

cpu/public_api

profile: zen5-cpuhardware: x86_64date: 2026-10-28 00:48:01Ztenferro: 8fec1ca70852unit: msthreads: [1, 4, 8]

Legacy report: ingestion provenance is unrecorded; no raw artifact is inferred.

Compute-bound cases (1014)

Absolute medians on a log time axis. Bars are shorter for faster calls; the dashed line is the best reference for each case.

casegroupvs PyTorchvs JAXnot measuredflags
abssuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432trace 1.02xtrace 0.84x--
abssuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432trace 0.94xtrace 0.53x--
abssuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432trace 0.92xtrace 0.53x--
addsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432trace 0.97xtrace 0.79x--
addsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432trace 0.92xtrace 0.58x--
addsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432trace 0.89xtrace 0.59x--
add_intosuite=cpu/output_reuse / dtype=f64 / threads=1 / shape=33554432---status
add_intosuite=cpu/output_reuse / dtype=f64 / threads=4 / shape=33554432---status
add_intosuite=cpu/output_reuse / dtype=f64 / threads=8 / shape=33554432---status
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x2x2trace 0.71xtrace 0.57x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x4x4trace 1.00xtrace 0.72x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x8x8trace 0.98xtrace 0.88x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x128x128trace 0.45xtrace 0.68x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x2x2trace 1.00xtrace 0.59x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x32x32trace 0.90xtrace 0.33x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x4x4trace 0.98xtrace 0.60x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x8x8trace 1.04xtrace 0.64x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x2x2trace 1.06xtrace 0.63x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x4x4trace 1.06xtrace 0.62x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x8x8trace 1.04xtrace 0.64x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x2x2trace 1.01xtrace 0.62x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x4x4trace 1.06xtrace 0.62x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x8x8trace 1.04xtrace 0.31x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x128x128trace 0.45xtrace 0.78x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x2x2trace 1.03xtrace 0.62x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x32x32trace 0.77xtrace 0.68x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x4x4trace 1.06xtrace 0.61x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x8x8trace 1.02xtrace 0.34x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x2x2trace 1.20xtrace 0.52x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x4x4trace 14.48xtrace 7.60x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x8x8trace 1.25xtrace 0.78x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x128x128trace 0.65xtrace 0.57x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x2x2trace 0.95xtrace 0.23x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x32x32trace 0.88xtrace 0.36x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x4x4trace 0.92xtrace 0.23x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x8x8trace 0.96xtrace 0.72x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x2x2trace 0.99xtrace 0.24x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x4x4trace 1.02xtrace 0.72x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x8x8trace 0.99xtrace 0.24x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x2x2trace 0.96xtrace 0.70x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x4x4trace 1.00xtrace 0.71x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x8x8trace 0.99xtrace 0.27x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x128x128trace 0.65xtrace 0.31x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x2x2trace 1.02xtrace 0.70x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x32x32trace 0.87xtrace 0.88x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x4x4trace 1.04xtrace 0.69x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x8x8trace 1.04xtrace 0.63x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x2x2trace 1.38xtrace 0.54x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x4x4trace 1.74xtrace 0.68x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x8x8trace 1.38xtrace 0.75x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x128x128trace 0.74xtrace 0.65x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x2x2trace 0.86xtrace 0.38x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x32x32trace 0.62xtrace 0.36x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x4x4trace 0.85xtrace 0.40x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x8x8trace 0.83xtrace 0.67x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x2x2trace 0.92xtrace 0.40x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x4x4trace 0.92xtrace 0.40x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x8x8trace 0.92xtrace 0.40x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x2x2trace 0.89xtrace 0.64x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x4x4trace 0.93xtrace 0.40x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x8x8trace 0.92xtrace 0.44x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x128x128trace 0.70xtrace 0.90x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x2x2trace 0.92xtrace 0.68x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x32x32trace 0.85xtrace 0.49x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x4x4trace 0.95xtrace 0.38x--
batched_choleskysuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x8x8trace 0.97xtrace 0.47x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1024x2x2trace 0.82xtrace 0.70x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1024x4x4trace 0.95xtrace 0.77x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1024x8x8trace 0.97xtrace 0.71x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x128x128trace 1.12xtrace 1.44x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x2x2trace 0.87xtrace 0.51x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x32x32trace 1.01xtrace 0.83x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x4x4trace 0.88xtrace 0.51x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x8x8trace 0.88xtrace 0.56x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=3x2x2trace 0.82xtrace 0.56x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=3x4x4trace 0.89xtrace 0.60x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=3x8x8trace 0.93xtrace 0.51x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=4x2x2trace 0.84xtrace 0.52x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=4x4x4trace 0.91xtrace 0.63x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=4x8x8trace 0.93xtrace 0.54x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x128x128trace 1.13xtrace 1.44x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x2x2trace 0.85xtrace 0.56x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x32x32trace 1.01xtrace 0.91x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x4x4trace 0.91xtrace 0.67x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x8x8trace 0.95xtrace 0.60x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1024x2x2trace 0.86xtrace 0.64x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1024x4x4trace 1.32xtrace 1.68x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1024x8x8trace 0.99xtrace 1.21x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x128x128trace 1.91xtrace 1.12x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x2x2trace 0.91xtrace 0.54x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x32x32trace 1.01xtrace 0.91x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x4x4trace 0.91xtrace 0.57x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x8x8trace 0.91xtrace 0.59x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=3x2x2trace 0.87xtrace 0.20x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=3x4x4trace 0.91xtrace 0.65x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=3x8x8trace 0.92xtrace 0.21x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=4x2x2trace 0.87xtrace 0.54x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=4x4x4trace 0.90xtrace 0.63x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=4x8x8trace 0.94xtrace 0.24x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x128x128trace 1.67xtrace 0.92x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x2x2trace 0.86xtrace 0.57x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x32x32trace 1.01xtrace 0.85x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x4x4trace 0.91xtrace 0.67x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x8x8trace 0.94xtrace 0.67x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1024x2x2trace 0.86xtrace 0.58x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1024x4x4trace 0.95xtrace 1.14x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1024x8x8trace 0.97xtrace 1.07x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x128x128trace 2.07xtrace 1.02x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x2x2trace 0.91xtrace 0.33x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x32x32trace 0.98xtrace 0.80x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x4x4trace 0.93xtrace 0.56x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x8x8trace 0.90xtrace 0.35x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=3x2x2trace 0.86xtrace 0.56x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=3x4x4trace 0.92xtrace 0.62x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=3x8x8trace 0.95xtrace 0.41x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=4x2x2trace 0.88xtrace 0.34x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=4x4x4trace 0.92xtrace 0.63x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=4x8x8trace 0.95xtrace 0.58x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x128x128trace 9.47xtrace 4.47x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x2x2trace 0.87xtrace 0.58x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x32x32trace 0.99xtrace 1.40x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x4x4trace 0.93xtrace 0.67x--
batched_eighsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x8x8trace 0.96xtrace 0.61x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x2x2trace 1.62xtrace 1.81x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x4x4trace 1.14xtrace 1.16x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x8x8trace 1.03xtrace 0.92x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x128x128trace 0.98xtrace 0.94x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x2x2trace 0.94xtrace 0.51x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x32x32trace 0.92xtrace 0.68x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x4x4trace 0.92xtrace 0.62x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x8x8trace 0.90xtrace 0.64x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x2x2trace 0.99xtrace 0.63x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x4x4trace 0.99xtrace 0.76x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x8x8trace 0.97xtrace 0.76x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x2x2trace 0.95xtrace 0.67x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x4x4trace 1.00xtrace 0.77x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x8x8trace 0.99xtrace 0.78x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x128x128trace 0.97xtrace 0.95x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x2x2trace 1.13xtrace 0.76x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x32x32trace 0.92xtrace 0.75x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x4x4trace 1.06xtrace 0.89x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x8x8trace 1.01xtrace 0.72x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x2x2trace 1.53xtrace 1.80x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x4x4trace 1.54xtrace 2.43x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x8x8trace 1.15xtrace 2.00x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x128x128trace 2.03xtrace 1.17x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x2x2trace 1.00xtrace 0.56x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x32x32trace 0.96xtrace 0.82x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x4x4trace 0.96xtrace 0.62x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x8x8trace 0.92xtrace 0.66x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x2x2trace 1.01xtrace 0.27x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x4x4trace 1.00xtrace 0.26x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x8x8trace 0.96xtrace 0.75x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x2x2trace 1.03xtrace 0.24x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x4x4trace 1.01xtrace 0.78x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x8x8trace 0.97xtrace 0.79x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x128x128trace 5.19xtrace 2.83x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x2x2trace 1.14xtrace 0.85x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x32x32trace 0.96xtrace 1.53x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x4x4trace 1.06xtrace 0.93x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x8x8trace 0.98xtrace 0.30x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x2x2trace 1.57xtrace 1.58x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x4x4trace 1.14xtrace 1.64x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x8x8trace 1.02xtrace 2.19x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x128x128trace 2.07xtrace 1.13x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x2x2trace 0.97xtrace 0.35x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x32x32trace 0.96xtrace 0.57x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x4x4trace 0.98xtrace 0.39x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x8x8trace 0.94xtrace 0.40x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x2x2trace 1.02xtrace 0.39x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x4x4trace 1.03xtrace 0.46x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x8x8trace 0.98xtrace 0.76x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x2x2trace 1.03xtrace 0.42x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x4x4trace 1.03xtrace 0.50x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x8x8trace 0.99xtrace 0.78x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x128x128trace 1.16xtrace 0.24x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x2x2trace 1.14xtrace 0.49x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x32x32trace 0.96xtrace 2.02x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x4x4trace 1.09xtrace 0.53x--
batched_eighsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x8x8trace 1.01xtrace 0.69x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x2x2trace 1.11xtrace 0.65x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x4x4trace 1.16xtrace 0.60x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x8x8trace 1.07xtrace 0.50x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x128x128trace 0.91xtrace 0.38x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x2x2trace 0.69xtrace 0.59x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x32x32trace 0.90xtrace 0.33x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x4x4trace 0.70xtrace 0.62x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x8x8trace 0.77xtrace 0.55x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x2x2trace 0.89xtrace 0.80x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x4x4trace 0.83xtrace 0.64x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x8x8trace 0.84xtrace 0.53x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x2x2trace 0.68xtrace 0.64x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x4x4trace 0.86xtrace 0.61x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x8x8trace 0.91xtrace 0.52x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x128x128trace 0.92xtrace 0.39x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x2x2trace 0.75xtrace 0.65x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x32x32trace 0.99xtrace 0.34x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x4x4trace 0.94xtrace 0.60x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x8x8trace 0.97xtrace 0.45x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x2x2trace 1.07xtrace 0.66x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x4x4trace 1.95xtrace 1.61x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x8x8trace 1.33xtrace 1.22x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x128x128trace 2.54xtrace 0.72x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x2x2trace 0.74xtrace 0.67x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x32x32trace 0.91xtrace 0.36x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x4x4trace 0.76xtrace 0.23x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x8x8trace 0.80xtrace 0.59x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x2x2trace 0.76xtrace 0.71x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x4x4trace 0.82xtrace 0.64x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x8x8trace 0.87xtrace 0.55x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x2x2trace 0.74xtrace 0.68x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x4x4trace 0.87xtrace 0.64x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x8x8trace 0.89xtrace 0.18x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x128x128trace 1.24xtrace 0.47x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x2x2trace 0.79xtrace 0.69x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x32x32trace 0.97xtrace 0.87x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x4x4trace 0.92xtrace 0.20x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x8x8trace 0.96xtrace 0.18x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x2x2trace 1.09xtrace 0.63x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x4x4trace 2.04xtrace 1.50x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x8x8trace 1.08xtrace 1.22x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x128x128trace 2.47xtrace 1.01x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x2x2trace 0.74xtrace 0.67x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x32x32trace 0.92xtrace 0.36x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x4x4trace 0.75xtrace 0.40x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x8x8trace 0.79xtrace 0.34x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x2x2trace 0.73xtrace 0.67x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x4x4trace 0.84xtrace 0.66x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x8x8trace 0.89xtrace 0.54x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x2x2trace 0.73xtrace 0.66x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x4x4trace 0.85xtrace 0.62x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x8x8trace 0.93xtrace 0.53x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x128x128trace 10.58xtrace 1.58x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x2x2trace 0.77xtrace 0.68x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x32x32trace 0.99xtrace 0.82x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x4x4trace 0.96xtrace 0.61x--
batched_eigvalshsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x8x8trace 0.99xtrace 0.38x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x2x2trace 0.88xtrace 1.26x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x4x4trace 0.82xtrace 0.91x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x8x8trace 0.94xtrace 0.82x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x128x128trace 0.85xtrace 0.74x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x2x2trace 0.62xtrace 0.46x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x32x32trace 0.83xtrace 0.52x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x4x4trace 0.61xtrace 0.48x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x64x24trace 0.90xtrace 0.55x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x8x8trace 0.65xtrace 0.48x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x2x2trace 0.55xtrace 0.49x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x4x4trace 0.54xtrace 0.51x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x8x8trace 0.57xtrace 0.29x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x2x2trace 0.55xtrace 0.52x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x4x4trace 0.59xtrace 0.52x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x8x8trace 0.59xtrace 0.30x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x128x128trace 0.86xtrace 0.80x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x2x2trace 0.59xtrace 0.57x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x32x32trace 1.04xtrace 0.90x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x4x4trace 0.60xtrace 0.28x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x8x8trace 0.63xtrace 0.34x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x2x2trace 1.53xtrace 1.15x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x4x4trace 8.24xtrace 4.95x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x8x8trace 8.79xtrace 4.09x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x128x128trace 6.26xtrace 5.34x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x2x2trace 0.56xtrace 0.17x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x32x32trace 0.81xtrace 0.38x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x4x4trace 0.57xtrace 0.53x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x64x24trace 0.84xtrace 0.47x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x8x8trace 0.58xtrace 0.51x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x2x2trace 0.54xtrace 0.51x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x4x4trace 0.54xtrace 0.54x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x8x8trace 0.55xtrace 0.28x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x2x2trace 0.54xtrace 0.19x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x4x4trace 0.55xtrace 0.53x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x8x8trace 0.58xtrace 0.23x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x128x128trace 5.61xtrace 2.53x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x2x2trace 0.53xtrace 0.20x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x32x32trace 2.00xtrace 0.53x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x4x4trace 0.55xtrace 0.27x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x8x8trace 0.63xtrace 0.53x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x2x2trace 2.16xtrace 1.41x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x4x4trace 9.74xtrace 4.51x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x8x8trace 10.93xtrace 3.94x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x128x128trace 6.58xtrace 4.54x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x2x2trace 0.54xtrace 0.31x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x32x32trace 0.80xtrace 0.56x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x4x4trace 0.52xtrace 0.53x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x64x24trace 0.82xtrace 0.55x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x8x8trace 0.56xtrace 0.31x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x2x2trace 0.50xtrace 0.34x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x4x4trace 0.52xtrace 0.54x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x8x8trace 0.54xtrace 0.29x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x2x2trace 0.50xtrace 0.55x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x4x4trace 0.53xtrace 0.33x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x8x8trace 0.57xtrace 0.33x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x128x128trace 4.46xtrace 2.03x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x2x2trace 0.56xtrace 0.35x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x32x32trace 2.49xtrace 0.58x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x4x4trace 0.56xtrace 0.34x--
batched_lusuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x8x8trace 0.64xtrace 0.42x--
batched_lu_factorsuite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x16x16,rhs=1---status
batched_lu_factorsuite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x2x2,rhs=1---status
batched_lu_factorsuite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x4x4,rhs=1---status
batched_lu_factorsuite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x8x8,rhs=1---status
batched_lu_factorsuite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x16x16,rhs=1---status
batched_lu_factorsuite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x2x2,rhs=1---status
batched_lu_factorsuite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x4x4,rhs=1---status
batched_lu_factorsuite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x8x8,rhs=1---status
batched_lu_factorsuite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x16x16,rhs=1---status
batched_lu_factorsuite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x2x2,rhs=1---status
batched_lu_factorsuite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x4x4,rhs=1---status
batched_lu_factorsuite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x8x8,rhs=1---status
batched_lu_solvesuite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x16x16,rhs=1---status
batched_lu_solvesuite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x2x2,rhs=1---status
batched_lu_solvesuite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x4x4,rhs=1---status
batched_lu_solvesuite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x8x8,rhs=1---status
batched_lu_solvesuite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x16x16,rhs=1---status
batched_lu_solvesuite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x2x2,rhs=1---status
batched_lu_solvesuite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x4x4,rhs=1---status
batched_lu_solvesuite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x8x8,rhs=1---status
batched_lu_solvesuite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x16x16,rhs=1---status
batched_lu_solvesuite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x2x2,rhs=1---status
batched_lu_solvesuite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x4x4,rhs=1---status
batched_lu_solvesuite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x8x8,rhs=1---status
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x2x2trace 1.19xtrace 0.87x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x4x4trace 1.04xtrace 0.73x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x8x8trace 0.99xtrace 0.64x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x128x128trace 0.82xtrace 0.88x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x2x2trace 1.19xtrace 0.45x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x32x32trace 0.85xtrace 0.49x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x4x4trace 1.16xtrace 0.48x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x64x24trace 0.82xtrace 0.58x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x8x8trace 1.10xtrace 0.48x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x2x2trace 1.18xtrace 0.50x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x4x4trace 1.17xtrace 0.53x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x8x8trace 1.08xtrace 0.53x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x2x2trace 1.17xtrace 0.48x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x4x4trace 1.15xtrace 0.55x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x8x8trace 1.08xtrace 0.53x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x128x128trace 0.89xtrace 0.96x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x2x2trace 1.17xtrace 0.53x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x32x32trace 0.78xtrace 0.68x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x4x4trace 1.15xtrace 0.56x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x8x8trace 1.06xtrace 0.57x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x2x2trace 1.37xtrace 0.90x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x4x4trace 1.12xtrace 0.77x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x8x8trace 1.03xtrace 1.37x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x128x128trace 3.40xtrace 0.65x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x2x2trace 1.04xtrace 0.54x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x32x32trace 0.79xtrace 0.27x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x4x4trace 1.03xtrace 0.19x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x64x24trace 0.75xtrace 0.77x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x8x8trace 1.03xtrace 0.53x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x2x2trace 1.12xtrace 0.52x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x4x4trace 1.09xtrace 0.58x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x8x8trace 1.04xtrace 0.56x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x2x2trace 1.10xtrace 0.19x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x4x4trace 1.08xtrace 0.57x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x8x8trace 1.04xtrace 0.19x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x128x128trace 1.71xtrace 0.90x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x2x2trace 1.14xtrace 0.62x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x32x32trace 0.75xtrace 0.95x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x4x4trace 1.08xtrace 0.59x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x8x8trace 1.02xtrace 0.57x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x2x2trace 1.47xtrace 0.80x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x4x4trace 1.15xtrace 0.71x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x8x8trace 1.03xtrace 1.74x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x128x128trace 3.91xtrace 1.91x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x2x2trace 0.99xtrace 0.47x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x32x32trace 0.73xtrace 0.44x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x4x4trace 1.02xtrace 0.51x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x64x24trace 0.74xtrace 0.53x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x8x8trace 0.96xtrace 0.31x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x2x2trace 1.04xtrace 0.53x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x4x4trace 1.07xtrace 0.55x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x8x8trace 1.03xtrace 0.55x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x2x2trace 1.08xtrace 0.33x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x4x4trace 1.07xtrace 0.35x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x8x8trace 1.03xtrace 0.33x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x128x128trace 2.51xtrace 1.00x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x2x2trace 1.10xtrace 0.37x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x32x32trace 0.80xtrace 0.92x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x4x4trace 1.06xtrace 0.35x--
batched_qrsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x8x8trace 1.01xtrace 0.34x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x2x2,rhs=1trace 1.94xtrace 0.59x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x4x4,rhs=1trace 1.58xtrace 0.49x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x8x8,rhs=1trace 1.17xtrace 0.62x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x128x128,rhs=1trace 0.89xtrace 0.75x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x2x2,rhs=1trace 0.50xtrace 0.74x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x32x32,rhs=1trace 0.71xtrace 0.59x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x4x4,rhs=1trace 0.51xtrace 0.76x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x8x8,rhs=1trace 0.53xtrace 0.77x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x2x2,rhs=1trace 0.52xtrace 0.70x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x4x4,rhs=1trace 0.53xtrace 0.66x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x8x8,rhs=1trace 0.52xtrace 0.62x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x2x2,rhs=1trace 0.53xtrace 0.73x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x4x4,rhs=1trace 0.54xtrace 0.65x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x8x8,rhs=1trace 0.55xtrace 0.62x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x128x128,rhs=1trace 0.93xtrace 0.90x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x2x2,rhs=1trace 0.55xtrace 0.68x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x32x32,rhs=1trace 1.05xtrace 0.87x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x4x4,rhs=1trace 0.57xtrace 0.62x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x8x8,rhs=1trace 0.61xtrace 0.61x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x2x2,rhs=1trace 2.48xtrace 0.62x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x4x4,rhs=1trace 12.20xtrace 2.97x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x8x8,rhs=1trace 5.43xtrace 2.02x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x128x128,rhs=1trace 7.53xtrace 7.09x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x2x2,rhs=1trace 0.54xtrace 0.29x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x32x32,rhs=1trace 0.76xtrace 0.82x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x4x4,rhs=1trace 0.57xtrace 0.89x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x8x8,rhs=1trace 0.59xtrace 0.30x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x2x2,rhs=1trace 0.57xtrace 0.79x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x4x4,rhs=1trace 0.58xtrace 0.74x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x8x8,rhs=1trace 0.58xtrace 0.25x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x2x2,rhs=1trace 0.58xtrace 0.28x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x4x4,rhs=1trace 0.60xtrace 0.74x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x8x8,rhs=1trace 0.61xtrace 0.73x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x128x128,rhs=1trace 6.06xtrace 2.98x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x2x2,rhs=1trace 0.58xtrace 0.79x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x32x32,rhs=1trace 2.08xtrace 0.76x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x4x4,rhs=1trace 0.59xtrace 0.72x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x8x8,rhs=1trace 0.66xtrace 0.42x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x2x2,rhs=1trace 2.59xtrace 0.51x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x4x4,rhs=1trace 2.20xtrace 0.44x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x8x8,rhs=1trace 15.48xtrace 4.67x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x128x128,rhs=1trace 7.38xtrace 6.61x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x2x2,rhs=1trace 0.57xtrace 0.52x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x32x32,rhs=1trace 0.77xtrace 0.64x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x4x4,rhs=1trace 0.57xtrace 0.87x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x8x8,rhs=1trace 0.60xtrace 0.85x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x2x2,rhs=1trace 0.59xtrace 0.79x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x4x4,rhs=1trace 0.59xtrace 0.45x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x8x8,rhs=1trace 0.60xtrace 0.43x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x2x2,rhs=1trace 0.61xtrace 0.82x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x4x4,rhs=1trace 0.60xtrace 0.74x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x8x8,rhs=1trace 0.61xtrace 0.70x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x128x128,rhs=1trace 4.33xtrace 2.01x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x2x2,rhs=1trace 0.62xtrace 0.47x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x32x32,rhs=1trace 2.42xtrace 0.54x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x4x4,rhs=1trace 0.63xtrace 0.69x--
batched_solvesuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x8x8,rhs=1trace 0.66xtrace 0.40x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1024x2x2trace 1.20xtrace 0.93x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1024x4x4trace 1.15xtrace 1.18x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1024x8x8trace 1.09xtrace 1.20x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x128x128trace 0.86xtrace 1.14x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x2x2trace 0.89xtrace 0.52x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x32x32trace 0.90xtrace 0.95x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x4x4trace 0.99xtrace 0.72x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x64x24trace 0.91xtrace 0.89x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x8x8trace 1.01xtrace 0.86x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=3x2x2trace 0.91xtrace 0.64x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=3x4x4trace 1.05xtrace 0.85x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=3x8x8trace 1.05xtrace 1.03x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=4x2x2trace 1.02xtrace 0.65x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=4x4x4trace 1.08xtrace 0.91x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=4x8x8trace 1.06xtrace 1.05x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x128x128trace 0.88xtrace 1.17x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x2x2trace 1.07xtrace 0.73x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x32x32trace 0.90xtrace 1.01x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x4x4trace 1.10xtrace 1.02x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x8x8trace 1.07xtrace 1.03x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1024x2x2trace 1.22xtrace 0.92x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1024x4x4trace 1.16xtrace 3.04x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1024x8x8trace 1.12xtrace 2.41x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x128x128trace 1.05xtrace 0.93x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x2x2trace 0.93xtrace 0.57x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x32x32trace 0.93xtrace 1.08x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x4x4trace 1.01xtrace 0.74x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x64x24trace 0.92xtrace 0.94x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x8x8trace 1.06xtrace 0.93x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=3x2x2trace 0.99xtrace 0.64x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=3x4x4trace 1.07xtrace 0.90x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=3x8x8trace 1.08xtrace 1.08x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=4x2x2trace 1.06xtrace 0.69x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=4x4x4trace 1.09xtrace 0.95x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=4x8x8trace 1.08xtrace 1.10x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x128x128trace 0.97xtrace 0.37x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x2x2trace 1.09xtrace 0.25x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x32x32trace 0.92xtrace 2.00x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x4x4trace 1.10xtrace 1.05x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x8x8trace 1.08xtrace 1.11x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1024x2x2trace 1.23xtrace 0.90x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1024x4x4trace 1.14xtrace 3.52x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1024x8x8trace 1.09xtrace 4.48x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x128x128trace 1.04xtrace 0.84x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x2x2trace 0.97xtrace 0.34x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x32x32trace 0.90xtrace 0.99x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x4x4trace 1.01xtrace 0.43x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x64x24trace 0.92xtrace 0.80x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x8x8trace 1.02xtrace 0.85x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=3x2x2trace 0.99xtrace 0.38x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=3x4x4trace 1.06xtrace 0.88x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=3x8x8trace 1.06xtrace 1.02x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=4x2x2trace 1.08xtrace 0.40x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=4x4x4trace 1.09xtrace 0.89x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=4x8x8trace 1.07xtrace 1.05x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x128x128trace 4.28xtrace 0.74x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x2x2trace 1.07xtrace 0.73x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x32x32trace 0.91xtrace 3.78x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x4x4trace 1.11xtrace 0.99x--
batched_svdsuite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x8x8trace 1.08xtrace 1.03x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x2x2trace 1.27xtrace 1.12x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x4x4trace 1.16xtrace 1.30x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x8x8trace 1.09xtrace 1.26x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x128x128trace 0.92xtrace 1.02x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x2x2trace 0.90xtrace 0.52x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x32x32trace 0.90xtrace 0.84x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x4x4trace 0.93xtrace 0.66x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x64x24trace 0.92xtrace 0.77x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x8x8trace 0.99xtrace 0.85x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x2x2trace 0.94xtrace 0.64x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x4x4trace 1.05xtrace 0.88x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x8x8trace 1.05xtrace 1.02x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x2x2trace 1.01xtrace 0.66x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x4x4trace 1.07xtrace 0.91x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x8x8trace 1.05xtrace 1.05x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x128x128trace 0.93xtrace 1.02x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x2x2trace 1.06xtrace 0.75x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x32x32trace 0.89xtrace 0.91x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x4x4trace 1.10xtrace 1.06x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x8x8trace 1.07xtrace 1.05x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x2x2trace 1.32xtrace 1.06x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x4x4trace 1.17xtrace 3.30x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x8x8trace 1.12xtrace 2.62x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x128x128trace 1.11xtrace 0.99x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x2x2trace 0.96xtrace 0.55x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x32x32trace 0.92xtrace 0.99x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x4x4trace 0.97xtrace 0.70x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x64x24trace 0.93xtrace 0.70x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x8x8trace 1.00xtrace 0.30x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x2x2trace 1.01xtrace 0.63x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x4x4trace 1.07xtrace 0.89x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x8x8trace 1.03xtrace 1.02x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x2x2trace 1.04xtrace 0.67x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x4x4trace 1.09xtrace 0.32x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x8x8trace 1.04xtrace 1.06x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x128x128trace 0.96xtrace 0.84x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x2x2trace 1.14xtrace 0.26x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x32x32trace 0.93xtrace 3.15x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x4x4trace 1.10xtrace 1.06x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x8x8trace 1.05xtrace 1.14x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x2x2trace 1.29xtrace 1.05x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x4x4trace 1.16xtrace 2.84x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x8x8trace 1.08xtrace 4.79x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x128x128trace 1.13xtrace 0.60x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x2x2trace 0.94xtrace 0.53x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x32x32trace 0.89xtrace 0.89x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x4x4trace 0.96xtrace 0.69x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x64x24trace 1.27xtrace 0.97x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x8x8trace 1.02xtrace 0.87x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x2x2trace 0.94xtrace 0.63x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x4x4trace 1.05xtrace 0.89x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x8x8trace 1.05xtrace 1.02x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x2x2trace 1.00xtrace 0.65x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x4x4trace 1.09xtrace 0.55x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x8x8trace 1.06xtrace 1.04x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x128x128trace 1.71xtrace 0.55x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x2x2trace 1.06xtrace 0.75x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x32x32trace 0.91xtrace 3.25x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x4x4trace 1.11xtrace 1.05x--
batched_svdsuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x8x8trace 1.07xtrace 0.68x--
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x2x2---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x4x4---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x8x8---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x128x128---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x2x2---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x32x32---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x4x4---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x64x24---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x8x8---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x2x2---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x4x4---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x8x8---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x2x2---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x4x4---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x8x8---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x128x128---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x2x2---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x32x32---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x4x4---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x8x8---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x2x2---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x4x4---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x8x8---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x128x128---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x2x2---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x32x32---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x4x4---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x64x24---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x8x8---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x2x2---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x4x4---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x8x8---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x2x2---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x4x4---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x8x8---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x128x128---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x2x2---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x32x32---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x4x4---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x8x8---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x2x2---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x4x4---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x8x8---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x128x128---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x2x2---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x32x32---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x4x4---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x64x24---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x8x8---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x2x2---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x4x4---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x8x8---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x2x2---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x4x4---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x8x8---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x128x128---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x2x2---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x32x32---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x4x4---status
batched_svdvalssuite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x8x8---status
batched_triangular_solvesuite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x16x16,rhs=1trace 1.36xtrace 0.72x--
batched_triangular_solvesuite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x2x2,rhs=1trace 1.22xtrace 0.93x--
batched_triangular_solvesuite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x4x4,rhs=1trace 1.12xtrace 0.86x--
batched_triangular_solvesuite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x8x8,rhs=1trace 1.16xtrace 0.81x--
batched_triangular_solvesuite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x16x16,rhs=1trace 18.98xtrace 7.24x--
batched_triangular_solvesuite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x2x2,rhs=1trace 1.24xtrace 0.94x--
batched_triangular_solvesuite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x4x4,rhs=1trace 12.59xtrace 9.52x--
batched_triangular_solvesuite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x8x8,rhs=1trace 12.86xtrace 8.65x--
batched_triangular_solvesuite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x16x16,rhs=1trace 12.45xtrace 6.10x--
batched_triangular_solvesuite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x2x2,rhs=1trace 1.24xtrace 0.86x--
batched_triangular_solvesuite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x4x4,rhs=1trace 12.46xtrace 8.69x--
batched_triangular_solvesuite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x8x8,rhs=1trace 9.01xtrace 5.71x--
broadcast_in_dimsuite=cpu/structural_shape / dtype=f64 / threads=1 / shape=8192x1 -> 8192x4096trace 0.00xtrace 0.00x--
broadcast_in_dimsuite=cpu/structural_shape / dtype=f64 / threads=4 / shape=8192x1 -> 8192x4096trace 0.00xtrace 0.00x--
broadcast_in_dimsuite=cpu/structural_shape / dtype=f64 / threads=8 / shape=8192x1 -> 8192x4096trace 0.00xtrace 0.00x--
broadcast_in_dim_viewsuite=cpu/view_metadata / dtype=f64 / threads=1 / shape=8192x1 -> 8192x4096---status
broadcast_in_dim_viewsuite=cpu/view_metadata / dtype=f64 / threads=4 / shape=8192x1 -> 8192x4096---status
broadcast_in_dim_viewsuite=cpu/view_metadata / dtype=f64 / threads=8 / shape=8192x1 -> 8192x4096---status
cast_f64_f32suite=cpu/structural_shape / dtype=f64->f32 / threads=1 / shape=33554432trace 3.10xtrace 2.44x--
cast_f64_f32suite=cpu/structural_shape / dtype=f64->f32 / threads=4 / shape=33554432trace 3.57xtrace 2.07x--
cast_f64_f32suite=cpu/structural_shape / dtype=f64->f32 / threads=8 / shape=33554432trace 3.84xtrace 2.26x--
chain_log1p_exp_mulsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=4194304trace 0.98xtrace 1.16x--
chain_log1p_exp_mulsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=4194304trace 1.29xtrace 1.10x--
chain_log1p_exp_mulsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=4194304trace 1.04xtrace 1.10x--
choleskysuite=cpu/complex / dtype=c64 / threads=1 / shape=448x448trace 0.86xtrace 1.01x--
choleskysuite=cpu/complex / dtype=c64 / threads=4 / shape=448x448trace 1.42xtrace 1.00x--
choleskysuite=cpu/complex / dtype=c64 / threads=8 / shape=448x448trace 3.59xtrace 1.33x--
choleskysuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=1536x1536trace 0.68xtrace 0.55x--
choleskysuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=1536x1536trace 0.84xtrace 0.28x--
choleskysuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=1536x1536trace 1.09xtrace 0.21x--
clampsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8388608trace 0.39xtrace 0.32x--
clampsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8388608trace 0.81xtrace 0.50x--
clampsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8388608trace 1.06xtrace 0.70x--
compare_ltsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432trace 0.56xtrace 0.57x--
compare_ltsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432trace 0.95xtrace 0.80x--
compare_ltsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432trace 0.96xtrace 0.87x--
concatenatesuite=cpu/indexing_layout / dtype=f64 / threads=1 / shape=1048576+1048576trace 1.03xtrace 0.99x--
concatenatesuite=cpu/indexing_layout / dtype=f64 / threads=4 / shape=1048576+1048576trace 1.52xtrace 1.10x--
concatenatesuite=cpu/indexing_layout / dtype=f64 / threads=8 / shape=1048576+1048576trace 2.23xtrace 1.85x--
conjsuite=cpu/complex / dtype=c64 / threads=1 / shape=16777216trace 1.00xtrace 0.85x--
conjsuite=cpu/complex / dtype=c64 / threads=4 / shape=16777216trace 0.94xtrace 0.60x--
conjsuite=cpu/complex / dtype=c64 / threads=8 / shape=16777216trace 0.92xtrace 0.56x--
conj_intosuite=cpu/output_reuse / dtype=c64 / threads=1 / shape=16777216---status
conj_intosuite=cpu/output_reuse / dtype=c64 / threads=4 / shape=16777216---status
conj_intosuite=cpu/output_reuse / dtype=c64 / threads=8 / shape=16777216---status
copy_read_intosuite=cpu/output_reuse / dtype=f64 / threads=1 / shape=33554432---status
copy_read_intosuite=cpu/output_reuse / dtype=f64 / threads=4 / shape=33554432---status
copy_read_intosuite=cpu/output_reuse / dtype=f64 / threads=8 / shape=33554432---status
cossuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8388608trace 0.30xtrace 0.16x--
cossuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8388608trace 0.58xtrace 0.17x--
cossuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8388608trace 0.74xtrace 0.16x--
detsuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=1024x1024trace 0.88xtrace 0.98x--
detsuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=1024x1024trace 2.71xtrace 1.44x--
detsuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=1024x1024trace 2.51xtrace 1.15x--
divsuite=cpu/complex / dtype=c64 / threads=1 / shape=8388608trace 1.20xtrace 1.05x--
divsuite=cpu/complex / dtype=c64 / threads=4 / shape=8388608trace 0.93xtrace 0.52x--
divsuite=cpu/complex / dtype=c64 / threads=8 / shape=8388608trace 0.97xtrace 0.51x--
divsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432trace 0.95xtrace 0.83x--
divsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432trace 0.92xtrace 0.56x--
divsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432trace 0.92xtrace 0.59x--
div_intosuite=cpu/output_reuse / dtype=f64 / threads=1 / shape=33554432---status
div_intosuite=cpu/output_reuse / dtype=f64 / threads=4 / shape=33554432---status
div_intosuite=cpu/output_reuse / dtype=f64 / threads=8 / shape=33554432---status
dot_generalsuite=cpu/complex / dtype=c64 / threads=1 / shape=640x640trace 1.03xtrace 0.84x--
dot_generalsuite=cpu/complex / dtype=c64 / threads=4 / shape=640x640trace 1.04xtrace 1.06x--
dot_generalsuite=cpu/complex / dtype=c64 / threads=8 / shape=640x640trace 1.09xtrace 0.85x--
dot_general_read_intosuite=cpu/output_reuse / dtype=f64 / threads=1 / shape=1024x1024---status
dot_general_read_intosuite=cpu/output_reuse / dtype=f64 / threads=4 / shape=1024x1024---status
dot_general_read_intosuite=cpu/output_reuse / dtype=f64 / threads=8 / shape=1024x1024---status
dot_general_read_into_accumsuite=cpu/output_reuse / dtype=f64 / threads=1 / shape=1024x1024---status
dot_general_read_into_accumsuite=cpu/output_reuse / dtype=f64 / threads=4 / shape=1024x1024---status
dot_general_read_into_accumsuite=cpu/output_reuse / dtype=f64 / threads=8 / shape=1024x1024---status
dot_general_with_conjsuite=cpu/complex / dtype=c64 / threads=1 / shape=640x640---status
dot_general_with_conjsuite=cpu/complex / dtype=c64 / threads=4 / shape=640x640---status
dot_general_with_conjsuite=cpu/complex / dtype=c64 / threads=8 / shape=640x640---status
dynamic_slicesuite=cpu/indexing_layout / dtype=f64 / threads=1 / shape=4194304 -> 2097152trace 0.92xtrace 0.82x--
dynamic_slicesuite=cpu/indexing_layout / dtype=f64 / threads=4 / shape=4194304 -> 2097152trace 2.18xtrace 1.73x--
dynamic_slicesuite=cpu/indexing_layout / dtype=f64 / threads=8 / shape=4194304 -> 2097152trace 1.81xtrace 1.37x--
dynamic_update_slicesuite=cpu/indexing_layout / dtype=f64 / threads=1 / shape=2097152---status
dynamic_update_slicesuite=cpu/indexing_layout / dtype=f64 / threads=4 / shape=2097152---status
dynamic_update_slicesuite=cpu/indexing_layout / dtype=f64 / threads=8 / shape=2097152---status
eigsuite=cpu/complex / dtype=c64 / threads=1 / shape=112x112trace 0.92xtrace 0.90x--
eigsuite=cpu/complex / dtype=c64 / threads=4 / shape=112x112trace 1.00xtrace 0.75x--
eigsuite=cpu/complex / dtype=c64 / threads=8 / shape=112x112trace 1.08xtrace 0.85x--
eigsuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=160x160trace 0.96xtrace 0.99x--
eigsuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=160x160trace 1.13xtrace 1.03x--
eigsuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=160x160trace 1.08xtrace 0.98x--
eigvalssuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=192x192trace 1.02xtrace 0.98x--
eigvalssuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=192x192trace 1.15xtrace 0.97x--
eigvalssuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=192x192trace 2.52xtrace 2.08x--
eigvalshsuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=512x512trace 1.11xtrace 0.52x--
eigvalshsuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=512x512trace 1.20xtrace 0.48x--
eigvalshsuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=512x512trace 6.69xtrace 2.43x--
einsum_ij_jk_iksuite=cpu/einsum_concrete / dtype=f64 / threads=1 / shape=1024x1024---status
einsum_ij_jk_iksuite=cpu/einsum_concrete / dtype=f64 / threads=4 / shape=1024x1024---status
einsum_ij_jk_iksuite=cpu/einsum_concrete / dtype=f64 / threads=8 / shape=1024x1024---status
embed_diagonalsuite=cpu/structural_shape / dtype=f64 / threads=1 / shape=8192 -> 8192x8192trace 1.01xtrace 0.76x--
embed_diagonalsuite=cpu/structural_shape / dtype=f64 / threads=4 / shape=8192 -> 8192x8192trace 0.99xtrace 0.54x--
embed_diagonalsuite=cpu/structural_shape / dtype=f64 / threads=8 / shape=8192 -> 8192x8192trace 0.95xtrace 0.49x--
erfsuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64eager 0.71xeager 0.91x-status
erfsuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256eager 0.72xeager 2.03x-status
erfsuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64eager 3.72xeager 5.71x-status
erfsuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256eager 2.62xeager 2.42x-status
erfsuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64eager 0.20xeager 0.23x-status
erfsuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256eager 3.78xeager 2.68x-status
expsuite=cpu/complex / dtype=c64 / threads=1 / shape=4194304trace 0.74xtrace 0.92x--
expsuite=cpu/complex / dtype=c64 / threads=4 / shape=4194304trace 1.03xtrace 0.65x--
expsuite=cpu/complex / dtype=c64 / threads=8 / shape=4194304trace 1.46xtrace 0.66x--
expsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8388608trace 0.23xtrace 0.34x--
expsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8388608trace 0.50xtrace 0.42x--
expsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8388608trace 0.76xtrace 0.49x--
expm1suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=4194304trace 0.64xtrace 0.69x--
expm1suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=4194304trace 1.14xtrace 0.72x--
expm1suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=4194304trace 1.28xtrace 0.61x--
extract_diagonalsuite=cpu/structural_shape / dtype=f64 / threads=1 / shape=8388608x2x2 -> 8388608x2trace 0.75xtrace 0.93x--
extract_diagonalsuite=cpu/structural_shape / dtype=f64 / threads=4 / shape=8388608x2x2 -> 8388608x2trace 1.15xtrace 0.82x--
extract_diagonalsuite=cpu/structural_shape / dtype=f64 / threads=8 / shape=8388608x2x2 -> 8388608x2trace 1.67xtrace 1.15x--
gathersuite=cpu/indexing_layout / dtype=f64 / threads=1 / shape=262144trace 0.63xtrace 1.22x--
gathersuite=cpu/indexing_layout / dtype=f64 / threads=4 / shape=262144trace 16.81xtrace 14.41x--
gathersuite=cpu/indexing_layout / dtype=f64 / threads=8 / shape=262144trace 44.45xtrace 18.55x--
gelusuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64eager 0.59xeager 0.29x-status
gelusuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256eager 0.67xeager 0.27x-status
gelusuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64eager 0.29xeager 0.19x-status
gelusuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256eager 0.55xeager 0.36x-status
gelusuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64eager 10.76xeager 8.22x-status
gelusuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256eager 2.41xeager 1.78x-status
gelu_tanhsuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64eager 0.74xeager 1.11x-status
gelu_tanhsuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256eager 0.72xeager 1.02x-status
gelu_tanhsuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64eager 0.89xeager 0.45x-status
gelu_tanhsuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256eager 3.22xeager 2.52x-status
gelu_tanhsuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64eager 7.14xeager 3.40x-status
gelu_tanhsuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256eager 3.27xeager 2.49x-status
householder_qrsuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=256x128eager 0.89xeager 0.76x-status
householder_qrsuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=768x384eager 0.93xeager 0.85x-status
householder_qrsuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=256x128eager 5.27xeager 1.92x-status
householder_qrsuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=768x384eager 1.13xeager 0.65x-status
householder_qrsuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=256x128eager 4.18xeager 1.31x-status
householder_qrsuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=768x384eager 1.54xeager 0.55x-status
invsuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=768x768trace 0.97xtrace 0.94x--
invsuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=768x768trace 1.89xtrace 1.54x--
invsuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=768x768trace 1.62xtrace 1.18x--
layer_normsuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64eager 0.55xeager 0.57x-status
layer_normsuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256eager 0.75xeager 0.31x-status
layer_normsuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64eager 2.38xeager 0.59x-status
layer_normsuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256eager 15.95xeager 4.30x-status
layer_normsuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64eager 2.33xeager 0.60x-status
layer_normsuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256eager 3.37xeager 0.60x-status
logsuite=cpu/complex / dtype=c64 / threads=1 / shape=4194304trace 0.74xtrace 0.61x--
logsuite=cpu/complex / dtype=c64 / threads=4 / shape=4194304trace 0.73xtrace 0.62x--
logsuite=cpu/complex / dtype=c64 / threads=8 / shape=4194304trace 0.70xtrace 0.59x--
logsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8388608trace 0.37xtrace 0.32x--
logsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8388608trace 0.39xtrace 0.20x--
logsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8388608trace 0.83xtrace 0.35x--
log1psuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=4194304trace 0.43xtrace 0.30x--
log1psuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=4194304trace 0.79xtrace 0.28x--
log1psuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=4194304trace 1.05xtrace 0.35x--
log_softmaxsuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64eager 1.07xeager 0.46x-status
log_softmaxsuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256eager 1.52xeager 0.36x-status
log_softmaxsuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64eager 4.14xeager 0.38x-status
log_softmaxsuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256eager 4.79xeager 0.73x-status
log_softmaxsuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64eager 2.79xeager 0.38x-status
log_softmaxsuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256eager 4.67xeager 0.54x-status
lstsqsuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=768x384,rhs=16eager 1.95x trace 1.92xeager 0.39x trace 0.38x--
lstsqsuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=768x384,rhs=16eager 2.08x trace 2.09xeager 0.26x trace 0.26x--
lstsqsuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=768x384,rhs=16---status
lusuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=1024x1024trace 0.72xtrace 0.71x--
lusuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=1024x1024trace 0.88xtrace 0.43x--
lusuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=1024x1024trace 0.99xtrace 0.42x--
masked_log_softmax_axis1suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=1024x64-eager 0.66x-status
masked_log_softmax_axis1suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=1024x64-eager 0.93x-status
masked_log_softmax_axis1suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=1024x64-eager 0.57x-status
masked_softmaxsuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64-eager 0.61x-status
masked_softmaxsuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256-eager 0.40x-status
masked_softmaxsuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64-eager 0.51x-status
masked_softmaxsuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256-eager 0.39x-status
masked_softmaxsuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64-eager 0.46x-status
masked_softmaxsuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256-eager 0.40x-status
maximumsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432trace 1.02xtrace 0.98x--
maximumsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432trace 0.95xtrace 0.63x--
maximumsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432trace 0.93xtrace 0.58x--
minimumsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432trace 1.01xtrace 0.97x--
minimumsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432trace 0.95xtrace 0.61x--
minimumsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432trace 0.94xtrace 0.58x--
mulsuite=cpu/complex / dtype=c64 / threads=1 / shape=8388608trace 1.07xtrace 0.92x--
mulsuite=cpu/complex / dtype=c64 / threads=4 / shape=8388608trace 1.08xtrace 0.66x--
mulsuite=cpu/complex / dtype=c64 / threads=8 / shape=8388608trace 1.00xtrace 0.62x--
mulsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432trace 1.00xtrace 0.80x--
mulsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432trace 0.92xtrace 0.57x--
mulsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432trace 0.90xtrace 0.59x--
mul_intosuite=cpu/output_reuse / dtype=f64 / threads=1 / shape=33554432---status
mul_intosuite=cpu/output_reuse / dtype=f64 / threads=4 / shape=33554432---status
mul_intosuite=cpu/output_reuse / dtype=f64 / threads=8 / shape=33554432---status
negsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432trace 1.03xtrace 0.99x--
negsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432trace 0.95xtrace 0.55x--
negsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432trace 0.92xtrace 0.53x--
neg_intosuite=cpu/output_reuse / dtype=f64 / threads=1 / shape=33554432---status
neg_intosuite=cpu/output_reuse / dtype=f64 / threads=4 / shape=33554432---status
neg_intosuite=cpu/output_reuse / dtype=f64 / threads=8 / shape=33554432---status
norm_frosuite=cpu/complex / dtype=c64 / threads=1 / shape=2048x1536trace 0.98xtrace 1.19x--
norm_frosuite=cpu/complex / dtype=c64 / threads=4 / shape=2048x1536trace 3.58xtrace 3.52x--
norm_frosuite=cpu/complex / dtype=c64 / threads=8 / shape=2048x1536trace 4.02xtrace 2.89x--
norm_frosuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=2048x2048trace 0.89xtrace 0.07x--
norm_frosuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=2048x2048trace 1.98xtrace 0.54x--
norm_frosuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=2048x2048trace 2.56xtrace 0.37x--
padsuite=cpu/indexing_layout / dtype=f64 / threads=1 / shape=2097152trace 0.63xtrace 0.78x--
padsuite=cpu/indexing_layout / dtype=f64 / threads=4 / shape=2097152trace 1.69xtrace 1.74x--
padsuite=cpu/indexing_layout / dtype=f64 / threads=8 / shape=2097152trace 1.61xtrace 1.52x--
pinvsuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=512x256trace 0.93xtrace 0.99x--
pinvsuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=512x256trace 1.59xtrace 1.34x--
pinvsuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=512x256trace 1.21xtrace 0.85x--
pinv_with_rtolsuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=512x256trace 0.92xtrace 0.99x--
pinv_with_rtolsuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=512x256trace 1.19xtrace 0.95x--
pinv_with_rtolsuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=512x256trace 1.27xtrace 0.86x--
powsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=4194304trace 1.26xtrace 0.80x--
powsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=4194304trace 2.49xtrace 0.76x--
powsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=4194304trace 2.40xtrace 0.66x--
qrsuite=cpu/complex / dtype=c64 / threads=1 / shape=256x256trace 0.87xtrace 1.08x--
qrsuite=cpu/complex / dtype=c64 / threads=4 / shape=256x256trace 1.11xtrace 0.89x--
qrsuite=cpu/complex / dtype=c64 / threads=8 / shape=256x256trace 1.28xtrace 0.94x--
rank_revealing_qrsuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=256x128---status
rank_revealing_qrsuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=768x384---status
rank_revealing_qrsuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=256x128---status
rank_revealing_qrsuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=768x384---status
rank_revealing_qrsuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=256x128---status
rank_revealing_qrsuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=768x384---status
rank_revealing_qr_deficientsuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=256x128---status
rank_revealing_qr_deficientsuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=768x384---status
rank_revealing_qr_deficientsuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=256x128---status
rank_revealing_qr_deficientsuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=768x384---status
rank_revealing_qr_deficientsuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=256x128---status
rank_revealing_qr_deficientsuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=768x384---status
reduce_max_allsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8192x4096trace 1.21xtrace 0.24x--
reduce_max_allsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8192x4096trace 1.11xtrace 0.30x--
reduce_max_allsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8192x4096trace 1.10xtrace 0.28x--
reduce_max_axis0suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=2048x2048trace 0.07xtrace 0.93x--
reduce_max_axis0suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=2048x2048trace 0.23xtrace 1.30x--
reduce_max_axis0suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=2048x2048trace 0.31xtrace 1.59x--
reduce_max_axis1suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=2048x2048trace 0.59xtrace 0.40x--
reduce_max_axis1suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=2048x2048trace 4.15xtrace 1.49x--
reduce_max_axis1suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=2048x2048trace 2.61xtrace 0.94x--
reduce_meansuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64eager 1.36xeager 0.50x-status
reduce_meansuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256eager 1.60xeager 0.30x-status
reduce_meansuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64eager 63.10xeager 16.99x-status
reduce_meansuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256eager 24.65xeager 3.17x-status
reduce_meansuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64eager 1.85xeager 0.48x-status
reduce_meansuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256eager 67.01xeager 7.25x-status
reduce_min_allsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8192x4096trace 1.12xtrace 0.22x--
reduce_min_allsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8192x4096trace 1.25xtrace 0.34x--
reduce_min_allsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8192x4096trace 1.08xtrace 0.28x--
reduce_min_axis0suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=2048x2048trace 0.06xtrace 0.89x--
reduce_min_axis0suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=2048x2048trace 0.08xtrace 0.41x--
reduce_min_axis0suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=2048x2048trace 0.37xtrace 2.02x--
reduce_min_axis1suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=4096x4096trace 0.92xtrace 0.62x--
reduce_min_axis1suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=4096x4096trace 2.94xtrace 1.46x--
reduce_min_axis1suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=4096x4096trace 1.83xtrace 0.83x--
reduce_prod_allsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8192x4096trace 0.99xtrace 0.31x--
reduce_prod_allsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8192x4096trace 1.09xtrace 0.56x--
reduce_prod_allsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8192x4096trace 0.99xtrace 0.54x--
reduce_prod_axis0suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=2048x2048trace 0.25xtrace 0.48x--
reduce_prod_axis0suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=2048x2048trace 0.90xtrace 1.54x--
reduce_prod_axis0suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=2048x2048trace 0.85xtrace 1.67x--
reduce_prod_axis1suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=2048x2048trace 1.21xtrace 0.80x--
reduce_prod_axis1suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=2048x2048trace 5.06xtrace 3.62x--
reduce_prod_axis1suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=2048x2048trace 3.79xtrace 2.33x--
reduce_sum_allsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8192x4096trace 0.95xtrace 0.32x--
reduce_sum_allsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8192x4096trace 1.07xtrace 0.59x--
reduce_sum_allsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8192x4096trace 1.10xtrace 0.60x--
reduce_sum_axis0suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=2048x2048trace 0.28xtrace 0.52x--
reduce_sum_axis0suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=2048x2048trace 0.81xtrace 1.43x--
reduce_sum_axis0suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=2048x2048trace 1.39xtrace 2.64x--
reduce_sum_axis1suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=2048x2048trace 1.13xtrace 0.78x--
reduce_sum_axis1suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=2048x2048trace 2.73xtrace 1.85x--
reduce_sum_axis1suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=2048x2048trace 3.91xtrace 2.19x--
reduce_sum_squares_axis0suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=2048x2048---status
reduce_sum_squares_axis0suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=2048x2048---status
reduce_sum_squares_axis0suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=2048x2048---status
remsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8388608trace 0.66xtrace 0.57x--
remsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8388608trace 1.17xtrace 0.60x--
remsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8388608trace 1.26xtrace 0.49x--
reshapesuite=cpu/structural_shape / dtype=f64 / threads=1 / shape=33554432 -> 8192x4096trace 0.00xtrace 0.00x--
reshapesuite=cpu/structural_shape / dtype=f64 / threads=4 / shape=33554432 -> 8192x4096trace 0.00xtrace 0.00x--
reshapesuite=cpu/structural_shape / dtype=f64 / threads=8 / shape=33554432 -> 8192x4096trace 0.00xtrace 0.00x--
reshape_viewsuite=cpu/view_metadata / dtype=f64 / threads=1 / shape=33554432 -> 8192x4096---status
reshape_viewsuite=cpu/view_metadata / dtype=f64 / threads=4 / shape=33554432 -> 8192x4096---status
reshape_viewsuite=cpu/view_metadata / dtype=f64 / threads=8 / shape=33554432 -> 8192x4096---status
reversesuite=cpu/indexing_layout / dtype=f64 / threads=1 / shape=2097152trace 1.11xtrace 1.02x--
reversesuite=cpu/indexing_layout / dtype=f64 / threads=4 / shape=2097152trace 2.26xtrace 1.77x--
reversesuite=cpu/indexing_layout / dtype=f64 / threads=8 / shape=2097152trace 2.25xtrace 1.50x--
rms_normsuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64eager 0.65xeager 0.33x-status
rms_normsuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256eager 0.65xeager 0.17x-status
rms_normsuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64eager 16.09xeager 5.05x-status
rms_normsuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256eager 5.94xeager 2.22x-status
rms_normsuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64eager 0.77xeager 0.42x-status
rms_normsuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256eager 9.43xeager 3.11x-status
rsqrtsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432trace 0.95xtrace 0.59x--
rsqrtsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432trace 0.92xtrace 0.36x--
rsqrtsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432trace 0.89xtrace 0.32x--
scattersuite=cpu/indexing_layout / dtype=f64 / threads=1 / shape=262144trace 2.43xtrace 2.81x--
scattersuite=cpu/indexing_layout / dtype=f64 / threads=4 / shape=262144trace 11.59xtrace 12.15x--
scattersuite=cpu/indexing_layout / dtype=f64 / threads=8 / shape=262144trace 11.18xtrace 7.63x--
selectsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432trace 0.76xtrace 0.74x--
selectsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432trace 0.86xtrace 0.57x--
selectsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432trace 0.93xtrace 0.55x--
sigmoidsuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64eager 0.48xeager 0.29x-status
sigmoidsuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256eager 0.47xeager 0.27x-status
sigmoidsuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64eager 8.98xeager 5.94x-status
sigmoidsuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256eager 2.70xeager 1.64x-status
sigmoidsuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64eager 0.16xeager 0.09x-status
sigmoidsuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256eager 4.03xeager 2.11x-status
signsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432trace 1.02xtrace 0.87x--
signsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432trace 0.96xtrace 0.62x--
signsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432trace 0.93xtrace 0.51x--
silusuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64eager 0.50xeager 0.30x-status
silusuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256eager 0.50xeager 0.27x-status
silusuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64eager 0.22xeager 0.13x-status
silusuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256eager 2.72xeager 1.57x-status
silusuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64eager 7.53xeager 4.36x-status
silusuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256eager 3.90xeager 1.94x-status
sinsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8388608trace 0.23xtrace 0.12x--
sinsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8388608trace 0.33xtrace 0.09x--
sinsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8388608trace 0.69xtrace 0.15x--
slicesuite=cpu/indexing_layout / dtype=f64 / threads=1 / shape=4194304 -> 2096128trace 0.00xtrace 0.00x--
slicesuite=cpu/indexing_layout / dtype=f64 / threads=4 / shape=4194304 -> 2096128trace 0.00xtrace 0.00x--
slicesuite=cpu/indexing_layout / dtype=f64 / threads=8 / shape=4194304 -> 2096128trace 0.00xtrace 0.00x--
slice_viewsuite=cpu/view_metadata / dtype=f64 / threads=1 / shape=4194304 -> 2096128---status
slice_viewsuite=cpu/view_metadata / dtype=f64 / threads=4 / shape=4194304 -> 2096128---status
slice_viewsuite=cpu/view_metadata / dtype=f64 / threads=8 / shape=4194304 -> 2096128---status
slogdetsuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=1024x1024trace 0.88xtrace 0.98x--
slogdetsuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=1024x1024trace 11.80xtrace 6.10x--
slogdetsuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=1024x1024trace 1.74xtrace 0.80x--
softmaxsuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64eager 0.98xeager 0.46x-status
softmaxsuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256eager 1.51xeager 0.36x-status
softmaxsuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64eager 3.70xeager 0.39x-status
softmaxsuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256eager 2.76xeager 0.48x-status
softmaxsuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64eager 3.01xeager 0.40x-status
softmaxsuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256eager 4.13xeager 0.58x-status
softplussuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64eager 0.73xeager 0.44x-status
softplussuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256eager 0.72xeager 0.40x-status
softplussuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64eager 3.54xeager 2.08x-status
softplussuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256eager 2.45xeager 0.89x-status
softplussuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64eager 3.83xeager 2.25x-status
softplussuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256eager 2.41xeager 0.66x-status
solvesuite=cpu/complex / dtype=c64 / threads=1 / shape=384x384,rhs=8trace 1.00xtrace 1.02x--
solvesuite=cpu/complex / dtype=c64 / threads=4 / shape=384x384,rhs=8trace 1.44xtrace 1.02x--
solvesuite=cpu/complex / dtype=c64 / threads=8 / shape=384x384,rhs=8trace 1.78xtrace 1.12x--
solve_read_intosuite=cpu/output_reuse / dtype=f64 / threads=1 / shape=256x256,rhs=16---status
solve_read_intosuite=cpu/output_reuse / dtype=f64 / threads=1 / shape=768x768,rhs=16---status
solve_read_intosuite=cpu/output_reuse / dtype=f64 / threads=4 / shape=256x256,rhs=16---status
solve_read_intosuite=cpu/output_reuse / dtype=f64 / threads=4 / shape=768x768,rhs=16---status
solve_read_intosuite=cpu/output_reuse / dtype=f64 / threads=8 / shape=256x256,rhs=16---status
solve_read_intosuite=cpu/output_reuse / dtype=f64 / threads=8 / shape=768x768,rhs=16---status
sqrtsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432trace 0.56xtrace 0.85x--
sqrtsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432trace 0.68xtrace 0.51x--
sqrtsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432trace 0.74xtrace 0.53x--
subsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432trace 0.97xtrace 0.80x--
subsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432trace 0.92xtrace 0.58x--
subsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432trace 0.89xtrace 0.59x--
sub_intosuite=cpu/output_reuse / dtype=f64 / threads=1 / shape=33554432---status
sub_intosuite=cpu/output_reuse / dtype=f64 / threads=4 / shape=33554432---status
sub_intosuite=cpu/output_reuse / dtype=f64 / threads=8 / shape=33554432---status
svdsuite=cpu/complex / dtype=c64 / threads=1 / shape=160x160trace 0.83xtrace 1.17x--
svdsuite=cpu/complex / dtype=c64 / threads=4 / shape=160x160trace 1.14xtrace 1.06x--
svdsuite=cpu/complex / dtype=c64 / threads=8 / shape=160x160trace 1.17xtrace 0.91x--
svd_fullsuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=768x384eager 0.99x trace 0.99xeager 0.94x trace 0.94x--
svd_fullsuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=768x384eager 0.97x trace 1.00xeager 0.63x trace 0.65x--
svd_fullsuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=768x384eager 0.99x trace 1.00xeager 0.61x trace 0.61x--
take_along_axissuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64eager 4.05xeager 8.36x-status
take_along_axissuite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256eager 4.00xeager 10.41x-status
take_along_axissuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64eager 4.36xeager 8.73x-status
take_along_axissuite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256eager 14.30xeager 21.81x-status
take_along_axissuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64eager 4.34xeager 9.31x-status
take_along_axissuite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256eager 13.16xeager 21.22x-status
tanhsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8388608trace 0.42xtrace 1.20x--
tanhsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8388608trace 0.41xtrace 0.49x--
tanhsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8388608trace 0.43xtrace 0.44x--
tensordotsuite=cpu/complex / dtype=c64 / threads=1 / shape=640x640trace 1.03xtrace 0.84x--
tensordotsuite=cpu/complex / dtype=c64 / threads=4 / shape=640x640trace 1.04xtrace 1.07x--
tensordotsuite=cpu/complex / dtype=c64 / threads=8 / shape=640x640trace 1.03xtrace 0.85x--
transposesuite=cpu/structural_shape / dtype=f64 / threads=1 / shape=4096x4096trace 0.00xtrace 0.00x--
transposesuite=cpu/structural_shape / dtype=f64 / threads=4 / shape=4096x4096trace 0.00xtrace 0.00x--
transposesuite=cpu/structural_shape / dtype=f64 / threads=8 / shape=4096x4096trace 0.00xtrace 0.00x--
transpose_viewsuite=cpu/view_metadata / dtype=f64 / threads=1 / shape=4096x4096---status
transpose_viewsuite=cpu/view_metadata / dtype=f64 / threads=4 / shape=4096x4096---status
transpose_viewsuite=cpu/view_metadata / dtype=f64 / threads=8 / shape=4096x4096---status
triangular_solvesuite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=4096x4096,rhs=64trace 2.79xtrace 0.59x--
triangular_solvesuite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=4096x4096,rhs=64trace 4.63xtrace 0.44x--
triangular_solvesuite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=4096x4096,rhs=64trace 4.74xtrace 0.58x--
trilsuite=cpu/structural_shape / dtype=f64 / threads=1 / shape=4096x4096trace 0.90xtrace 0.90x--
trilsuite=cpu/structural_shape / dtype=f64 / threads=4 / shape=4096x4096trace 0.83xtrace 0.52x--
trilsuite=cpu/structural_shape / dtype=f64 / threads=8 / shape=4096x4096trace 0.86xtrace 0.47x--
triusuite=cpu/structural_shape / dtype=f64 / threads=1 / shape=4096x4096trace 0.88xtrace 0.84x--
triusuite=cpu/structural_shape / dtype=f64 / threads=4 / shape=4096x4096trace 0.97xtrace 0.52x--
triusuite=cpu/structural_shape / dtype=f64 / threads=8 / shape=4096x4096trace 1.32xtrace 0.69x--
where_selectsuite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432eager 0.74xeager 0.61x-status
where_selectsuite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432eager 0.85xeager 0.54x-status
where_selectsuite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432eager 0.92xeager 0.54x-status

Charts below are ordered best first (smallest ratio).

reshape suite=cpu/structural_shape / dtype=f64 / threads=1 / shape=33554432 -> 8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (47.420 ms)pytorch-cpu47.420 msjax-cpu52.552 msjulia-base59.259 mstenferro-direct52.032 ms · 1.10xtenferro-trace0.001252 ms · 0.00x

broadcast_in_dim suite=cpu/structural_shape / dtype=f64 / threads=1 / shape=8192x1 -> 8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (42.132 ms)pytorch-cpu42.132 msjax-cpu42.904 msjulia-base51.059 mstenferro-direct40.849 ms · 0.97xtenferro-trace0.001162 ms · 0.00x

transpose suite=cpu/structural_shape / dtype=f64 / threads=1 / shape=4096x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (31.279 ms)pytorch-cpu31.279 msjax-cpu39.196 msstrided-jl60.623 msjulia-base94.471 mstenferro-direct43.199 ms · 1.38xtenferro-trace0.001172 ms · 0.00x

transpose suite=cpu/structural_shape / dtype=f64 / threads=4 / shape=4096x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (30.830 ms)strided-jl23.688 msjax-cpu24.009 mspytorch-cpu30.830 msjulia-base94.848 mstenferro-direct16.805 ms · 0.55xtenferro-trace0.001222 ms · 0.00x

transpose suite=cpu/structural_shape / dtype=f64 / threads=8 / shape=4096x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (41.023 ms)jax-cpu21.776 msstrided-jl26.127 mspytorch-cpu41.023 msjulia-base138.807 mstenferro-direct14.371 ms · 0.35xtenferro-trace0.001924 ms · 0.00x

reshape suite=cpu/structural_shape / dtype=f64 / threads=4 / shape=33554432 -> 8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (17.564 ms)pytorch-cpu17.564 msjax-cpu21.239 msjulia-base58.762 mstenferro-direct18.013 ms · 1.03xtenferro-trace0.001332 ms · 0.00x

broadcast_in_dim suite=cpu/structural_shape / dtype=f64 / threads=4 / shape=8192x1 -> 8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (14.047 ms)pytorch-cpu14.047 msjax-cpu24.442 msjulia-base51.398 mstenferro-direct15.660 ms · 1.11xtenferro-trace0.001232 ms · 0.00x

reshape suite=cpu/structural_shape / dtype=f64 / threads=8 / shape=33554432 -> 8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (15.209 ms)pytorch-cpu15.209 msjax-cpu17.549 msjulia-base75.658 mstenferro-direct15.186 ms · 1.00xtenferro-trace0.002034 ms · 0.00x

broadcast_in_dim suite=cpu/structural_shape / dtype=f64 / threads=8 / shape=8192x1 -> 8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (12.006 ms)pytorch-cpu12.006 msjax-cpu23.025 msjulia-base69.060 mstenferro-direct12.466 ms · 1.04xtenferro-trace0.001964 ms · 0.00x

slice suite=cpu/indexing_layout / dtype=f64 / threads=1 / shape=4194304 -> 2096128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.223 ms)jax-cpu1.072 mspytorch-cpu1.223 msjulia-base4.464 mstenferro-direct1.142 ms · 0.93xtenferro-trace0.001273 ms · 0.00x

slice suite=cpu/indexing_layout / dtype=f64 / threads=4 / shape=4194304 -> 2096128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.8247 ms)pytorch-cpu0.8247 msjax-cpu0.8918 msjulia-base4.094 mstenferro-direct0.8246 ms · 1.00xtenferro-trace0.001372 ms · 0.00x

slice suite=cpu/indexing_layout / dtype=f64 / threads=8 / shape=4194304 -> 2096128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.9808 ms)pytorch-cpu0.9808 msjax-cpu1.186 msjulia-base5.459 mstenferro-direct1.427 ms · 1.45xtenferro-trace0.002094 ms · 0.00x

reduce_min_axis0 suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (18.235 ms)julia-base1.157 msjax-cpu1.217 mspytorch-cpu18.235 mstenferro-direct1.072 ms · 0.06xtenferro-trace1.081 ms · 0.06x

reduce_max_axis0 suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (17.859 ms)julia-base1.121 msjax-cpu1.254 mspytorch-cpu17.859 mstenferro-direct1.154 ms · 0.06xtenferro-trace1.170 ms · 0.07x

reduce_min_axis0 suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.082 ms)jax-cpu1.002 msjulia-base1.133 mspytorch-cpu5.082 mstenferro-direct0.4082 ms · 0.08xtenferro-trace0.4137 ms · 0.08x

sigmoid suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03399 ms)pytorch-cpu0.03399 msjax-cpu0.06013 mstenferro-direct0.005075 ms · 0.15xtenferro-eager0.005552 ms · 0.16x

erf suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.06882 ms)jax-cpu0.05989 mspytorch-cpu0.06882 mstenferro-direct0.01318 ms · 0.19xtenferro-eager0.01358 ms · 0.20x

silu suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02531 ms)pytorch-cpu0.02531 msjax-cpu0.0438 mstenferro-direct0.005125 ms · 0.20xtenferro-eager0.005476 ms · 0.22x

reduce_max_axis0 suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (4.974 ms)jax-cpu0.8687 msjulia-base0.8791 mspytorch-cpu4.974 mstenferro-direct0.3998 ms · 0.08xtenferro-trace1.126 ms · 0.23x

exp suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (23.602 ms)jax-cpu15.857 mspytorch-cpu23.602 msjulia-base26.135 msstrided-jl28.317 mstenferro-direct5.360 ms · 0.23xtenferro-trace5.367 ms · 0.23x

sin suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (32.342 ms)julia-base32.286 mspytorch-cpu32.342 msstrided-jl32.429 msjax-cpu59.382 mstenferro-direct7.365 ms · 0.23xtenferro-trace7.403 ms · 0.23x

reduce_prod_axis0 suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.546 ms)julia-base0.7554 msjax-cpu1.312 mspytorch-cpu2.546 mstenferro-direct0.6036 ms · 0.24xtenferro-trace0.6285 ms · 0.25x

reduce_sum_axis0 suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.407 ms)julia-base0.7313 msjax-cpu1.305 mspytorch-cpu2.407 mstenferro-direct0.6271 ms · 0.26xtenferro-trace0.6759 ms · 0.28x

gelu suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.0253 ms)pytorch-cpu0.0253 msjax-cpu0.03873 mstenferro-direct0.006912 ms · 0.27xtenferro-eager0.007362 ms · 0.29x

cos suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (31.191 ms)pytorch-cpu31.191 msjulia-base31.405 msstrided-jl33.596 msjax-cpu59.968 mstenferro-direct9.342 ms · 0.30xtenferro-trace9.372 ms · 0.30x

reduce_max_axis0 suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.152 ms)jax-cpu1.011 msjulia-base1.484 mspytorch-cpu5.152 mstenferro-direct0.6606 ms · 0.13xtenferro-trace1.607 ms · 0.31x

sin suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (8.916 ms)strided-jl8.577 mspytorch-cpu8.916 msjax-cpu31.171 msjulia-base31.247 mstenferro-direct2.921 ms · 0.33xtenferro-trace2.930 ms · 0.33x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (4.186 ms)jax-cpu1.389 mspytorch-cpu4.186 mstenferro-direct4.292 ms · 1.03x

log suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (25.692 ms)pytorch-cpu25.692 msjax-cpu29.137 msjulia-base32.975 msstrided-jl37.381 mstenferro-direct9.449 ms · 0.37xtenferro-trace9.467 ms · 0.37x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.3364 ms)jax-cpu0.1243 mspytorch-cpu0.3364 mstenferro-direct0.3142 ms · 0.93x

reduce_min_axis0 suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.271 ms)jax-cpu0.9684 msjulia-base1.261 mspytorch-cpu5.271 mstenferro-direct1.371 ms · 0.26xtenferro-trace1.954 ms · 0.37x

clamp suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (18.478 ms)julia-base16.276 mspytorch-cpu18.478 msjax-cpu22.304 msstrided-jl26.095 mstenferro-direct7.068 ms · 0.38xtenferro-trace7.185 ms · 0.39x

masked_softmax suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = best reference (1.123 ms)jax-cpu1.123 mstenferro-direct0.381 ms · 0.34xtenferro-eager0.4387 ms · 0.39x

log suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (7.553 ms)pytorch-cpu7.553 msstrided-jl9.525 msjax-cpu15.139 msjulia-base33.202 mstenferro-direct2.983 ms · 0.39xtenferro-trace2.964 ms · 0.39x

masked_softmax suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = best reference (1.488 ms)jax-cpu1.488 mstenferro-direct0.4757 ms · 0.32xtenferro-eager0.5877 ms · 0.40x

masked_softmax suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = best reference (2.329 ms)jax-cpu2.329 mstenferro-direct0.9232 ms · 0.40xtenferro-eager0.9315 ms · 0.40x

tanh suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (11.556 ms)jax-cpu9.701 msstrided-jl10.319 mspytorch-cpu11.556 msjulia-base34.848 mstenferro-direct4.766 ms · 0.41xtenferro-trace4.762 ms · 0.41x

tanh suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (43.978 ms)jax-cpu15.389 msjulia-base34.259 msstrided-jl38.355 mspytorch-cpu43.978 mstenferro-direct18.470 ms · 0.42xtenferro-trace18.540 ms · 0.42x

log1p suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=4194304 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (10.825 ms)pytorch-cpu10.825 msjax-cpu15.447 msjulia-base18.672 msstrided-jl20.122 mstenferro-direct4.576 ms · 0.42xtenferro-trace4.606 ms · 0.43x

tanh suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (8.645 ms)jax-cpu8.396 mspytorch-cpu8.645 msstrided-jl10.546 msjulia-base52.927 mstenferro-direct3.688 ms · 0.43xtenferro-trace3.728 ms · 0.43x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.681 ms)jax-cpu0.3918 mspytorch-cpu0.681 mstenferro-direct0.2943 ms · 0.43xtenferro-trace0.3037 ms · 0.45x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.08605 ms)jax-cpu0.05757 mspytorch-cpu0.08605 mstenferro-direct0.03618 ms · 0.42xtenferro-trace0.03906 ms · 0.45x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.2172 ms)jax-cpu0.09941 mspytorch-cpu0.2172 mstenferro-direct0.2037 ms · 0.94x

masked_softmax suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = best reference (0.1608 ms)jax-cpu0.1608 mstenferro-direct0.05464 ms · 0.34xtenferro-eager0.07456 ms · 0.46x

sigmoid suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.5847 ms)pytorch-cpu0.5847 msjax-cpu1.028 mstenferro-direct0.2677 ms · 0.46xtenferro-eager0.2762 ms · 0.47x

sigmoid suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03563 ms)pytorch-cpu0.03563 msjax-cpu0.05835 mstenferro-direct0.01702 ms · 0.48xtenferro-eager0.01707 ms · 0.48x

silu suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03631 ms)pytorch-cpu0.03631 msjax-cpu0.06025 mstenferro-direct0.01772 ms · 0.49xtenferro-eager0.01801 ms · 0.50x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01022 ms)jax-cpu0.009297 mspytorch-cpu0.01022 mstenferro-direct0.002725 ms · 0.27xtenferro-trace0.005089 ms · 0.50x

silu suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.5833 ms)pytorch-cpu0.5833 msjax-cpu1.065 mstenferro-direct0.2828 ms · 0.48xtenferro-eager0.2908 ms · 0.50x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01009 ms)pytorch-cpu0.01009 msjax-cpu0.01503 mstenferro-direct0.002695 ms · 0.27xtenferro-trace0.005069 ms · 0.50x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.008 ms)jax-cpu0.5082 mspytorch-cpu1.008 mstenferro-direct1.171 ms · 1.16x

exp suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (7.438 ms)pytorch-cpu7.438 msstrided-jl7.791 msjax-cpu8.969 msjulia-base27.251 mstenferro-direct2.901 ms · 0.39xtenferro-trace3.751 ms · 0.50x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006673 ms)jax-cpu0.004528 mspytorch-cpu0.006673 mstenferro-direct0.000902 ms · 0.14xtenferro-trace0.003366 ms · 0.50x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006603 ms)jax-cpu0.004468 mspytorch-cpu0.006603 mstenferro-direct0.000932 ms · 0.14xtenferro-trace0.003377 ms · 0.51x

masked_softmax suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = best reference (0.1007 ms)jax-cpu0.1007 mstenferro-direct0.0378 ms · 0.38xtenferro-eager0.05155 ms · 0.51x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.009938 ms)jax-cpu0.009457 mspytorch-cpu0.009938 mstenferro-direct0.002665 ms · 0.27xtenferro-trace0.00515 ms · 0.52x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006723 ms)jax-cpu0.004978 mspytorch-cpu0.006723 mstenferro-direct0.001032 ms · 0.15xtenferro-trace0.003487 ms · 0.52x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007714 ms)jax-cpu0.006512 mspytorch-cpu0.007714 mstenferro-direct0.001603 ms · 0.21xtenferro-trace0.004037 ms · 0.52x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.009137 ms)jax-cpu0.009077 mspytorch-cpu0.009137 mstenferro-direct0.002465 ms · 0.27xtenferro-trace0.004788 ms · 0.52x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006752 ms)jax-cpu0.004909 mspytorch-cpu0.006752 mstenferro-direct0.001122 ms · 0.17xtenferro-trace0.003587 ms · 0.53x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.009939 ms)pytorch-cpu0.009939 msjax-cpu0.01606 mstenferro-direct0.002755 ms · 0.28xtenferro-trace0.005289 ms · 0.53x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006471 ms)pytorch-cpu0.006471 msjax-cpu0.01713 mstenferro-direct0.001894 ms · 0.29xtenferro-trace0.003446 ms · 0.53x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006783 ms)jax-cpu0.004698 mspytorch-cpu0.006783 mstenferro-direct0.001092 ms · 0.16xtenferro-trace0.003626 ms · 0.53x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006763 ms)jax-cpu0.005479 mspytorch-cpu0.006763 mstenferro-direct0.001112 ms · 0.16xtenferro-trace0.003617 ms · 0.53x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006833 ms)pytorch-cpu0.006833 msjax-cpu0.01268 mstenferro-direct0.001012 ms · 0.15xtenferro-trace0.003656 ms · 0.54x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006813 ms)jax-cpu0.00557 mspytorch-cpu0.006813 mstenferro-direct0.001232 ms · 0.18xtenferro-trace0.003646 ms · 0.54x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.008867 ms)pytorch-cpu0.008867 msjax-cpu0.0153 mstenferro-direct0.002354 ms · 0.27xtenferro-trace0.004748 ms · 0.54x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006171 ms)pytorch-cpu0.006171 msjax-cpu0.01742 mstenferro-direct0.001803 ms · 0.29xtenferro-trace0.003306 ms · 0.54x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006051 ms)jax-cpu0.006011 mspytorch-cpu0.006051 mstenferro-direct0.001673 ms · 0.28xtenferro-trace0.003256 ms · 0.54x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01089 ms)pytorch-cpu0.01089 msjax-cpu0.01998 mstenferro-direct0.003266 ms · 0.30xtenferro-trace0.00587 ms · 0.54x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005991 ms)pytorch-cpu0.005991 msjax-cpu0.006341 mstenferro-direct0.001713 ms · 0.29xtenferro-trace0.003256 ms · 0.54x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005841 ms)pytorch-cpu0.005841 msjax-cpu0.006171 mstenferro-direct0.001523 ms · 0.26xtenferro-trace0.003175 ms · 0.54x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006101 ms)pytorch-cpu0.006101 msjax-cpu0.006352 mstenferro-direct0.001743 ms · 0.29xtenferro-trace0.003336 ms · 0.55x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006702 ms)pytorch-cpu0.006702 msjax-cpu0.01305 mstenferro-direct0.002123 ms · 0.32xtenferro-trace0.003676 ms · 0.55x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007694 ms)jax-cpu0.006872 mspytorch-cpu0.007694 mstenferro-direct0.001863 ms · 0.24xtenferro-trace0.004228 ms · 0.55x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005501 ms)pytorch-cpu0.005501 msjax-cpu0.006131 mstenferro-direct0.001513 ms · 0.28xtenferro-trace0.003026 ms · 0.55x

layer_norm suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.06978 ms)jax-cpu0.06778 mspytorch-cpu0.06978 mstenferro-direct0.02534 ms · 0.36xtenferro-eager0.03846 ms · 0.55x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006963 ms)jax-cpu0.00562 mspytorch-cpu0.006963 mstenferro-direct0.001443 ms · 0.21xtenferro-trace0.003847 ms · 0.55x

gelu suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.2251 ms)pytorch-cpu0.2251 msjax-cpu0.3482 mstenferro-direct0.1224 ms · 0.54xtenferro-eager0.1245 ms · 0.55x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00556 ms)pytorch-cpu0.00556 msjax-cpu0.00596 mstenferro-direct0.001593 ms · 0.29xtenferro-trace0.003075 ms · 0.55x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006622 ms)pytorch-cpu0.006622 msjax-cpu0.01379 mstenferro-direct0.002084 ms · 0.31xtenferro-trace0.003666 ms · 0.55x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.009077 ms)pytorch-cpu0.009077 msjax-cpu0.01607 mstenferro-direct0.002525 ms · 0.28xtenferro-trace0.005039 ms · 0.56x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00548 ms)pytorch-cpu0.00548 msjax-cpu0.01742 mstenferro-direct0.001542 ms · 0.28xtenferro-trace0.003045 ms · 0.56x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01008 ms)pytorch-cpu0.01008 msjax-cpu0.01585 mstenferro-direct0.003015 ms · 0.30xtenferro-trace0.0056 ms · 0.56x

compare_lt suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (23.432 ms)julia-base13.390 msjax-cpu22.905 mspytorch-cpu23.432 mstenferro-direct13.279 ms · 0.57xtenferro-trace13.155 ms · 0.56x

sqrt suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (87.306 ms)jax-cpu57.533 mspytorch-cpu87.306 msjulia-base92.422 msstrided-jl92.866 mstenferro-direct51.015 ms · 0.58xtenferro-trace49.028 ms · 0.56x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01068 ms)pytorch-cpu0.01068 msjax-cpu0.01787 mstenferro-direct0.003356 ms · 0.31xtenferro-trace0.006021 ms · 0.56x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006903 ms)jax-cpu0.004939 mspytorch-cpu0.006903 mstenferro-direct0.001152 ms · 0.17xtenferro-trace0.003907 ms · 0.57x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01102 ms)pytorch-cpu0.01102 msjax-cpu0.01891 mstenferro-direct0.003647 ms · 0.33xtenferro-trace0.006241 ms · 0.57x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007053 ms)jax-cpu0.006432 mspytorch-cpu0.007053 mstenferro-direct0.001633 ms · 0.23xtenferro-trace0.003997 ms · 0.57x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01044 ms)jax-cpu0.006803 mspytorch-cpu0.01044 mstenferro-direct0.001653 ms · 0.16xtenferro-trace0.005931 ms · 0.57x

masked_log_softmax_axis1 suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = best reference (0.1641 ms)jax-cpu0.1641 mstenferro-direct0.07124 ms · 0.43xtenferro-eager0.09326 ms · 0.57x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00542 ms)pytorch-cpu0.00542 msjax-cpu0.00584 mstenferro-direct0.001553 ms · 0.29xtenferro-trace0.003096 ms · 0.57x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006162 ms)pytorch-cpu0.006162 msjax-cpu0.01207 mstenferro-direct0.001954 ms · 0.32xtenferro-trace0.003527 ms · 0.57x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006733 ms)jax-cpu0.004358 mspytorch-cpu0.006733 mstenferro-direct0.001092 ms · 0.16xtenferro-trace0.003857 ms · 0.57x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01045 ms)pytorch-cpu0.01045 msjax-cpu0.01154 mstenferro-direct0.001593 ms · 0.15xtenferro-trace0.006001 ms · 0.57x

cos suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (9.232 ms)pytorch-cpu9.232 msstrided-jl9.372 msjax-cpu31.282 msjulia-base32.882 mstenferro-direct3.088 ms · 0.33xtenferro-trace5.316 ms · 0.58x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006873 ms)pytorch-cpu0.006873 msjax-cpu0.01743 mstenferro-direct0.002334 ms · 0.34xtenferro-trace0.003958 ms · 0.58x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006902 ms)pytorch-cpu0.006902 msjax-cpu0.01449 mstenferro-direct0.001242 ms · 0.18xtenferro-trace0.003987 ms · 0.58x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007884 ms)pytorch-cpu0.007884 msjax-cpu0.01821 mstenferro-direct0.001783 ms · 0.23xtenferro-trace0.004568 ms · 0.58x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00543 ms)pytorch-cpu0.00543 msjax-cpu0.006141 mstenferro-direct0.001633 ms · 0.30xtenferro-trace0.003156 ms · 0.58x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007443 ms)jax-cpu0.00548 mspytorch-cpu0.007443 mstenferro-direct0.001623 ms · 0.22xtenferro-trace0.004348 ms · 0.58x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006942 ms)jax-cpu0.00548 mspytorch-cpu0.006942 mstenferro-direct0.001303 ms · 0.19xtenferro-trace0.004058 ms · 0.58x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005571 ms)pytorch-cpu0.005571 msjax-cpu0.006271 mstenferro-direct0.001593 ms · 0.29xtenferro-trace0.003266 ms · 0.59x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006352 ms)pytorch-cpu0.006352 msjax-cpu0.01222 mstenferro-direct0.002154 ms · 0.34xtenferro-trace0.003727 ms · 0.59x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006942 ms)pytorch-cpu0.006942 msjax-cpu0.01338 mstenferro-direct0.001262 ms · 0.18xtenferro-trace0.004077 ms · 0.59x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01064 ms)pytorch-cpu0.01064 msjax-cpu0.01402 mstenferro-direct0.001993 ms · 0.19xtenferro-trace0.006262 ms · 0.59x

reduce_max_axis1 suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.701 ms)julia-base0.7709 mspytorch-cpu1.701 msjax-cpu2.514 mstenferro-direct1.001 ms · 0.59xtenferro-trace1.002 ms · 0.59x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007643 ms)jax-cpu0.006221 mspytorch-cpu0.007643 mstenferro-direct0.001853 ms · 0.24xtenferro-trace0.004508 ms · 0.59x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005681 ms)pytorch-cpu0.005681 msjax-cpu0.005911 mstenferro-direct0.001713 ms · 0.30xtenferro-trace0.003356 ms · 0.59x

gelu suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.04217 ms)pytorch-cpu0.04217 msjax-cpu0.08733 mstenferro-direct0.02464 ms · 0.58xtenferro-eager0.02496 ms · 0.59x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01059 ms)jax-cpu0.007895 mspytorch-cpu0.01059 mstenferro-direct0.001853 ms · 0.17xtenferro-trace0.006271 ms · 0.59x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01065 ms)jax-cpu0.007453 mspytorch-cpu0.01065 mstenferro-direct0.001884 ms · 0.18xtenferro-trace0.006341 ms · 0.60x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006952 ms)jax-cpu0.00562 mspytorch-cpu0.006952 mstenferro-direct0.001412 ms · 0.20xtenferro-trace0.004157 ms · 0.60x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005961 ms)pytorch-cpu0.005961 msjax-cpu0.01259 mstenferro-direct0.001894 ms · 0.32xtenferro-trace0.003567 ms · 0.60x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01194 ms)pytorch-cpu0.01194 msjax-cpu0.01654 mstenferro-direct0.002685 ms · 0.22xtenferro-trace0.007154 ms · 0.60x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.552 ms)jax-cpu0.9335 mspytorch-cpu1.552 mstenferro-direct1.757 ms · 1.13x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01073 ms)jax-cpu0.008726 mspytorch-cpu0.01073 mstenferro-direct0.002124 ms · 0.20xtenferro-trace0.006472 ms · 0.60x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01063 ms)jax-cpu0.007875 mspytorch-cpu0.01063 mstenferro-direct0.001984 ms · 0.19xtenferro-trace0.006432 ms · 0.61x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004668 ms)pytorch-cpu0.004668 msjax-cpu0.00594 mstenferro-direct0.001433 ms · 0.31xtenferro-trace0.002845 ms · 0.61x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.008415 ms)jax-cpu0.008354 mspytorch-cpu0.008415 mstenferro-direct0.002745 ms · 0.33xtenferro-trace0.00513 ms · 0.61x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01202 ms)jax-cpu0.01055 mspytorch-cpu0.01202 mstenferro-direct0.003025 ms · 0.25xtenferro-trace0.007373 ms · 0.61x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007915 ms)jax-cpu0.006653 mspytorch-cpu0.007915 mstenferro-direct0.002013 ms · 0.25xtenferro-trace0.004859 ms · 0.61x

masked_softmax suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = best reference (0.1174 ms)jax-cpu0.1174 mstenferro-direct0.05853 ms · 0.50xtenferro-eager0.07213 ms · 0.61x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004649 ms)pytorch-cpu0.004649 msjax-cpu0.006261 mstenferro-direct0.001383 ms · 0.30xtenferro-trace0.002875 ms · 0.62x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.706 ms)jax-cpu1.677 mspytorch-cpu2.706 mstenferro-direct2.815 ms · 1.04x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.009207 ms)pytorch-cpu0.009207 msjax-cpu0.01585 mstenferro-direct0.003155 ms · 0.34xtenferro-trace0.00573 ms · 0.62x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01083 ms)pytorch-cpu0.01083 msjax-cpu0.01432 mstenferro-direct0.002505 ms · 0.23xtenferro-trace0.006752 ms · 0.62x

gather suite=cpu/indexing_layout / dtype=f64 / threads=1 / shape=262144 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.297 ms)jax-cpu0.1519 mspytorch-cpu0.297 msjulia-base0.4696 mstenferro-direct0.155 ms · 0.52xtenferro-trace0.1859 ms · 0.63x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01108 ms)jax-cpu0.01014 mspytorch-cpu0.01108 mstenferro-direct0.002796 ms · 0.25xtenferro-trace0.006982 ms · 0.63x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007674 ms)pytorch-cpu0.007674 msjax-cpu0.009217 mstenferro-direct0.003186 ms · 0.42xtenferro-trace0.004839 ms · 0.63x

pad suite=cpu/indexing_layout / dtype=f64 / threads=1 / shape=2097152 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.9703 ms)jax-cpu0.7817 mspytorch-cpu0.9703 mstenferro-direct0.6065 ms · 0.63xtenferro-trace0.6121 ms · 0.63x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007264 ms)pytorch-cpu0.007264 msjax-cpu0.01335 mstenferro-direct0.003105 ms · 0.43xtenferro-trace0.004588 ms · 0.63x

expm1 suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=4194304 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (11.802 ms)jax-cpu10.853 mspytorch-cpu11.802 msjulia-base15.669 msstrided-jl17.098 mstenferro-direct7.519 ms · 0.64xtenferro-trace7.527 ms · 0.64x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01208 ms)pytorch-cpu0.01208 msjax-cpu0.01829 mstenferro-direct0.005029 ms · 0.42xtenferro-trace0.007714 ms · 0.64x

rms_norm suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.3181 ms)pytorch-cpu0.3181 msjax-cpu1.223 mstenferro-direct0.194 ms · 0.61xtenferro-eager0.2054 ms · 0.65x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.06449 ms)pytorch-cpu0.06449 msjax-cpu0.07366 mstenferro-direct0.03829 ms · 0.59xtenferro-trace0.04167 ms · 0.65x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004709 ms)pytorch-cpu0.004709 msjax-cpu0.006281 mstenferro-direct0.001463 ms · 0.31xtenferro-trace0.003046 ms · 0.65x

rms_norm suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03572 ms)pytorch-cpu0.03572 msjax-cpu0.06983 mstenferro-direct0.01484 ms · 0.42xtenferro-eager0.02325 ms · 0.65x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.4693 ms)pytorch-cpu0.4693 msjax-cpu0.9992 mstenferro-direct0.2973 ms · 0.63xtenferro-trace0.3066 ms · 0.65x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01321 ms)pytorch-cpu0.01321 msjax-cpu0.02176 mstenferro-direct0.004579 ms · 0.35xtenferro-trace0.008696 ms · 0.66x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.008695 ms)pytorch-cpu0.008695 msjax-cpu0.01357 mstenferro-direct0.002996 ms · 0.34xtenferro-trace0.00573 ms · 0.66x

masked_log_softmax_axis1 suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = best reference (0.1787 ms)jax-cpu0.1787 mstenferro-direct0.1055 ms · 0.59xtenferro-eager0.1182 ms · 0.66x

rem suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (31.516 ms)pytorch-cpu31.516 msjax-cpu36.871 msjulia-base37.371 msstrided-jl43.939 mstenferro-direct21.463 ms · 0.68xtenferro-trace20.877 ms · 0.66x

gelu suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.5963 ms)pytorch-cpu0.5963 msjax-cpu1.490 mstenferro-direct0.3936 ms · 0.66xtenferro-eager0.4007 ms · 0.67x

cholesky suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=1536x1536 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (38.689 ms)julia-base33.736 mspytorch-cpu38.689 msjax-cpu47.316 mstenferro-direct24.749 ms · 0.64xtenferro-trace26.141 ms · 0.68x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003887 ms)pytorch-cpu0.003887 msjax-cpu0.004157 mstenferro-direct0.001192 ms · 0.31xtenferro-trace0.002655 ms · 0.68x

sqrt suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (24.722 ms)pytorch-cpu24.722 msstrided-jl28.626 msjax-cpu33.144 msjulia-base104.720 mstenferro-direct17.366 ms · 0.70xtenferro-trace16.888 ms · 0.68x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003416 ms)pytorch-cpu0.003416 msjax-cpu0.003977 mstenferro-direct0.000911 ms · 0.27xtenferro-trace0.002344 ms · 0.69x

sin suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.802 ms)pytorch-cpu6.802 msstrided-jl10.304 msjax-cpu31.912 msjulia-base45.487 mstenferro-direct3.346 ms · 0.49xtenferro-trace4.698 ms · 0.69x

log suite=cpu/complex / dtype=c64 / threads=8 / shape=4194304 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (14.622 ms)pytorch-cpu14.622 msjax-cpu17.215 msstrided-jl17.942 msjulia-base96.941 mstenferro-direct10.159 ms · 0.69xtenferro-trace10.234 ms · 0.70x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004008 ms)pytorch-cpu0.004008 msjax-cpu0.004558 mstenferro-direct0.001272 ms · 0.32xtenferro-trace0.002806 ms · 0.70x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.6648 ms)jax-cpu0.5206 mspytorch-cpu0.6648 mstenferro-direct0.4772 ms · 0.72xtenferro-trace0.4661 ms · 0.70x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03609 ms)pytorch-cpu0.03609 msjax-cpu0.04483 mstenferro-direct0.02377 ms · 0.66xtenferro-trace0.02558 ms · 0.71x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x32x32,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01065 ms)pytorch-cpu0.01065 msjax-cpu0.01275 mstenferro-direct0.005169 ms · 0.49xtenferro-trace0.007574 ms · 0.71x

erf suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.07043 ms)jax-cpu0.05486 mspytorch-cpu0.07043 mstenferro-direct0.05003 ms · 0.71xtenferro-eager0.05013 ms · 0.71x

erf suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.115 ms)jax-cpu0.3945 mspytorch-cpu1.115 mstenferro-direct0.7987 ms · 0.72xtenferro-eager0.8009 ms · 0.72x

lu suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=1024x1024 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (21.053 ms)pytorch-cpu21.053 msjax-cpu21.454 msjulia-base21.780 mstenferro-direct14.664 ms · 0.70xtenferro-trace15.139 ms · 0.72x

softplus suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.350 ms)pytorch-cpu1.350 msjax-cpu2.415 mstenferro-direct0.9698 ms · 0.72xtenferro-eager0.9759 ms · 0.72x

gelu_tanh suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.611 ms)jax-cpu1.150 mspytorch-cpu1.611 mstenferro-direct1.159 ms · 0.72xtenferro-eager1.168 ms · 0.72x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005951 ms)pytorch-cpu0.005951 msjax-cpu0.006442 mstenferro-direct0.001984 ms · 0.33xtenferro-trace0.004318 ms · 0.73x

log suite=cpu/complex / dtype=c64 / threads=4 / shape=4194304 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (18.811 ms)pytorch-cpu18.811 msstrided-jl19.135 msjax-cpu21.936 msjulia-base63.365 mstenferro-direct13.608 ms · 0.72xtenferro-trace13.710 ms · 0.73x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006081 ms)pytorch-cpu0.006081 msjax-cpu0.006743 mstenferro-direct0.002004 ms · 0.33xtenferro-trace0.004438 ms · 0.73x

softplus suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.08327 ms)pytorch-cpu0.08327 msjax-cpu0.1395 mstenferro-direct0.06059 ms · 0.73xtenferro-eager0.06095 ms · 0.73x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02159 ms)pytorch-cpu0.02159 msjax-cpu0.03623 mstenferro-direct0.01314 ms · 0.61xtenferro-trace0.01585 ms · 0.73x

sqrt suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (19.610 ms)pytorch-cpu19.610 msjax-cpu27.071 msstrided-jl31.177 msjulia-base142.688 mstenferro-direct14.521 ms · 0.74xtenferro-trace14.457 ms · 0.74x

cos suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.904 ms)pytorch-cpu6.904 msstrided-jl11.867 msjax-cpu31.749 msjulia-base47.484 mstenferro-direct3.350 ms · 0.49xtenferro-trace5.098 ms · 0.74x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003446 ms)pytorch-cpu0.003446 msjax-cpu0.003817 mstenferro-direct0.001032 ms · 0.30xtenferro-trace0.002545 ms · 0.74x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003887 ms)pytorch-cpu0.003887 msjax-cpu0.004238 mstenferro-direct0.001272 ms · 0.33xtenferro-trace0.002875 ms · 0.74x

gelu_tanh suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.09844 ms)jax-cpu0.06555 mspytorch-cpu0.09844 mstenferro-direct0.07255 ms · 0.74xtenferro-eager0.07285 ms · 0.74x

log suite=cpu/complex / dtype=c64 / threads=1 / shape=4194304 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (70.089 ms)julia-base61.798 msstrided-jl64.859 mspytorch-cpu70.089 msjax-cpu84.762 mstenferro-direct52.057 ms · 0.74xtenferro-trace51.926 ms · 0.74x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00546 ms)pytorch-cpu0.00546 msjax-cpu0.006021 mstenferro-direct0.001633 ms · 0.30xtenferro-trace0.004047 ms · 0.74x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.08898 ms)pytorch-cpu0.08898 msjax-cpu0.1011 mstenferro-direct0.05784 ms · 0.65xtenferro-trace0.06597 ms · 0.74x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x64x24 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02422 ms)pytorch-cpu0.02422 msjax-cpu0.0336 mstenferro-direct0.0157 ms · 0.65xtenferro-trace0.01797 ms · 0.74x

exp suite=cpu/complex / dtype=c64 / threads=1 / shape=4194304 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (55.229 ms)julia-base36.978 msstrided-jl37.299 msjax-cpu44.639 mspytorch-cpu55.229 mstenferro-direct40.295 ms · 0.73xtenferro-trace41.080 ms · 0.74x

where_select suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (73.091 ms)pytorch-cpu73.091 msjax-cpu89.822 mstenferro-direct56.250 ms · 0.77xtenferro-eager54.446 ms · 0.74x

extract_diagonal suite=cpu/structural_shape / dtype=f64 / threads=1 / shape=8388608x2x2 -> 8388608x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (31.133 ms)jax-cpu24.877 mspytorch-cpu31.133 mstenferro-direct24.989 ms · 0.80xtenferro-trace23.250 ms · 0.75x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.08396 ms)jax-cpu0.06573 mspytorch-cpu0.08396 mstenferro-direct0.06066 ms · 0.72xtenferro-trace0.06272 ms · 0.75x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006221 ms)pytorch-cpu0.006221 msjax-cpu0.01173 mstenferro-direct0.002204 ms · 0.35xtenferro-trace0.004649 ms · 0.75x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004168 ms)pytorch-cpu0.004168 msjax-cpu0.004809 mstenferro-direct0.001613 ms · 0.39xtenferro-trace0.003115 ms · 0.75x

layer_norm suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.5012 ms)pytorch-cpu0.5012 msjax-cpu1.209 mstenferro-direct0.3618 ms · 0.72xtenferro-eager0.3752 ms · 0.75x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x64x24 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01545 ms)jax-cpu0.01513 mspytorch-cpu0.01545 mstenferro-direct0.01004 ms · 0.65xtenferro-trace0.01161 ms · 0.75x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003977 ms)pytorch-cpu0.003977 msjax-cpu0.01321 mstenferro-direct0.001402 ms · 0.35xtenferro-trace0.003006 ms · 0.76x

select suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (73.811 ms)julia-base57.244 mspytorch-cpu73.811 msjax-cpu75.431 mstenferro-direct56.993 ms · 0.77xtenferro-trace55.924 ms · 0.76x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003706 ms)pytorch-cpu0.003706 msjax-cpu0.003967 mstenferro-direct0.001242 ms · 0.34xtenferro-trace0.002815 ms · 0.76x

exp suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.705 ms)pytorch-cpu5.705 msjax-cpu8.891 msstrided-jl9.327 msjulia-base40.129 mstenferro-direct3.401 ms · 0.60xtenferro-trace4.336 ms · 0.76x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x32x32,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01087 ms)jax-cpu0.01013 mspytorch-cpu0.01087 mstenferro-direct0.00549 ms · 0.51xtenferro-trace0.008285 ms · 0.76x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006642 ms)pytorch-cpu0.006642 msjax-cpu0.007534 mstenferro-direct0.002665 ms · 0.40xtenferro-trace0.00512 ms · 0.77x

rms_norm suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.04453 ms)pytorch-cpu0.04453 msjax-cpu0.08182 mstenferro-direct0.02128 ms · 0.48xtenferro-eager0.03441 ms · 0.77x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01681 ms)pytorch-cpu0.01681 msjax-cpu0.01923 mstenferro-direct0.01101 ms · 0.65xtenferro-trace0.013 ms · 0.77x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004869 ms)pytorch-cpu0.004869 msjax-cpu0.006823 mstenferro-direct0.002204 ms · 0.45xtenferro-trace0.003767 ms · 0.77x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x32x32,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01647 ms)pytorch-cpu0.01647 msjax-cpu0.02003 mstenferro-direct0.008396 ms · 0.51xtenferro-trace0.01276 ms · 0.77x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.07896 ms)pytorch-cpu0.07896 msjax-cpu0.09095 mstenferro-direct0.05917 ms · 0.75xtenferro-trace0.06171 ms · 0.78x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007704 ms)pytorch-cpu0.007704 msjax-cpu0.01763 mstenferro-direct0.003697 ms · 0.48xtenferro-trace0.006081 ms · 0.79x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01281 ms)pytorch-cpu0.01281 msjax-cpu0.03775 mstenferro-direct0.008655 ms · 0.68xtenferro-trace0.01016 ms · 0.79x

log1p suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=4194304 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (3.322 ms)pytorch-cpu3.322 msstrided-jl5.363 msjax-cpu9.277 msjulia-base18.648 mstenferro-direct1.327 ms · 0.40xtenferro-trace2.635 ms · 0.79x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004188 ms)pytorch-cpu0.004188 msjax-cpu0.004829 mstenferro-direct0.001703 ms · 0.41xtenferro-trace0.003326 ms · 0.79x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01485 ms)pytorch-cpu0.01485 msjax-cpu0.02114 mstenferro-direct0.009367 ms · 0.63xtenferro-trace0.01183 ms · 0.80x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004899 ms)pytorch-cpu0.004899 msjax-cpu0.006612 mstenferro-direct0.002345 ms · 0.48xtenferro-trace0.003917 ms · 0.80x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1234 ms)jax-cpu0.1072 mspytorch-cpu0.1234 mstenferro-direct0.09348 ms · 0.76xtenferro-trace0.09877 ms · 0.80x

clamp suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.981 ms)pytorch-cpu6.981 msstrided-jl9.302 msjax-cpu11.192 msjulia-base14.113 mstenferro-direct5.691 ms · 0.82xtenferro-trace5.627 ms · 0.81x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.009457 ms)pytorch-cpu0.009457 msjax-cpu0.01985 mstenferro-direct0.005951 ms · 0.63xtenferro-trace0.007634 ms · 0.81x

reduce_sum_axis0 suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.513 ms)julia-base0.7156 msjax-cpu0.8554 mspytorch-cpu1.513 mstenferro-direct0.3929 ms · 0.26xtenferro-trace1.227 ms · 0.81x

einsum_ij_jk_ik suite=cpu/einsum_concrete / dtype=f64 / threads=8 / shape=1024x1024 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (8.649 ms)jax-cpu7.046 mspytorch-cpu8.649 mstenferro-direct13.680 ms · 1.58x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.3126 ms)jax-cpu0.2891 mspytorch-cpu0.3126 mstenferro-direct0.2524 ms · 0.81xtenferro-trace0.255 ms · 0.82x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003977 ms)pytorch-cpu0.003977 msjax-cpu0.00585 mstenferro-direct0.001704 ms · 0.43xtenferro-trace0.003257 ms · 0.82x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x64x24 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01357 ms)pytorch-cpu0.01357 msjax-cpu0.01915 mstenferro-direct0.009618 ms · 0.71xtenferro-trace0.01113 ms · 0.82x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x64x24 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01655 ms)pytorch-cpu0.01655 msjax-cpu0.02473 mstenferro-direct0.01123 ms · 0.68xtenferro-trace0.01359 ms · 0.82x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1115 ms)jax-cpu0.1002 mspytorch-cpu0.1115 mstenferro-direct0.08356 ms · 0.75xtenferro-trace0.09165 ms · 0.82x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.3437 ms)pytorch-cpu0.3437 msjax-cpu0.4046 mstenferro-direct0.2801 ms · 0.81xtenferro-trace0.2826 ms · 0.82x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005009 ms)pytorch-cpu0.005009 msjax-cpu0.006422 mstenferro-direct0.002504 ms · 0.50xtenferro-trace0.004127 ms · 0.82x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004408 ms)pytorch-cpu0.004408 msjax-cpu0.00539 mstenferro-direct0.001062 ms · 0.24xtenferro-trace0.003637 ms · 0.83x

einsum_ij_jk_ik suite=cpu/einsum_concrete / dtype=f64 / threads=4 / shape=1024x1024 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (9.954 ms)jax-cpu8.219 mspytorch-cpu9.954 mstenferro-direct16.356 ms · 1.64x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.008917 ms)pytorch-cpu0.008917 msjax-cpu0.01429 mstenferro-direct0.005791 ms · 0.65xtenferro-trace0.007374 ms · 0.83x

svd suite=cpu/complex / dtype=c64 / threads=1 / shape=160x160 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (4.096 ms)jax-cpu2.920 msjulia-base2.933 mspytorch-cpu4.096 mstenferro-direct3.401 ms · 0.83xtenferro-trace3.405 ms · 0.83x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004869 ms)pytorch-cpu0.004869 msjax-cpu0.006321 mstenferro-direct0.002425 ms · 0.50xtenferro-trace0.004057 ms · 0.83x

tril suite=cpu/structural_shape / dtype=f64 / threads=4 / shape=4096x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (10.313 ms)pytorch-cpu10.313 msjax-cpu16.439 msjulia-base30.546 mstenferro-direct8.410 ms · 0.82xtenferro-trace8.594 ms · 0.83x

log suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.238 ms)pytorch-cpu6.238 msstrided-jl7.870 msjax-cpu14.793 msjulia-base50.140 mstenferro-direct3.324 ms · 0.53xtenferro-trace5.207 ms · 0.83x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004208 ms)pytorch-cpu0.004208 msjax-cpu0.006732 mstenferro-direct0.002064 ms · 0.49xtenferro-trace0.003517 ms · 0.84x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x64x24 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01026 ms)pytorch-cpu0.01026 msjax-cpu0.01819 mstenferro-direct0.007003 ms · 0.68xtenferro-trace0.008576 ms · 0.84x

cholesky suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=1536x1536 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (10.843 ms)pytorch-cpu10.843 msjulia-base18.720 msjax-cpu32.624 mstenferro-direct7.633 ms · 0.70xtenferro-trace9.066 ms · 0.84x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.008486 ms)pytorch-cpu0.008486 msjax-cpu0.01354 mstenferro-direct0.005521 ms · 0.65xtenferro-trace0.007143 ms · 0.84x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007754 ms)pytorch-cpu0.007754 msjax-cpu0.009968 mstenferro-direct0.003917 ms · 0.51xtenferro-trace0.006552 ms · 0.84x

where_select suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (25.238 ms)pytorch-cpu25.238 msjax-cpu39.216 mstenferro-direct22.147 ms · 0.88xtenferro-eager21.368 ms · 0.85x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01164 ms)pytorch-cpu0.01164 msjax-cpu0.02 mstenferro-direct0.008426 ms · 0.72xtenferro-trace0.009858 ms · 0.85x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.008726 ms)pytorch-cpu0.008726 msjax-cpu0.01189 mstenferro-direct0.004989 ms · 0.57xtenferro-trace0.007393 ms · 0.85x

reduce_prod_axis0 suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.806 ms)julia-base0.8449 msjax-cpu0.9157 mspytorch-cpu1.806 mstenferro-direct0.5403 ms · 0.30xtenferro-trace1.532 ms · 0.85x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00557 ms)pytorch-cpu0.00557 msjax-cpu0.008455 mstenferro-direct0.003106 ms · 0.56xtenferro-trace0.004729 ms · 0.85x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004107 ms)pytorch-cpu0.004107 msjax-cpu0.008816 mstenferro-direct0.000932 ms · 0.23xtenferro-trace0.003506 ms · 0.85x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.08418 ms)pytorch-cpu0.08418 msjax-cpu0.09781 mstenferro-direct0.06711 ms · 0.80xtenferro-trace0.0719 ms · 0.85x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02455 ms)pytorch-cpu0.02455 msjax-cpu0.04272 mstenferro-direct0.01762 ms · 0.72xtenferro-trace0.02098 ms · 0.85x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.6362 ms)pytorch-cpu0.6362 msjax-cpu0.6817 mstenferro-direct0.534 ms · 0.84xtenferro-trace0.5441 ms · 0.86x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.5142 ms)pytorch-cpu0.5142 msjax-cpu0.7521 mstenferro-direct0.4368 ms · 0.85xtenferro-trace0.4398 ms · 0.86x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.3348 ms)pytorch-cpu0.3348 msjax-cpu0.4452 mstenferro-direct0.2821 ms · 0.84xtenferro-trace0.2864 ms · 0.86x

tril suite=cpu/structural_shape / dtype=f64 / threads=8 / shape=4096x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (8.149 ms)pytorch-cpu8.149 msjax-cpu14.867 msjulia-base39.403 mstenferro-direct6.886 ms · 0.85xtenferro-trace6.979 ms · 0.86x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004017 ms)pytorch-cpu0.004017 msjax-cpu0.009006 mstenferro-direct0.000921 ms · 0.23xtenferro-trace0.003447 ms · 0.86x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006212 ms)pytorch-cpu0.006212 msjax-cpu0.009617 mstenferro-direct0.002925 ms · 0.47xtenferro-trace0.00534 ms · 0.86x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00533 ms)pytorch-cpu0.00533 msjax-cpu0.007504 mstenferro-direct0.003045 ms · 0.57xtenferro-trace0.004589 ms · 0.86x

cholesky suite=cpu/complex / dtype=c64 / threads=1 / shape=448x448 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.953 ms)jax-cpu2.531 msjulia-base2.550 mspytorch-cpu2.953 mstenferro-direct2.439 ms · 0.83xtenferro-trace2.546 ms · 0.86x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.964 ms)jax-cpu2.245 mspytorch-cpu2.964 mstenferro-direct2.564 ms · 0.86xtenferro-trace2.556 ms · 0.86x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005601 ms)pytorch-cpu0.005601 msjax-cpu0.008516 mstenferro-direct0.003326 ms · 0.59xtenferro-trace0.004829 ms · 0.86x

select suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (25.502 ms)pytorch-cpu25.502 msjax-cpu38.436 msjulia-base64.819 mstenferro-direct22.672 ms · 0.89xtenferro-trace22.026 ms · 0.86x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00544 ms)pytorch-cpu0.00544 msjax-cpu0.007313 mstenferro-direct0.003165 ms · 0.58xtenferro-trace0.004709 ms · 0.87x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01602 ms)jax-cpu0.01576 mspytorch-cpu0.01602 mstenferro-direct0.01195 ms · 0.75xtenferro-trace0.01388 ms · 0.87x

qr suite=cpu/complex / dtype=c64 / threads=1 / shape=256x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.399 ms)jax-cpu4.320 mspytorch-cpu5.399 msjulia-base5.539 mstenferro-direct4.560 ms · 0.84xtenferro-trace4.676 ms · 0.87x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.008445 ms)pytorch-cpu0.008445 msjax-cpu0.01332 mstenferro-direct0.005681 ms · 0.67xtenferro-trace0.007323 ms · 0.87x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.008656 ms)pytorch-cpu0.008656 msjax-cpu0.01294 mstenferro-direct0.005029 ms · 0.58xtenferro-trace0.007513 ms · 0.87x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004278 ms)pytorch-cpu0.004278 msjax-cpu0.006832 mstenferro-direct0.002204 ms · 0.52xtenferro-trace0.003717 ms · 0.87x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003115 ms)pytorch-cpu0.003115 msjax-cpu0.005339 mstenferro-direct0.001182 ms · 0.38xtenferro-trace0.002715 ms · 0.87x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003997 ms)pytorch-cpu0.003997 msjax-cpu0.01723 mstenferro-direct0.001923 ms · 0.48xtenferro-trace0.003486 ms · 0.87x

triu suite=cpu/structural_shape / dtype=f64 / threads=1 / shape=4096x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (26.642 ms)pytorch-cpu26.642 msjax-cpu27.840 msjulia-base29.781 mstenferro-direct23.664 ms · 0.89xtenferro-trace23.317 ms · 0.88x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006362 ms)pytorch-cpu0.006362 msjax-cpu0.01003 mstenferro-direct0.004038 ms · 0.63xtenferro-trace0.00557 ms · 0.88x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003917 ms)pytorch-cpu0.003917 msjax-cpu0.006742 mstenferro-direct0.001904 ms · 0.49xtenferro-trace0.003437 ms · 0.88x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (23.697 ms)jax-cpu17.749 mspytorch-cpu23.697 mstenferro-direct20.268 ms · 0.86xtenferro-trace20.802 ms · 0.88x

lu suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=1024x1024 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.706 ms)pytorch-cpu6.706 msjax-cpu13.596 msjulia-base14.108 mstenferro-direct5.101 ms · 0.76xtenferro-trace5.888 ms · 0.88x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.08044 ms)jax-cpu0.05626 mspytorch-cpu0.08044 mstenferro-direct0.05995 ms · 0.75xtenferro-trace0.07063 ms · 0.88x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006582 ms)pytorch-cpu0.006582 msjax-cpu0.01723 mstenferro-direct0.003376 ms · 0.51xtenferro-trace0.00578 ms · 0.88x

slogdet suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=1024x1024 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (16.438 ms)julia-base13.374 msjax-cpu14.793 mspytorch-cpu16.438 mstenferro-direct14.669 ms · 0.89xtenferro-trace14.480 ms · 0.88x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004348 ms)pytorch-cpu0.004348 msjax-cpu0.0107 mstenferro-direct0.002074 ms · 0.48xtenferro-trace0.003837 ms · 0.88x

det suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=1024x1024 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (16.416 ms)julia-base13.320 msjax-cpu14.797 mspytorch-cpu16.416 mstenferro-direct14.692 ms · 0.90xtenferro-trace14.511 ms · 0.88x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x128x128,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.06789 ms)pytorch-cpu0.06789 msjax-cpu0.08011 mstenferro-direct0.05665 ms · 0.83xtenferro-trace0.06018 ms · 0.89x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.476 ms)jax-cpu2.280 mspytorch-cpu2.476 mstenferro-direct2.016 ms · 0.81xtenferro-trace2.196 ms · 0.89x

householder_qr suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=256x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.2967 ms)pytorch-cpu0.2967 msjax-cpu0.3449 mstenferro-direct0.2567 ms · 0.87xtenferro-eager0.2636 ms · 0.89x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006212 ms)pytorch-cpu0.006212 msjax-cpu0.009256 mstenferro-direct0.003997 ms · 0.64xtenferro-trace0.00552 ms · 0.89x

rsqrt suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (16.354 ms)pytorch-cpu16.354 msstrided-jl38.835 msjax-cpu45.549 msjulia-base176.818 mstenferro-direct14.792 ms · 0.90xtenferro-trace14.543 ms · 0.89x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003637 ms)pytorch-cpu0.003637 msjax-cpu0.004058 mstenferro-direct0.001122 ms · 0.31xtenferro-trace0.003236 ms · 0.89x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.5868 ms)jax-cpu0.573 mspytorch-cpu0.5868 mstenferro-direct0.5208 ms · 0.89xtenferro-trace0.5221 ms · 0.89x

gelu_tanh suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.0215 ms)pytorch-cpu0.0215 msjax-cpu0.04245 mstenferro-direct0.01943 ms · 0.90xtenferro-eager0.01914 ms · 0.89x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1295 ms)pytorch-cpu0.1295 msjax-cpu0.1301 mstenferro-direct0.1131 ms · 0.87xtenferro-trace0.1154 ms · 0.89x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004158 ms)pytorch-cpu0.004158 msjax-cpu0.007073 mstenferro-direct0.002134 ms · 0.51xtenferro-trace0.003707 ms · 0.89x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01298 ms)pytorch-cpu0.01298 msjax-cpu0.02143 mstenferro-direct0.008967 ms · 0.69xtenferro-trace0.01158 ms · 0.89x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004098 ms)pytorch-cpu0.004098 msjax-cpu0.005701 mstenferro-direct0.001032 ms · 0.25xtenferro-trace0.003657 ms · 0.89x

sub suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (21.036 ms)pytorch-cpu21.036 msjax-cpu31.741 msstrided-jl42.046 msjulia-base81.180 mstenferro-direct19.499 ms · 0.93xtenferro-trace18.772 ms · 0.89x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.009988 ms)pytorch-cpu0.009988 msjax-cpu0.05043 mstenferro-direct0.007333 ms · 0.73xtenferro-trace0.008916 ms · 0.89x

norm_fro suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.7298 ms)pytorch-cpu0.7298 msjulia-base1.625 msjax-cpu9.357 mstenferro-direct0.7779 ms · 1.07xtenferro-trace0.6516 ms · 0.89x

add suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (20.929 ms)pytorch-cpu20.929 msjax-cpu31.735 msstrided-jl41.867 msjulia-base69.502 mstenferro-direct19.388 ms · 0.93xtenferro-trace18.702 ms · 0.89x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x64x24 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.009468 ms)pytorch-cpu0.009468 msjax-cpu0.01551 mstenferro-direct0.006843 ms · 0.72xtenferro-trace0.008476 ms · 0.90x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003928 ms)pytorch-cpu0.003928 msjax-cpu0.01072 mstenferro-direct0.001874 ms · 0.48xtenferro-trace0.003517 ms · 0.90x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003737 ms)pytorch-cpu0.003737 msjax-cpu0.006422 mstenferro-direct0.001853 ms · 0.50xtenferro-trace0.003347 ms · 0.90x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00567 ms)pytorch-cpu0.00567 msjax-cpu0.007994 mstenferro-direct0.003607 ms · 0.64xtenferro-trace0.005089 ms · 0.90x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.009998 ms)pytorch-cpu0.009998 msjax-cpu0.02537 mstenferro-direct0.006642 ms · 0.66xtenferro-trace0.008976 ms · 0.90x

mul suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (20.881 ms)pytorch-cpu20.881 msjax-cpu31.791 msstrided-jl41.527 msjulia-base79.269 mstenferro-direct19.598 ms · 0.94xtenferro-trace18.756 ms · 0.90x

reduce_prod_axis0 suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.458 ms)julia-base0.7019 msjax-cpu0.8501 mspytorch-cpu1.458 mstenferro-direct0.3893 ms · 0.27xtenferro-trace1.311 ms · 0.90x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.07554 ms)pytorch-cpu0.07554 msjax-cpu0.08105 mstenferro-direct0.06625 ms · 0.88xtenferro-trace0.06813 ms · 0.90x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.8519 ms)jax-cpu0.7621 mspytorch-cpu0.8519 mstenferro-direct0.766 ms · 0.90xtenferro-trace0.7689 ms · 0.90x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1105 ms)jax-cpu0.1045 mspytorch-cpu0.1105 mstenferro-direct0.09659 ms · 0.87xtenferro-trace0.09975 ms · 0.90x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007574 ms)pytorch-cpu0.007574 msjax-cpu0.01085 mstenferro-direct0.0053 ms · 0.70xtenferro-trace0.006842 ms · 0.90x

tril suite=cpu/structural_shape / dtype=f64 / threads=1 / shape=4096x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (27.773 ms)pytorch-cpu27.773 msjax-cpu28.062 msjulia-base31.404 mstenferro-direct25.342 ms · 0.91xtenferro-trace25.122 ms · 0.90x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01968 ms)pytorch-cpu0.01968 msjax-cpu0.05352 mstenferro-direct0.01625 ms · 0.83xtenferro-trace0.0178 ms · 0.90x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1816 ms)jax-cpu0.1665 mspytorch-cpu0.1816 mstenferro-direct0.1602 ms · 0.88xtenferro-trace0.1643 ms · 0.90x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007424 ms)pytorch-cpu0.007424 msjax-cpu0.01059 mstenferro-direct0.00512 ms · 0.69xtenferro-trace0.006723 ms · 0.91x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01191 ms)pytorch-cpu0.01191 msjax-cpu0.01616 mstenferro-direct0.009307 ms · 0.78xtenferro-trace0.01081 ms · 0.91x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01209 ms)pytorch-cpu0.01209 msjax-cpu0.01651 mstenferro-direct0.009477 ms · 0.78xtenferro-trace0.01098 ms · 0.91x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004909 ms)pytorch-cpu0.004909 msjax-cpu0.0137 mstenferro-direct0.002104 ms · 0.43xtenferro-trace0.004458 ms · 0.91x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006331 ms)pytorch-cpu0.006331 msjax-cpu0.008916 mstenferro-direct0.004218 ms · 0.67xtenferro-trace0.00576 ms · 0.91x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.009668 ms)pytorch-cpu0.009668 msjax-cpu0.01678 mstenferro-direct0.007173 ms · 0.74xtenferro-trace0.008797 ms · 0.91x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004007 ms)pytorch-cpu0.004007 msjax-cpu0.006412 mstenferro-direct0.002094 ms · 0.52xtenferro-trace0.003647 ms · 0.91x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.403 ms)jax-cpu0.3382 mspytorch-cpu1.403 mstenferro-direct3.018 ms · 2.15xtenferro-trace1.280 ms · 0.91x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003196 ms)pytorch-cpu0.003196 msjax-cpu0.00542 mstenferro-direct0.001372 ms · 0.43xtenferro-trace0.002915 ms · 0.91x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006432 ms)pytorch-cpu0.006432 msjax-cpu0.009918 mstenferro-direct0.004238 ms · 0.66xtenferro-trace0.005871 ms · 0.91x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.305 ms)pytorch-cpu0.305 msjax-cpu0.7252 mstenferro-direct0.2753 ms · 0.90xtenferro-trace0.2787 ms · 0.91x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.9811 ms)jax-cpu0.2755 mspytorch-cpu0.9811 mstenferro-direct0.8881 ms · 0.91xtenferro-trace0.8965 ms · 0.91x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x64x24 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.09981 ms)pytorch-cpu0.09981 msjax-cpu0.102 mstenferro-direct0.08883 ms · 0.89xtenferro-trace0.09125 ms · 0.91x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006112 ms)pytorch-cpu0.006112 msjax-cpu0.008746 mstenferro-direct0.003857 ms · 0.63xtenferro-trace0.00559 ms · 0.91x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01984 ms)pytorch-cpu0.01984 msjax-cpu0.05042 mstenferro-direct0.01647 ms · 0.83xtenferro-trace0.01814 ms · 0.91x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.424 ms)pytorch-cpu2.424 msjax-cpu5.640 mstenferro-direct2.199 ms · 0.91xtenferro-trace2.219 ms · 0.92x

where_select suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (21.421 ms)pytorch-cpu21.421 msjax-cpu36.268 mstenferro-direct20.194 ms · 0.94xtenferro-eager19.625 ms · 0.92x

div suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (20.282 ms)pytorch-cpu20.282 msjax-cpu31.670 msstrided-jl40.324 msjulia-base78.448 mstenferro-direct19.044 ms · 0.94xtenferro-trace18.588 ms · 0.92x

sub suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (22.912 ms)pytorch-cpu22.912 msjax-cpu36.185 msstrided-jl40.762 msjulia-base58.989 mstenferro-direct22.126 ms · 0.97xtenferro-trace21.010 ms · 0.92x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004618 ms)pytorch-cpu0.004618 msjax-cpu0.009527 mstenferro-direct0.001693 ms · 0.37xtenferro-trace0.004237 ms · 0.92x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.0833 ms)jax-cpu0.07756 mspytorch-cpu0.0833 mstenferro-direct0.07521 ms · 0.90xtenferro-trace0.07643 ms · 0.92x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.299 ms)jax-cpu1.164 mspytorch-cpu1.299 mstenferro-direct1.196 ms · 0.92xtenferro-trace1.192 ms · 0.92x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003857 ms)pytorch-cpu0.003857 msjax-cpu0.008756 mstenferro-direct0.000982 ms · 0.25xtenferro-trace0.003546 ms · 0.92x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03104 ms)pytorch-cpu0.03104 msjax-cpu0.0799 mstenferro-direct0.02606 ms · 0.84xtenferro-trace0.02854 ms · 0.92x

mul suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (22.874 ms)pytorch-cpu22.874 msjax-cpu36.814 msstrided-jl39.770 msjulia-base59.090 mstenferro-direct22.120 ms · 0.97xtenferro-trace21.038 ms · 0.92x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002505 ms)pytorch-cpu0.002505 msjax-cpu0.009827 mstenferro-direct0.000631 ms · 0.25xtenferro-trace0.002304 ms · 0.92x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x64x24 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1553 ms)pytorch-cpu0.1553 msjax-cpu0.1778 mstenferro-direct0.1947 ms · 1.25xtenferro-trace0.1429 ms · 0.92x

add suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (22.911 ms)pytorch-cpu22.911 msjax-cpu36.325 msstrided-jl38.333 msjulia-base53.866 mstenferro-direct22.101 ms · 0.96xtenferro-trace21.079 ms · 0.92x

reduce_min_axis1 suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=4096x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.622 ms)julia-base3.614 mspytorch-cpu6.622 msjax-cpu9.896 mstenferro-direct6.080 ms · 0.92xtenferro-trace6.093 ms · 0.92x

dynamic_slice suite=cpu/indexing_layout / dtype=f64 / threads=1 / shape=4194304 -> 2097152 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.6589 ms)pytorch-cpu0.6589 msjax-cpu0.7433 msjulia-base0.7683 mstenferro-direct0.5917 ms · 0.90xtenferro-trace0.6066 ms · 0.92x

neg suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (15.520 ms)pytorch-cpu15.520 msjax-cpu27.101 msstrided-jl35.182 msjulia-base69.935 mstenferro-direct14.595 ms · 0.94xtenferro-trace14.286 ms · 0.92x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003787 ms)pytorch-cpu0.003787 msjax-cpu0.00564 mstenferro-direct0.001944 ms · 0.51xtenferro-trace0.003486 ms · 0.92x

div suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (22.216 ms)pytorch-cpu22.216 msjax-cpu36.445 msstrided-jl41.615 msjulia-base56.280 mstenferro-direct21.155 ms · 0.95xtenferro-trace20.453 ms · 0.92x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004458 ms)pytorch-cpu0.004458 msjax-cpu0.01032 mstenferro-direct0.001513 ms · 0.34xtenferro-trace0.004107 ms · 0.92x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004067 ms)pytorch-cpu0.004067 msjax-cpu0.005511 mstenferro-direct0.001172 ms · 0.29xtenferro-trace0.003747 ms · 0.92x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.04027 ms)pytorch-cpu0.04027 msjax-cpu0.05475 mstenferro-direct0.03539 ms · 0.88xtenferro-trace0.03711 ms · 0.92x

abs suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (15.575 ms)pytorch-cpu15.575 msjax-cpu27.117 msstrided-jl37.607 msjulia-base71.695 mstenferro-direct14.611 ms · 0.94xtenferro-trace14.352 ms · 0.92x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003988 ms)pytorch-cpu0.003988 msjax-cpu0.009117 mstenferro-direct0.001082 ms · 0.27xtenferro-trace0.003677 ms · 0.92x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x64x24 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.06043 ms)pytorch-cpu0.06043 msjax-cpu0.07229 mstenferro-direct0.05393 ms · 0.89xtenferro-trace0.05572 ms · 0.92x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x64x24 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.101 ms)jax-cpu0.09894 mspytorch-cpu0.101 mstenferro-direct0.09073 ms · 0.90xtenferro-trace0.09312 ms · 0.92x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.8897 ms)jax-cpu0.4112 mspytorch-cpu0.8897 mstenferro-direct0.8231 ms · 0.93xtenferro-trace0.8211 ms · 0.92x

pinv_with_rtol suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=512x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (10.985 ms)jax-cpu10.253 msjulia-base10.307 mspytorch-cpu10.985 mstenferro-direct10.380 ms · 0.94xtenferro-trace10.142 ms · 0.92x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01351 ms)pytorch-cpu0.01351 msjax-cpu0.0598 mstenferro-direct0.011 ms · 0.81xtenferro-trace0.01248 ms · 0.92x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007363 ms)pytorch-cpu0.007363 msjax-cpu0.03336 mstenferro-direct0.005209 ms · 0.71xtenferro-trace0.006802 ms · 0.92x

conj suite=cpu/complex / dtype=c64 / threads=8 / shape=16777216 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (16.413 ms)pytorch-cpu16.413 msjax-cpu26.903 msstrided-jl28.469 msjulia-base69.735 mstenferro-direct15.856 ms · 0.97xtenferro-trace15.163 ms · 0.92x

eig suite=cpu/complex / dtype=c64 / threads=1 / shape=112x112 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.089 ms)pytorch-cpu6.089 msjax-cpu6.271 msjulia-base6.967 mstenferro-direct5.623 ms · 0.92xtenferro-trace5.627 ms · 0.92x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01167 ms)pytorch-cpu0.01167 msjax-cpu0.01719 mstenferro-direct0.008456 ms · 0.72xtenferro-trace0.01079 ms · 0.92x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005721 ms)pytorch-cpu0.005721 msjax-cpu0.008075 mstenferro-direct0.003737 ms · 0.65xtenferro-trace0.00529 ms · 0.92x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.009728 ms)pytorch-cpu0.009728 msjax-cpu0.01447 mstenferro-direct0.006622 ms · 0.68xtenferro-trace0.008996 ms · 0.92x

rsqrt suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (19.441 ms)pytorch-cpu19.441 msstrided-jl40.762 msjax-cpu49.565 msjulia-base116.882 mstenferro-direct18.476 ms · 0.95xtenferro-trace17.978 ms · 0.92x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.3033 ms)pytorch-cpu0.3033 msjax-cpu0.3719 mstenferro-direct0.2789 ms · 0.92xtenferro-trace0.2805 ms · 0.92x

masked_log_softmax_axis1 suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = best reference (0.07053 ms)jax-cpu0.07053 mstenferro-direct0.0497 ms · 0.70xtenferro-eager0.06528 ms · 0.93x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01319 ms)pytorch-cpu0.01319 msjax-cpu0.02393 mstenferro-direct0.01071 ms · 0.81xtenferro-trace0.01222 ms · 0.93x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006181 ms)pytorch-cpu0.006181 msjax-cpu0.01023 mstenferro-direct0.003286 ms · 0.53xtenferro-trace0.00573 ms · 0.93x

sign suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (15.874 ms)pytorch-cpu15.874 msjax-cpu29.143 msstrided-jl35.262 msjulia-base74.535 mstenferro-direct15.102 ms · 0.95xtenferro-trace14.726 ms · 0.93x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x128x128,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.5067 ms)pytorch-cpu0.5067 msjax-cpu0.5246 mstenferro-direct0.4498 ms · 0.89xtenferro-trace0.4701 ms · 0.93x

div suite=cpu/complex / dtype=c64 / threads=4 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (15.108 ms)pytorch-cpu15.108 msstrided-jl19.536 msjax-cpu27.092 msjulia-base54.204 mstenferro-direct14.611 ms · 0.97xtenferro-trace14.026 ms · 0.93x

pinv suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=512x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (10.934 ms)jax-cpu10.277 msjulia-base10.305 mspytorch-cpu10.934 mstenferro-direct10.396 ms · 0.95xtenferro-trace10.154 ms · 0.93x

select suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (21.679 ms)pytorch-cpu21.679 msjax-cpu36.462 msjulia-base74.272 mstenferro-direct20.744 ms · 0.96xtenferro-trace20.141 ms · 0.93x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004107 ms)pytorch-cpu0.004107 msjax-cpu0.006642 mstenferro-direct0.002214 ms · 0.54xtenferro-trace0.003817 ms · 0.93x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (10.177 ms)jax-cpu9.267 mspytorch-cpu10.177 mstenferro-direct9.445 ms · 0.93xtenferro-trace9.461 ms · 0.93x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01856 ms)pytorch-cpu0.01856 msjax-cpu0.02593 mstenferro-direct0.01489 ms · 0.80xtenferro-trace0.01726 ms · 0.93x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1158 ms)jax-cpu0.1003 mspytorch-cpu0.1158 mstenferro-direct0.1073 ms · 0.93xtenferro-trace0.1079 ms · 0.93x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003988 ms)pytorch-cpu0.003988 msjax-cpu0.009337 mstenferro-direct0.001172 ms · 0.29xtenferro-trace0.003716 ms · 0.93x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01531 ms)pytorch-cpu0.01531 msjax-cpu0.02674 mstenferro-direct0.01164 ms · 0.76xtenferro-trace0.01427 ms · 0.93x

maximum suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (20.002 ms)pytorch-cpu20.002 msjax-cpu32.035 msstrided-jl42.240 msjulia-base78.189 mstenferro-direct19.343 ms · 0.97xtenferro-trace18.660 ms · 0.93x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01651 ms)pytorch-cpu0.01651 msjax-cpu0.02843 mstenferro-direct0.01397 ms · 0.85xtenferro-trace0.01541 ms · 0.93x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x64x24 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.06222 ms)pytorch-cpu0.06222 msjax-cpu0.0826 mstenferro-direct0.05658 ms · 0.91xtenferro-trace0.05808 ms · 0.93x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.6207 ms)jax-cpu0.184 mspytorch-cpu0.6207 mstenferro-direct0.5812 ms · 0.94xtenferro-trace0.58 ms · 0.93x

householder_qr suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=768x384 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (4.500 ms)pytorch-cpu4.500 msjax-cpu4.951 mstenferro-direct4.142 ms · 0.92xtenferro-eager4.206 ms · 0.93x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005561 ms)pytorch-cpu0.005561 msjax-cpu0.007884 mstenferro-direct0.003677 ms · 0.66xtenferro-trace0.005199 ms · 0.93x

minimum suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (20.010 ms)pytorch-cpu20.010 msjax-cpu32.008 msstrided-jl38.662 msjulia-base72.968 mstenferro-direct19.287 ms · 0.96xtenferro-trace18.715 ms · 0.94x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01689 ms)pytorch-cpu0.01689 msjax-cpu0.06518 mstenferro-direct0.01433 ms · 0.85xtenferro-trace0.01582 ms · 0.94x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.008896 ms)pytorch-cpu0.008896 msjax-cpu0.0208 mstenferro-direct0.00589 ms · 0.66xtenferro-trace0.008335 ms · 0.94x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007163 ms)pytorch-cpu0.007163 msjax-cpu0.01125 mstenferro-direct0.00514 ms · 0.72xtenferro-trace0.006712 ms · 0.94x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005911 ms)pytorch-cpu0.005911 msjax-cpu0.0104 mstenferro-direct0.003156 ms · 0.53xtenferro-trace0.00556 ms · 0.94x

conj suite=cpu/complex / dtype=c64 / threads=4 / shape=16777216 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (18.599 ms)pytorch-cpu18.599 msstrided-jl27.885 msjax-cpu29.292 msjulia-base52.507 mstenferro-direct18.140 ms · 0.98xtenferro-trace17.504 ms · 0.94x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005039 ms)pytorch-cpu0.005039 msjax-cpu0.007443 mstenferro-direct0.003236 ms · 0.64xtenferro-trace0.004749 ms · 0.94x

abs suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (17.751 ms)pytorch-cpu17.751 msjax-cpu31.457 msstrided-jl32.556 msjulia-base47.965 mstenferro-direct17.094 ms · 0.96xtenferro-trace16.731 ms · 0.94x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.2508 ms)pytorch-cpu0.2508 msjax-cpu0.287 mstenferro-direct0.2365 ms · 0.94xtenferro-trace0.2367 ms · 0.94x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03073 ms)pytorch-cpu0.03073 msjax-cpu0.04343 mstenferro-direct0.02751 ms · 0.90xtenferro-trace0.02901 ms · 0.94x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007995 ms)pytorch-cpu0.007995 msjax-cpu0.012 mstenferro-direct0.00513 ms · 0.64xtenferro-trace0.007554 ms · 0.94x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002926 ms)pytorch-cpu0.002926 msjax-cpu0.005389 mstenferro-direct0.001233 ms · 0.42xtenferro-trace0.002765 ms · 0.94x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.155 ms)pytorch-cpu1.155 msjax-cpu1.417 mstenferro-direct1.092 ms · 0.94xtenferro-trace1.092 ms · 0.95x

div suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (57.005 ms)julia-base53.101 mspytorch-cpu57.005 msjax-cpu64.742 msstrided-jl95.174 mstenferro-direct56.094 ms · 0.98xtenferro-trace53.939 ms · 0.95x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02614 ms)pytorch-cpu0.02614 msjax-cpu0.04264 mstenferro-direct0.0222 ms · 0.85xtenferro-trace0.02474 ms · 0.95x

compare_lt suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (12.087 ms)pytorch-cpu12.087 msjulia-base13.557 msjax-cpu14.316 mstenferro-direct11.414 ms · 0.94xtenferro-trace11.446 ms · 0.95x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02083 ms)pytorch-cpu0.02083 msjax-cpu0.04806 mstenferro-direct0.01709 ms · 0.82xtenferro-trace0.01975 ms · 0.95x

embed_diagonal suite=cpu/structural_shape / dtype=f64 / threads=8 / shape=8192 -> 8192x8192 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (22.697 ms)pytorch-cpu22.697 msjax-cpu44.115 msjulia-base136.737 mstenferro-direct21.453 ms · 0.95xtenferro-trace21.533 ms · 0.95x

reduce_sum_all suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.338 ms)julia-base5.756 mspytorch-cpu6.338 msjax-cpu18.811 mstenferro-direct5.935 ms · 0.94xtenferro-trace6.018 ms · 0.95x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002394 ms)pytorch-cpu0.002394 msjax-cpu0.009848 mstenferro-direct0.000602 ms · 0.25xtenferro-trace0.002274 ms · 0.95x

maximum suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (22.488 ms)pytorch-cpu22.488 msjax-cpu34.074 msstrided-jl39.983 msjulia-base57.340 mstenferro-direct21.928 ms · 0.98xtenferro-trace21.365 ms · 0.95x

rsqrt suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (58.964 ms)pytorch-cpu58.964 msjax-cpu94.856 msstrided-jl116.569 msjulia-base116.851 mstenferro-direct56.731 ms · 0.96xtenferro-trace56.029 ms · 0.95x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003797 ms)pytorch-cpu0.003797 msjax-cpu0.00541 mstenferro-direct0.002154 ms · 0.57xtenferro-trace0.003617 ms · 0.95x

minimum suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (22.483 ms)pytorch-cpu22.483 msjax-cpu35.042 msstrided-jl39.474 msjulia-base58.840 mstenferro-direct22.043 ms · 0.98xtenferro-trace21.424 ms · 0.95x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004208 ms)pytorch-cpu0.004208 msjax-cpu0.01053 mstenferro-direct0.001433 ms · 0.34xtenferro-trace0.004017 ms · 0.95x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.816 ms)jax-cpu1.514 mspytorch-cpu1.816 mstenferro-direct1.720 ms · 0.95xtenferro-trace1.733 ms · 0.95x

neg suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (17.624 ms)pytorch-cpu17.624 msjax-cpu30.350 msstrided-jl35.322 msjulia-base51.064 mstenferro-direct16.944 ms · 0.96xtenferro-trace16.825 ms · 0.95x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03003 ms)pytorch-cpu0.03003 msjax-cpu0.04759 mstenferro-direct0.02715 ms · 0.90xtenferro-trace0.02867 ms · 0.95x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002515 ms)pytorch-cpu0.002515 msjax-cpu0.003356 mstenferro-direct0.000732 ms · 0.29xtenferro-trace0.002404 ms · 0.96x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.04758 ms)pytorch-cpu0.04758 msjax-cpu0.07479 mstenferro-direct0.04303 ms · 0.90xtenferro-trace0.04548 ms · 0.96x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01617 ms)pytorch-cpu0.01617 msjax-cpu0.08641 mstenferro-direct0.01378 ms · 0.85xtenferro-trace0.01546 ms · 0.96x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.06752 ms)pytorch-cpu0.06752 msjax-cpu0.1123 mstenferro-direct0.06173 ms · 0.91xtenferro-trace0.06456 ms · 0.96x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.008777 ms)pytorch-cpu0.008777 msjax-cpu0.0121 mstenferro-direct0.005951 ms · 0.68xtenferro-trace0.008396 ms · 0.96x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00523 ms)pytorch-cpu0.00523 msjax-cpu0.01599 mstenferro-direct0.002535 ms · 0.48xtenferro-trace0.005009 ms · 0.96x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003797 ms)pytorch-cpu0.003797 msjax-cpu0.005881 mstenferro-direct0.002104 ms · 0.55xtenferro-trace0.003637 ms · 0.96x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01183 ms)pytorch-cpu0.01183 msjax-cpu0.01515 mstenferro-direct0.009808 ms · 0.83xtenferro-trace0.01135 ms · 0.96x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003706 ms)pytorch-cpu0.003706 msjax-cpu0.006442 mstenferro-direct0.002014 ms · 0.54xtenferro-trace0.003556 ms · 0.96x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01121 ms)pytorch-cpu0.01121 msjax-cpu0.01765 mstenferro-direct0.008225 ms · 0.73xtenferro-trace0.01076 ms · 0.96x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.04301 ms)pytorch-cpu0.04301 msjax-cpu0.0504 mstenferro-direct0.03991 ms · 0.93xtenferro-trace0.0414 ms · 0.96x

sign suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (18.844 ms)pytorch-cpu18.844 msjax-cpu29.157 msstrided-jl34.002 msjulia-base50.033 mstenferro-direct18.098 ms · 0.96xtenferro-trace18.149 ms · 0.96x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002455 ms)pytorch-cpu0.002455 msjax-cpu0.003356 mstenferro-direct0.000671 ms · 0.27xtenferro-trace0.002365 ms · 0.96x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (8.361 ms)pytorch-cpu8.361 msjax-cpu9.594 mstenferro-direct7.632 ms · 0.91xtenferro-trace8.058 ms · 0.96x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.5087 ms)jax-cpu0.2423 mspytorch-cpu0.5087 mstenferro-direct0.4838 ms · 0.95xtenferro-trace0.4904 ms · 0.96x

compare_lt suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (12.112 ms)pytorch-cpu12.112 msjax-cpu13.431 msjulia-base14.577 mstenferro-direct11.645 ms · 0.96xtenferro-trace11.677 ms · 0.96x

eig suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=160x160 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (4.045 ms)jax-cpu3.924 mspytorch-cpu4.045 msjulia-base4.743 mstenferro-direct3.900 ms · 0.96xtenferro-trace3.903 ms · 0.96x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.3222 ms)jax-cpu0.2033 mspytorch-cpu0.3222 mstenferro-direct0.3092 ms · 0.96xtenferro-trace0.3109 ms · 0.96x

svd_full suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=768x384 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (13.712 ms)pytorch-cpu13.712 msjulia-base20.243 msjax-cpu21.115 mstenferro-eager13.233 ms · 0.97xtenferro-trace13.694 ms · 1.00x

div suite=cpu/complex / dtype=c64 / threads=8 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (11.380 ms)pytorch-cpu11.380 msstrided-jl20.663 msjax-cpu21.510 msjulia-base77.617 mstenferro-direct11.630 ms · 1.02xtenferro-trace10.984 ms · 0.97x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004608 ms)pytorch-cpu0.004608 msjax-cpu0.01277 mstenferro-direct0.002134 ms · 0.46xtenferro-trace0.004448 ms · 0.97x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (13.963 ms)pytorch-cpu13.963 msjax-cpu36.143 mstenferro-direct12.961 ms · 0.93xtenferro-trace13.496 ms · 0.97x

add suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (57.687 ms)julia-base53.893 mspytorch-cpu57.687 msjax-cpu70.241 msstrided-jl102.452 mstenferro-direct57.781 ms · 1.00xtenferro-trace55.794 ms · 0.97x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01482 ms)pytorch-cpu0.01482 msjax-cpu0.01818 mstenferro-direct0.01273 ms · 0.86xtenferro-trace0.01435 ms · 0.97x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00555 ms)pytorch-cpu0.00555 msjax-cpu0.007674 mstenferro-direct0.003837 ms · 0.69xtenferro-trace0.00538 ms · 0.97x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005269 ms)pytorch-cpu0.005269 msjax-cpu0.01077 mstenferro-direct0.002425 ms · 0.46xtenferro-trace0.005109 ms · 0.97x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1305 ms)pytorch-cpu0.1305 msjax-cpu0.146 mstenferro-direct0.1249 ms · 0.96xtenferro-trace0.1267 ms · 0.97x

sub suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (57.739 ms)julia-base54.096 mspytorch-cpu57.739 msjax-cpu70.093 msstrided-jl102.455 mstenferro-direct55.707 ms · 0.96xtenferro-trace56.047 ms · 0.97x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.612 ms)pytorch-cpu5.612 msjax-cpu5.736 mstenferro-direct5.427 ms · 0.97xtenferro-trace5.450 ms · 0.97x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.0157 ms)pytorch-cpu0.0157 msjax-cpu0.03423 mstenferro-direct0.01362 ms · 0.87xtenferro-trace0.01525 ms · 0.97x

triu suite=cpu/structural_shape / dtype=f64 / threads=4 / shape=4096x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (8.756 ms)pytorch-cpu8.756 msjax-cpu16.406 msjulia-base30.626 mstenferro-direct8.491 ms · 0.97xtenferro-trace8.506 ms · 0.97x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.501 ms)jax-cpu4.989 mspytorch-cpu5.501 mstenferro-direct5.342 ms · 0.97xtenferro-trace5.347 ms · 0.97x

inv suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=768x768 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (23.517 ms)julia-base17.161 mspytorch-cpu23.517 msjax-cpu24.345 mstenferro-direct22.769 ms · 0.97xtenferro-trace22.865 ms · 0.97x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01157 ms)pytorch-cpu0.01157 msjax-cpu0.01483 mstenferro-direct0.009748 ms · 0.84xtenferro-trace0.01126 ms · 0.97x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (3.496 ms)pytorch-cpu3.496 msjax-cpu4.816 mstenferro-direct3.390 ms · 0.97xtenferro-trace3.403 ms · 0.97x

dot_general_with_conj suite=cpu/complex / dtype=c64 / threads=4 / shape=640x640 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (11.139 ms)julia-base8.775 msjax-cpu10.850 mspytorch-cpu11.139 mstenferro-direct11.729 ms · 1.05x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006201 ms)pytorch-cpu0.006201 msjax-cpu0.01798 mstenferro-direct0.003516 ms · 0.57xtenferro-trace0.006041 ms · 0.97x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.711 ms)pytorch-cpu0.711 msjax-cpu0.7345 mstenferro-direct0.6873 ms · 0.97xtenferro-trace0.694 ms · 0.98x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002073 ms)pytorch-cpu0.002073 msjax-cpu0.003356 mstenferro-direct0.000481 ms · 0.23xtenferro-trace0.002024 ms · 0.98x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02652 ms)pytorch-cpu0.02652 msjax-cpu0.08686 mstenferro-direct0.02439 ms · 0.92xtenferro-trace0.02592 ms · 0.98x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005871 ms)pytorch-cpu0.005871 msjax-cpu0.01491 mstenferro-direct0.003276 ms · 0.56xtenferro-trace0.005741 ms · 0.98x

softmax suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.05008 ms)pytorch-cpu0.05008 msjax-cpu0.1061 mstenferro-direct0.03951 ms · 0.79xtenferro-eager0.04904 ms · 0.98x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.09354 ms)pytorch-cpu0.09354 msjax-cpu0.1146 mstenferro-direct0.08889 ms · 0.95xtenferro-trace0.09171 ms · 0.98x

einsum_ij_jk_ik suite=cpu/einsum_concrete / dtype=f64 / threads=1 / shape=1024x1024 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (30.122 ms)jax-cpu29.537 mspytorch-cpu30.122 mstenferro-direct29.906 ms · 0.99x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01818 ms)pytorch-cpu0.01818 msjax-cpu0.02358 mstenferro-direct0.0154 ms · 0.85xtenferro-trace0.01784 ms · 0.98x

norm_fro suite=cpu/complex / dtype=c64 / threads=1 / shape=2048x1536 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (9.713 ms)julia-base2.430 msjax-cpu8.010 mspytorch-cpu9.713 mstenferro-direct1.041 ms · 0.11xtenferro-trace9.534 ms · 0.98x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1328 ms)pytorch-cpu0.1328 msjax-cpu0.1487 mstenferro-direct0.12 ms · 0.90xtenferro-trace0.1305 ms · 0.98x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (4.557 ms)jax-cpu4.478 mspytorch-cpu4.557 mstenferro-direct4.005 ms · 0.88x

chain_log1p_exp_mul suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=4194304 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (28.954 ms)jax-cpu24.470 mspytorch-cpu28.954 msjulia-base33.428 msstrided-jl36.403 mstenferro-direct9.909 ms · 0.34xtenferro-trace28.479 ms · 0.98x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002765 ms)pytorch-cpu0.002765 msjax-cpu0.01129 mstenferro-direct0.001022 ms · 0.37xtenferro-trace0.002725 ms · 0.99x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1281 ms)pytorch-cpu0.1281 msjax-cpu0.3695 mstenferro-direct0.1232 ms · 0.96xtenferro-trace0.1263 ms · 0.99x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01448 ms)pytorch-cpu0.01448 msjax-cpu0.01831 mstenferro-direct0.01268 ms · 0.88xtenferro-trace0.01429 ms · 0.99x

svd_full suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=768x384 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (31.964 ms)pytorch-cpu31.964 msjulia-base33.091 msjax-cpu33.643 mstenferro-eager31.616 ms · 0.99xtenferro-trace31.543 ms · 0.99x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002394 ms)pytorch-cpu0.002394 msjax-cpu0.009798 mstenferro-direct0.000651 ms · 0.27xtenferro-trace0.002364 ms · 0.99x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.718 ms)jax-cpu0.5067 mspytorch-cpu0.718 mstenferro-direct0.6984 ms · 0.97xtenferro-trace0.709 ms · 0.99x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.2042 ms)pytorch-cpu0.2042 msjax-cpu0.2472 mstenferro-direct0.1974 ms · 0.97xtenferro-trace0.2018 ms · 0.99x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.0057 ms)pytorch-cpu0.0057 msjax-cpu0.008816 mstenferro-direct0.003977 ms · 0.70xtenferro-trace0.005631 ms · 0.99x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006061 ms)pytorch-cpu0.006061 msjax-cpu0.008374 mstenferro-direct0.004288 ms · 0.71xtenferro-trace0.005991 ms · 0.99x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01046 ms)pytorch-cpu0.01046 msjax-cpu0.01219 mstenferro-direct0.008766 ms · 0.84xtenferro-trace0.01034 ms · 0.99x

reduce_prod_all suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.433 ms)pytorch-cpu5.433 msjulia-base6.298 msjax-cpu10.009 mstenferro-direct5.409 ms · 1.00xtenferro-trace5.373 ms · 0.99x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002835 ms)pytorch-cpu0.002835 msjax-cpu0.0104 mstenferro-direct0.001142 ms · 0.40xtenferro-trace0.002805 ms · 0.99x

svd_full suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=768x384 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (18.149 ms)pytorch-cpu18.149 msjax-cpu29.622 msjulia-base30.066 mstenferro-eager17.964 ms · 0.99xtenferro-trace18.164 ms · 1.00x

lu suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=1024x1024 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.826 ms)pytorch-cpu6.826 msjax-cpu15.981 msjulia-base17.400 mstenferro-direct5.198 ms · 0.76xtenferro-trace6.758 ms · 0.99x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004218 ms)pytorch-cpu0.004218 msjax-cpu0.008877 mstenferro-direct0.001693 ms · 0.40xtenferro-trace0.004177 ms · 0.99x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.008936 ms)pytorch-cpu0.008936 msjax-cpu0.02308 mstenferro-direct0.006202 ms · 0.69xtenferro-trace0.008857 ms · 0.99x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003386 ms)pytorch-cpu0.003386 msjax-cpu0.00529 mstenferro-direct0.001853 ms · 0.55xtenferro-trace0.003357 ms · 0.99x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (3.572 ms)jax-cpu2.936 mspytorch-cpu3.572 mstenferro-direct3.414 ms · 0.96xtenferro-trace3.542 ms · 0.99x

embed_diagonal suite=cpu/structural_shape / dtype=f64 / threads=4 / shape=8192 -> 8192x8192 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (27.438 ms)pytorch-cpu27.438 msjax-cpu50.177 msjulia-base100.576 mstenferro-direct27.314 ms · 1.00xtenferro-trace27.249 ms · 0.99x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02283 ms)pytorch-cpu0.02283 msjax-cpu0.029 mstenferro-direct0.02019 ms · 0.88xtenferro-trace0.02268 ms · 0.99x

reduce_prod_all suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.921 ms)julia-base5.723 mspytorch-cpu5.921 msjax-cpu18.801 mstenferro-direct5.980 ms · 1.01xtenferro-trace5.883 ms · 0.99x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.6619 ms)pytorch-cpu0.6619 msjax-cpu1.035 mstenferro-direct0.6471 ms · 0.98xtenferro-trace0.6578 ms · 0.99x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02473 ms)pytorch-cpu0.02473 msjax-cpu0.06523 mstenferro-direct0.02184 ms · 0.88xtenferro-trace0.02458 ms · 0.99x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00569 ms)pytorch-cpu0.00569 msjax-cpu0.007434 mstenferro-direct0.004128 ms · 0.73xtenferro-trace0.005661 ms · 0.99x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.008626 ms)pytorch-cpu0.008626 msjax-cpu0.01323 mstenferro-direct0.006092 ms · 0.71xtenferro-trace0.008586 ms · 1.00x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002445 ms)pytorch-cpu0.002445 msjax-cpu0.003436 mstenferro-direct0.000771 ms · 0.32xtenferro-trace0.002434 ms · 1.00x

eig suite=cpu/complex / dtype=c64 / threads=4 / shape=112x112 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.237 ms)pytorch-cpu5.237 msjulia-base6.343 msjax-cpu6.999 mstenferro-direct5.184 ms · 0.99xtenferro-trace5.215 ms · 1.00x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002965 ms)pytorch-cpu0.002965 msjax-cpu0.00526 mstenferro-direct0.001362 ms · 0.46xtenferro-trace0.002956 ms · 1.00x

mul suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (56.197 ms)julia-base55.384 mspytorch-cpu56.197 msjax-cpu70.393 msstrided-jl101.466 mstenferro-direct56.975 ms · 1.01xtenferro-trace56.043 ms · 1.00x

solve suite=cpu/complex / dtype=c64 / threads=1 / shape=384x384,rhs=8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (3.190 ms)julia-base3.062 msjax-cpu3.123 mspytorch-cpu3.190 mstenferro-direct3.146 ms · 0.99xtenferro-trace3.182 ms · 1.00x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.05088 ms)pytorch-cpu0.05088 msjax-cpu0.07021 mstenferro-direct0.04773 ms · 0.94xtenferro-trace0.05087 ms · 1.00x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.001993 ms)pytorch-cpu0.001993 msjax-cpu0.003386 mstenferro-direct0.000471 ms · 0.24xtenferro-trace0.001994 ms · 1.00x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.0106 ms)pytorch-cpu0.0106 msjax-cpu0.03581 mstenferro-direct0.009056 ms · 0.85xtenferro-trace0.01061 ms · 1.00x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006843 ms)pytorch-cpu0.006843 msjax-cpu0.008946 mstenferro-direct0.00528 ms · 0.77xtenferro-trace0.006852 ms · 1.00x

mul suite=cpu/complex / dtype=c64 / threads=8 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (10.397 ms)pytorch-cpu10.397 msjax-cpu16.757 msstrided-jl19.413 msjulia-base39.671 mstenferro-direct10.624 ms · 1.02xtenferro-trace10.412 ms · 1.00x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.5753 ms)pytorch-cpu0.5753 msjax-cpu0.5764 mstenferro-direct0.5033 ms · 0.87x

conj suite=cpu/complex / dtype=c64 / threads=1 / shape=16777216 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (46.428 ms)pytorch-cpu46.428 msjulia-base51.708 msjax-cpu54.619 msstrided-jl59.576 mstenferro-direct46.554 ms · 1.00xtenferro-trace46.547 ms · 1.00x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00577 ms)pytorch-cpu0.00577 msjax-cpu0.02217 mstenferro-direct0.004258 ms · 0.74xtenferro-trace0.00579 ms · 1.00x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.4591 ms)pytorch-cpu0.4591 msjax-cpu0.544 mstenferro-direct0.4615 ms · 1.01xtenferro-trace0.4615 ms · 1.01x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.0408 ms)pytorch-cpu0.0408 msjax-cpu0.05988 mstenferro-direct0.03849 ms · 0.94xtenferro-trace0.04108 ms · 1.01x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01185 ms)pytorch-cpu0.01185 msjax-cpu0.01391 mstenferro-direct0.01021 ms · 0.86xtenferro-trace0.01194 ms · 1.01x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01198 ms)pytorch-cpu0.01198 msjax-cpu0.03531 mstenferro-direct0.009497 ms · 0.79xtenferro-trace0.01207 ms · 1.01x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004868 ms)pytorch-cpu0.004868 msjax-cpu0.007754 mstenferro-direct0.003366 ms · 0.69xtenferro-trace0.004909 ms · 1.01x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.05711 ms)pytorch-cpu0.05711 msjax-cpu0.06908 mstenferro-direct0.05606 ms · 0.98xtenferro-trace0.05759 ms · 1.01x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006973 ms)pytorch-cpu0.006973 msjax-cpu0.008966 mstenferro-direct0.005429 ms · 0.78xtenferro-trace0.007033 ms · 1.01x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.4392 ms)pytorch-cpu0.4392 msjax-cpu0.4883 mstenferro-direct0.4421 ms · 1.01xtenferro-trace0.4431 ms · 1.01x

embed_diagonal suite=cpu/structural_shape / dtype=f64 / threads=1 / shape=8192 -> 8192x8192 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (86.284 ms)pytorch-cpu86.284 msjulia-base101.492 msjax-cpu113.951 mstenferro-direct87.134 ms · 1.01xtenferro-trace87.123 ms · 1.01x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00551 ms)pytorch-cpu0.00551 msjax-cpu0.008495 mstenferro-direct0.003827 ms · 0.69xtenferro-trace0.005571 ms · 1.01x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.05988 ms)pytorch-cpu0.05988 msjax-cpu0.06678 mstenferro-direct0.05887 ms · 0.98xtenferro-trace0.06058 ms · 1.01x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02577 ms)pytorch-cpu0.02577 msjax-cpu0.03603 mstenferro-direct0.0244 ms · 0.95xtenferro-trace0.02608 ms · 1.01x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.009518 ms)pytorch-cpu0.009518 msjax-cpu0.02247 mstenferro-direct0.006922 ms · 0.73xtenferro-trace0.009648 ms · 1.01x

minimum suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (57.661 ms)pytorch-cpu57.661 msjulia-base58.996 msjax-cpu60.260 msstrided-jl104.245 mstenferro-direct61.866 ms · 1.07xtenferro-trace58.475 ms · 1.01x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002104 ms)pytorch-cpu0.002104 msjax-cpu0.003466 mstenferro-direct0.000541 ms · 0.26xtenferro-trace0.002134 ms · 1.01x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003467 ms)pytorch-cpu0.003467 msjax-cpu0.01284 mstenferro-direct0.001964 ms · 0.57xtenferro-trace0.003517 ms · 1.01x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006061 ms)pytorch-cpu0.006061 msjax-cpu0.008345 mstenferro-direct0.004448 ms · 0.73xtenferro-trace0.006151 ms · 1.01x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01627 ms)pytorch-cpu0.01627 msjax-cpu0.0191 mstenferro-direct0.01399 ms · 0.86xtenferro-trace0.01652 ms · 1.02x

sign suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (51.662 ms)julia-base50.209 mspytorch-cpu51.662 msjax-cpu60.087 msstrided-jl89.138 mstenferro-direct51.505 ms · 1.00xtenferro-trace52.460 ms · 1.02x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002425 ms)pytorch-cpu0.002425 msjax-cpu0.003426 mstenferro-direct0.000721 ms · 0.30xtenferro-trace0.002464 ms · 1.02x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01861 ms)pytorch-cpu0.01861 msjax-cpu0.02218 mstenferro-direct0.01634 ms · 0.88xtenferro-trace0.01892 ms · 1.02x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00542 ms)pytorch-cpu0.00542 msjax-cpu0.01405 mstenferro-direct0.003026 ms · 0.56xtenferro-trace0.00551 ms · 1.02x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (4.732 ms)jax-cpu2.202 mspytorch-cpu4.732 mstenferro-direct4.807 ms · 1.02xtenferro-trace4.819 ms · 1.02x

abs suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (46.327 ms)pytorch-cpu46.327 msjulia-base46.937 msjax-cpu55.931 msstrided-jl87.355 mstenferro-direct46.078 ms · 0.99xtenferro-trace47.237 ms · 1.02x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006262 ms)pytorch-cpu0.006262 msjax-cpu0.009798 mstenferro-direct0.004729 ms · 0.76xtenferro-trace0.006391 ms · 1.02x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002434 ms)pytorch-cpu0.002434 msjax-cpu0.003567 mstenferro-direct0.000781 ms · 0.32xtenferro-trace0.002485 ms · 1.02x

dynamic_update_slice suite=cpu/indexing_layout / dtype=f64 / threads=1 / shape=2097152 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.9552 ms)pytorch-cpu0.9552 msjax-cpu0.9761 msjulia-base2.547 mstenferro-direct0.9797 ms · 1.03x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004438 ms)pytorch-cpu0.004438 msjax-cpu0.008856 mstenferro-direct0.001953 ms · 0.44xtenferro-trace0.004538 ms · 1.02x

maximum suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (57.734 ms)pytorch-cpu57.734 msjulia-base58.489 msjax-cpu60.213 msstrided-jl104.418 mstenferro-direct60.526 ms · 1.05xtenferro-trace59.061 ms · 1.02x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002986 ms)pytorch-cpu0.002986 msjax-cpu0.008966 mstenferro-direct0.001423 ms · 0.48xtenferro-trace0.003055 ms · 1.02x

eigvals suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=192x192 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (4.482 ms)pytorch-cpu4.482 msjax-cpu4.697 msjulia-base6.093 mstenferro-direct4.574 ms · 1.02xtenferro-trace4.586 ms · 1.02x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007714 ms)pytorch-cpu0.007714 msjax-cpu0.01388 mstenferro-direct0.006221 ms · 0.81xtenferro-trace0.007905 ms · 1.02x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007975 ms)pytorch-cpu0.007975 msjax-cpu0.0248 mstenferro-direct0.005601 ms · 0.70xtenferro-trace0.008175 ms · 1.03x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (3.005 ms)pytorch-cpu3.005 msjax-cpu3.363 mstenferro-direct3.065 ms · 1.02xtenferro-trace3.081 ms · 1.03x

tensordot suite=cpu/complex / dtype=c64 / threads=1 / shape=640x640 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (30.248 ms)pytorch-cpu30.248 msjulia-base31.477 msjax-cpu36.879 mstenferro-direct31.142 ms · 1.03xtenferro-trace31.024 ms · 1.03x

tensordot suite=cpu/complex / dtype=c64 / threads=8 / shape=640x640 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.911 ms)julia-base6.683 mspytorch-cpu6.911 msjax-cpu8.317 mstenferro-direct7.628 ms · 1.10xtenferro-trace7.092 ms · 1.03x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003717 ms)pytorch-cpu0.003717 msjax-cpu0.01596 mstenferro-direct0.002244 ms · 0.60xtenferro-trace0.003817 ms · 1.03x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007013 ms)pytorch-cpu0.007013 msjax-cpu0.01309 mstenferro-direct0.004598 ms · 0.66xtenferro-trace0.007203 ms · 1.03x

exp suite=cpu/complex / dtype=c64 / threads=4 / shape=4194304 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (14.342 ms)strided-jl12.147 mspytorch-cpu14.342 msjax-cpu22.667 msjulia-base36.585 mstenferro-direct10.553 ms · 0.74xtenferro-trace14.741 ms · 1.03x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003176 ms)pytorch-cpu0.003176 msjax-cpu0.006112 mstenferro-direct0.001673 ms · 0.53xtenferro-trace0.003266 ms · 1.03x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002104 ms)pytorch-cpu0.002104 msjax-cpu0.003516 mstenferro-direct0.000631 ms · 0.30xtenferro-trace0.002164 ms · 1.03x

concatenate suite=cpu/indexing_layout / dtype=f64 / threads=1 / shape=1048576+1048576 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.6758 ms)pytorch-cpu0.6758 msjax-cpu0.7042 msjulia-base2.996 mstenferro-direct0.7078 ms · 1.05xtenferro-trace0.6961 ms · 1.03x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005791 ms)pytorch-cpu0.005791 msjax-cpu0.01419 mstenferro-direct0.003526 ms · 0.61xtenferro-trace0.005971 ms · 1.03x

dot_general suite=cpu/complex / dtype=c64 / threads=1 / shape=640x640 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (30.198 ms)pytorch-cpu30.198 msjulia-base32.319 msjax-cpu36.868 mstenferro-direct31.076 ms · 1.03xtenferro-trace31.139 ms · 1.03x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.008926 ms)pytorch-cpu0.008926 msjax-cpu0.02013 mstenferro-direct0.006622 ms · 0.74xtenferro-trace0.009207 ms · 1.03x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.5806 ms)pytorch-cpu0.5806 msjax-cpu0.599 mstenferro-direct0.5097 ms · 0.88x

neg suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (47.070 ms)pytorch-cpu47.070 msjulia-base48.259 msjax-cpu49.140 msstrided-jl86.884 mstenferro-direct45.855 ms · 0.97xtenferro-trace48.575 ms · 1.03x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002795 ms)pytorch-cpu0.002795 msjax-cpu0.01554 mstenferro-direct0.001293 ms · 0.46xtenferro-trace0.002885 ms · 1.03x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.6482 ms)jax-cpu0.4872 mspytorch-cpu0.6482 mstenferro-direct0.6594 ms · 1.02xtenferro-trace0.6691 ms · 1.03x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02345 ms)pytorch-cpu0.02345 msjax-cpu0.0238 mstenferro-direct0.02269 ms · 0.97xtenferro-trace0.02423 ms · 1.03x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.982 ms)jax-cpu0.5829 mspytorch-cpu0.982 mstenferro-direct1.006 ms · 1.02xtenferro-trace1.015 ms · 1.03x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01069 ms)pytorch-cpu0.01069 msjax-cpu0.02234 mstenferro-direct0.008476 ms · 0.79xtenferro-trace0.01106 ms · 1.03x

tensordot suite=cpu/complex / dtype=c64 / threads=4 / shape=640x640 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (10.711 ms)julia-base8.341 msjax-cpu10.391 mspytorch-cpu10.711 mstenferro-direct11.080 ms · 1.03xtenferro-trace11.088 ms · 1.04x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03799 ms)pytorch-cpu0.03799 msjax-cpu0.04358 mstenferro-direct0.03703 ms · 0.97xtenferro-trace0.03933 ms · 1.04x

chain_log1p_exp_mul suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=4194304 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (13.536 ms)strided-jl12.742 msjax-cpu12.747 mspytorch-cpu13.536 msjulia-base52.281 mstenferro-direct5.783 ms · 0.43xtenferro-trace14.034 ms · 1.04x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00536 ms)pytorch-cpu0.00536 msjax-cpu0.008325 mstenferro-direct0.003958 ms · 0.74xtenferro-trace0.00556 ms · 1.04x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002354 ms)pytorch-cpu0.002354 msjax-cpu0.003847 mstenferro-direct0.000882 ms · 0.37xtenferro-trace0.002444 ms · 1.04x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002565 ms)pytorch-cpu0.002565 msjax-cpu0.003837 mstenferro-direct0.000941 ms · 0.37xtenferro-trace0.002664 ms · 1.04x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002564 ms)pytorch-cpu0.002564 msjax-cpu0.004979 mstenferro-direct0.001112 ms · 0.43xtenferro-trace0.002664 ms · 1.04x

dot_general suite=cpu/complex / dtype=c64 / threads=4 / shape=640x640 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (10.650 ms)julia-base8.558 msjax-cpu10.405 mspytorch-cpu10.650 mstenferro-direct11.089 ms · 1.04xtenferro-trace11.074 ms · 1.04x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.255 ms)pytorch-cpu0.255 msjax-cpu0.3638 mstenferro-direct0.2654 ms · 1.04xtenferro-trace0.2655 ms · 1.04x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.482 ms)pytorch-cpu2.482 msjax-cpu3.085 mstenferro-direct2.240 ms · 0.90xtenferro-trace2.584 ms · 1.04x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004368 ms)pytorch-cpu0.004368 msjax-cpu0.008636 mstenferro-direct0.002044 ms · 0.47xtenferro-trace0.004548 ms · 1.04x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005089 ms)pytorch-cpu0.005089 msjax-cpu0.0276 mstenferro-direct0.003686 ms · 0.72xtenferro-trace0.0053 ms · 1.04x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03044 ms)jax-cpu0.02986 mspytorch-cpu0.03044 mstenferro-direct0.03018 ms · 0.99xtenferro-trace0.03175 ms · 1.04x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003236 ms)pytorch-cpu0.003236 msjax-cpu0.0054 mstenferro-direct0.001623 ms · 0.50xtenferro-trace0.003376 ms · 1.04x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002074 ms)pytorch-cpu0.002074 msjax-cpu0.003406 mstenferro-direct0.000561 ms · 0.27xtenferro-trace0.002164 ms · 1.04x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002465 ms)pytorch-cpu0.002465 msjax-cpu0.008325 mstenferro-direct0.000972 ms · 0.39xtenferro-trace0.002575 ms · 1.04x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004478 ms)pytorch-cpu0.004478 msjax-cpu0.008366 mstenferro-direct0.003045 ms · 0.68xtenferro-trace0.004678 ms · 1.04x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02291 ms)pytorch-cpu0.02291 msjax-cpu0.02339 mstenferro-direct0.02228 ms · 0.97xtenferro-trace0.02395 ms · 1.05x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x32x32,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03596 ms)pytorch-cpu0.03596 msjax-cpu0.04298 mstenferro-direct0.03529 ms · 0.98xtenferro-trace0.03758 ms · 1.05x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.009899 ms)pytorch-cpu0.009899 msjax-cpu0.01181 mstenferro-direct0.008676 ms · 0.88xtenferro-trace0.01036 ms · 1.05x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01559 ms)pytorch-cpu0.01559 msjax-cpu0.01824 mstenferro-direct0.01376 ms · 0.88xtenferro-trace0.01632 ms · 1.05x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03627 ms)pytorch-cpu0.03627 msjax-cpu0.03725 mstenferro-direct0.03515 ms · 0.97xtenferro-trace0.03799 ms · 1.05x

log1p suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=4194304 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.836 ms)pytorch-cpu2.836 msstrided-jl4.480 msjax-cpu8.525 msjulia-base29.044 mstenferro-direct1.738 ms · 0.61xtenferro-trace2.971 ms · 1.05x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.762 ms)pytorch-cpu1.762 msjax-cpu1.999 mstenferro-direct1.625 ms · 0.92xtenferro-trace1.850 ms · 1.05x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01109 ms)pytorch-cpu0.01109 msjax-cpu0.01376 mstenferro-direct0.009988 ms · 0.90xtenferro-trace0.01165 ms · 1.05x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.05869 ms)jax-cpu0.05407 mspytorch-cpu0.05869 mstenferro-direct0.06055 ms · 1.03xtenferro-trace0.06177 ms · 1.05x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02818 ms)pytorch-cpu0.02818 msjax-cpu0.02877 mstenferro-direct0.02805 ms · 1.00xtenferro-trace0.02969 ms · 1.05x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02983 ms)pytorch-cpu0.02983 msjax-cpu0.0299 mstenferro-direct0.02973 ms · 1.00xtenferro-trace0.03145 ms · 1.05x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007203 ms)pytorch-cpu0.007203 msjax-cpu0.01327 mstenferro-direct0.005991 ms · 0.83xtenferro-trace0.007604 ms · 1.06x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01194 ms)pytorch-cpu0.01194 msjax-cpu0.01362 mstenferro-direct0.01067 ms · 0.89xtenferro-trace0.01261 ms · 1.06x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.04697 ms)pytorch-cpu0.04697 msjax-cpu0.04788 mstenferro-direct0.04702 ms · 1.00xtenferro-trace0.04961 ms · 1.06x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01047 ms)pytorch-cpu0.01047 msjax-cpu0.01247 mstenferro-direct0.009528 ms · 0.91xtenferro-trace0.01107 ms · 1.06x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.04443 ms)pytorch-cpu0.04443 msjax-cpu0.04587 mstenferro-direct0.04421 ms · 1.00xtenferro-trace0.04701 ms · 1.06x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002234 ms)pytorch-cpu0.002234 msjax-cpu0.003857 mstenferro-direct0.000792 ms · 0.35xtenferro-trace0.002365 ms · 1.06x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006292 ms)pytorch-cpu0.006292 msjax-cpu0.009627 mstenferro-direct0.004859 ms · 0.77xtenferro-trace0.006662 ms · 1.06x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03683 ms)pytorch-cpu0.03683 msjax-cpu0.03707 mstenferro-direct0.03734 ms · 1.01xtenferro-trace0.03901 ms · 1.06x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01058 ms)pytorch-cpu0.01058 msjax-cpu0.01206 mstenferro-direct0.009648 ms · 0.91xtenferro-trace0.01122 ms · 1.06x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.001954 ms)pytorch-cpu0.001954 msjax-cpu0.003306 mstenferro-direct0.000711 ms · 0.36xtenferro-trace0.002074 ms · 1.06x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01741 ms)pytorch-cpu0.01741 msjax-cpu0.02108 mstenferro-direct0.01579 ms · 0.91xtenferro-trace0.01848 ms · 1.06x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002084 ms)pytorch-cpu0.002084 msjax-cpu0.003566 mstenferro-direct0.000631 ms · 0.30xtenferro-trace0.002214 ms · 1.06x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006902 ms)pytorch-cpu0.006902 msjax-cpu0.02066 mstenferro-direct0.004758 ms · 0.69xtenferro-trace0.007333 ms · 1.06x

clamp suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.376 ms)pytorch-cpu6.376 msjax-cpu9.723 msstrided-jl10.957 msjulia-base17.584 mstenferro-direct6.108 ms · 0.96xtenferro-trace6.780 ms · 1.06x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007594 ms)pytorch-cpu0.007594 msjax-cpu0.01076 mstenferro-direct0.006412 ms · 0.84xtenferro-trace0.008075 ms · 1.06x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01184 ms)pytorch-cpu0.01184 msjax-cpu0.01678 mstenferro-direct0.01006 ms · 0.85xtenferro-trace0.01259 ms · 1.06x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002014 ms)pytorch-cpu0.002014 msjax-cpu0.003476 mstenferro-direct0.000571 ms · 0.28xtenferro-trace0.002144 ms · 1.06x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.009328 ms)pytorch-cpu0.009328 msjax-cpu0.01364 mstenferro-direct0.008276 ms · 0.89xtenferro-trace0.009939 ms · 1.07x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00543 ms)pytorch-cpu0.00543 msjax-cpu0.01636 mstenferro-direct0.003166 ms · 0.58xtenferro-trace0.005791 ms · 1.07x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.05788 ms)pytorch-cpu0.05788 msjax-cpu0.0586 mstenferro-direct0.05921 ms · 1.02xtenferro-trace0.06174 ms · 1.07x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.05748 ms)pytorch-cpu0.05748 msjax-cpu0.05815 mstenferro-direct0.05963 ms · 1.04xtenferro-trace0.06133 ms · 1.07x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01216 ms)pytorch-cpu0.01216 msjax-cpu0.01421 mstenferro-direct0.01136 ms · 0.93xtenferro-trace0.01298 ms · 1.07x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.009938 ms)pytorch-cpu0.009938 msjax-cpu0.01195 mstenferro-direct0.008916 ms · 0.90xtenferro-trace0.01062 ms · 1.07x

log_softmax suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.04596 ms)pytorch-cpu0.04596 msjax-cpu0.1071 mstenferro-direct0.04229 ms · 0.92xtenferro-eager0.04912 ms · 1.07x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.0112 ms)pytorch-cpu0.0112 msjax-cpu0.01325 mstenferro-direct0.01024 ms · 0.91xtenferro-trace0.01197 ms · 1.07x

mul suite=cpu/complex / dtype=c64 / threads=1 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (32.575 ms)pytorch-cpu32.575 msjulia-base32.877 msjax-cpu38.019 msstrided-jl39.247 mstenferro-direct34.618 ms · 1.06xtenferro-trace34.822 ms · 1.07x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00507 ms)pytorch-cpu0.00507 msjax-cpu0.009819 mstenferro-direct0.002786 ms · 0.55xtenferro-trace0.00542 ms · 1.07x

reduce_sum_all suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.296 ms)pytorch-cpu5.296 msjulia-base6.241 msjax-cpu9.597 mstenferro-direct5.298 ms · 1.00xtenferro-trace5.666 ms · 1.07x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.06914 ms)pytorch-cpu0.06914 msjax-cpu0.07154 mstenferro-direct0.07229 ms · 1.05xtenferro-trace0.07398 ms · 1.07x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.09052 ms)pytorch-cpu0.09052 msjax-cpu0.1416 mstenferro-direct0.09405 ms · 1.04xtenferro-trace0.09695 ms · 1.07x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.575 ms)pytorch-cpu1.575 msjax-cpu3.376 mstenferro-direct1.675 ms · 1.06xtenferro-trace1.690 ms · 1.07x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.103 ms)pytorch-cpu0.103 msjax-cpu0.168 mstenferro-direct0.1088 ms · 1.06xtenferro-trace0.1105 ms · 1.07x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01447 ms)pytorch-cpu0.01447 msjax-cpu0.02134 mstenferro-direct0.01301 ms · 0.90xtenferro-trace0.01555 ms · 1.07x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.009608 ms)pytorch-cpu0.009608 msjax-cpu0.02567 mstenferro-direct0.007594 ms · 0.79xtenferro-trace0.01033 ms · 1.08x

mul suite=cpu/complex / dtype=c64 / threads=4 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (11.812 ms)pytorch-cpu11.812 msstrided-jl16.097 msjax-cpu19.386 msjulia-base30.778 mstenferro-direct13.288 ms · 1.12xtenferro-trace12.702 ms · 1.08x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02857 ms)jax-cpu0.02837 mspytorch-cpu0.02857 mstenferro-direct0.02901 ms · 1.02xtenferro-trace0.03073 ms · 1.08x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.9085 ms)pytorch-cpu0.9085 msjax-cpu0.9778 mstenferro-direct0.7784 ms · 0.86x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004428 ms)pytorch-cpu0.004428 msjax-cpu0.008075 mstenferro-direct0.003096 ms · 0.70xtenferro-trace0.004768 ms · 1.08x

reduce_min_all suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.392 ms)pytorch-cpu5.392 msjulia-base11.889 msjax-cpu20.615 mstenferro-direct5.327 ms · 0.99xtenferro-trace5.808 ms · 1.08x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.484 ms)jax-cpu2.194 mspytorch-cpu2.484 mstenferro-direct2.663 ms · 1.07xtenferro-trace2.677 ms · 1.08x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003466 ms)pytorch-cpu0.003466 msjax-cpu0.006542 mstenferro-direct0.002094 ms · 0.60xtenferro-trace0.003737 ms · 1.08x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03734 ms)jax-cpu0.0366 mspytorch-cpu0.03734 mstenferro-direct0.03837 ms · 1.03xtenferro-trace0.0403 ms · 1.08x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1088 ms)pytorch-cpu0.1088 msjax-cpu0.114 mstenferro-direct0.1141 ms · 1.05xtenferro-trace0.1175 ms · 1.08x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.06996 ms)jax-cpu0.06792 mspytorch-cpu0.06996 mstenferro-direct0.07403 ms · 1.06xtenferro-trace0.07558 ms · 1.08x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004067 ms)pytorch-cpu0.004067 msjax-cpu0.008374 mstenferro-direct0.002845 ms · 0.70xtenferro-trace0.004398 ms · 1.08x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01371 ms)pytorch-cpu0.01371 msjax-cpu0.01627 mstenferro-direct0.01305 ms · 0.95xtenferro-trace0.01484 ms · 1.08x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004438 ms)pytorch-cpu0.004438 msjax-cpu0.01455 mstenferro-direct0.002225 ms · 0.50xtenferro-trace0.004809 ms · 1.08x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004659 ms)pytorch-cpu0.004659 msjax-cpu0.009467 mstenferro-direct0.003496 ms · 0.75xtenferro-trace0.005049 ms · 1.08x

eig suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=160x160 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.773 ms)pytorch-cpu5.773 msjulia-base6.171 msjax-cpu6.380 mstenferro-direct5.822 ms · 1.01xtenferro-trace6.258 ms · 1.08x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (11.518 ms)jax-cpu2.606 mspytorch-cpu11.518 mstenferro-direct12.454 ms · 1.08xtenferro-trace12.486 ms · 1.08x

eig suite=cpu/complex / dtype=c64 / threads=8 / shape=112x112 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (7.821 ms)pytorch-cpu7.821 msjax-cpu10.016 msjulia-base10.057 mstenferro-direct7.759 ms · 0.99xtenferro-trace8.485 ms · 1.08x

dot_general suite=cpu/complex / dtype=c64 / threads=8 / shape=640x640 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.877 ms)pytorch-cpu6.877 msjulia-base6.932 msjax-cpu8.807 mstenferro-direct13.668 ms · 1.99xtenferro-trace7.469 ms · 1.09x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01893 ms)pytorch-cpu0.01893 msjax-cpu0.03735 mstenferro-direct0.01787 ms · 0.94xtenferro-trace0.02056 ms · 1.09x

cholesky suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=1536x1536 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (8.433 ms)pytorch-cpu8.433 msjulia-base27.125 msjax-cpu42.707 mstenferro-direct7.347 ms · 0.87xtenferro-trace9.164 ms · 1.09x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01222 ms)pytorch-cpu0.01222 msjax-cpu0.04109 mstenferro-direct0.01154 ms · 0.94xtenferro-trace0.01328 ms · 1.09x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (7.280 ms)jax-cpu6.302 mspytorch-cpu7.280 mstenferro-direct7.903 ms · 1.09xtenferro-trace7.917 ms · 1.09x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.009247 ms)pytorch-cpu0.009247 msjax-cpu0.04087 mstenferro-direct0.008375 ms · 0.91xtenferro-trace0.01006 ms · 1.09x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01616 ms)pytorch-cpu0.01616 msjax-cpu0.03288 mstenferro-direct0.01506 ms · 0.93xtenferro-trace0.01758 ms · 1.09x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (13.291 ms)jax-cpu3.231 mspytorch-cpu13.291 mstenferro-direct14.446 ms · 1.09xtenferro-trace14.469 ms · 1.09x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02147 ms)pytorch-cpu0.02147 msjax-cpu0.02622 mstenferro-direct0.02067 ms · 0.96xtenferro-trace0.02339 ms · 1.09x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01391 ms)pytorch-cpu0.01391 msjax-cpu0.01596 mstenferro-direct0.01333 ms · 0.96xtenferro-trace0.01516 ms · 1.09x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1583 ms)pytorch-cpu0.1583 msjax-cpu0.2762 mstenferro-direct0.1697 ms · 1.07xtenferro-trace0.1728 ms · 1.09x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (8.388 ms)jax-cpu7.641 mspytorch-cpu8.388 mstenferro-direct9.130 ms · 1.09xtenferro-trace9.161 ms · 1.09x

reduce_prod_all suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.282 ms)pytorch-cpu5.282 msjulia-base6.210 msjax-cpu10.227 mstenferro-direct5.254 ms · 0.99xtenferro-trace5.772 ms · 1.09x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003185 ms)pytorch-cpu0.003185 msjax-cpu0.005991 mstenferro-direct0.001823 ms · 0.57xtenferro-trace0.003486 ms · 1.09x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002815 ms)pytorch-cpu0.002815 msjax-cpu0.01635 mstenferro-direct0.001453 ms · 0.52xtenferro-trace0.003086 ms · 1.10x

reduce_max_all suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.414 ms)pytorch-cpu5.414 msjulia-base10.314 msjax-cpu20.915 mstenferro-direct5.329 ms · 0.98xtenferro-trace5.935 ms · 1.10x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02462 ms)pytorch-cpu0.02462 msjax-cpu0.02585 mstenferro-direct0.02533 ms · 1.03xtenferro-trace0.02704 ms · 1.10x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004939 ms)pytorch-cpu0.004939 msjax-cpu0.01478 mstenferro-direct0.002876 ms · 0.58xtenferro-trace0.00543 ms · 1.10x

reduce_sum_all suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.451 ms)pytorch-cpu5.451 msjulia-base6.394 msjax-cpu10.067 mstenferro-direct5.402 ms · 0.99xtenferro-trace5.998 ms · 1.10x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (4.538 ms)pytorch-cpu4.538 msjax-cpu4.998 mstenferro-direct4.043 ms · 0.89x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02423 ms)pytorch-cpu0.02423 msjax-cpu0.02619 mstenferro-direct0.02508 ms · 1.04xtenferro-trace0.02668 ms · 1.10x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02101 ms)pytorch-cpu0.02101 msjax-cpu0.02181 mstenferro-direct0.02153 ms · 1.02xtenferro-trace0.02316 ms · 1.10x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02077 ms)pytorch-cpu0.02077 msjax-cpu0.02159 mstenferro-direct0.02117 ms · 1.02xtenferro-trace0.0229 ms · 1.10x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002735 ms)pytorch-cpu0.002735 msjax-cpu0.006241 mstenferro-direct0.001503 ms · 0.55xtenferro-trace0.003016 ms · 1.10x

reduce_max_all suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.300 ms)pytorch-cpu5.300 msjulia-base9.276 msjax-cpu19.533 mstenferro-direct5.323 ms · 1.00xtenferro-trace5.862 ms · 1.11x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.069 ms)pytorch-cpu1.069 msjax-cpu1.198 mstenferro-direct0.9785 ms · 0.92xtenferro-trace1.185 ms · 1.11x

reverse suite=cpu/indexing_layout / dtype=f64 / threads=1 / shape=2097152 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.6398 ms)pytorch-cpu0.6398 msjax-cpu0.6956 msjulia-base0.9769 mstenferro-direct0.6902 ms · 1.08xtenferro-trace0.71 ms · 1.11x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03781 ms)pytorch-cpu0.03781 msjax-cpu0.04229 mstenferro-direct0.0392 ms · 1.04xtenferro-trace0.04199 ms · 1.11x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1005 ms)pytorch-cpu0.1005 msjax-cpu0.1708 mstenferro-direct0.1078 ms · 1.07xtenferro-trace0.1117 ms · 1.11x

qr suite=cpu/complex / dtype=c64 / threads=4 / shape=256x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.145 ms)pytorch-cpu2.145 msjax-cpu2.686 msjulia-base2.933 mstenferro-direct1.933 ms · 0.90xtenferro-trace2.387 ms · 1.11x

eigvalsh suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=512x512 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (9.248 ms)julia-base7.000 mspytorch-cpu9.248 msjax-cpu19.774 mstenferro-direct10.253 ms · 1.11xtenferro-trace10.295 ms · 1.11x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03247 ms)pytorch-cpu0.03247 msjax-cpu0.0343 mstenferro-direct0.03353 ms · 1.03xtenferro-trace0.03619 ms · 1.11x

reduce_min_all suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (7.459 ms)pytorch-cpu7.459 msjulia-base9.918 msjax-cpu38.345 mstenferro-direct8.390 ms · 1.12xtenferro-trace8.317 ms · 1.12x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.2462 ms)pytorch-cpu0.2462 msjax-cpu0.357 mstenferro-direct0.2714 ms · 1.10xtenferro-trace0.2746 ms · 1.12x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.700 ms)jax-cpu1.317 mspytorch-cpu1.700 mstenferro-direct1.894 ms · 1.11xtenferro-trace1.900 ms · 1.12x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (7.481 ms)jax-cpu3.194 mspytorch-cpu7.481 mstenferro-direct7.974 ms · 1.07xtenferro-trace8.362 ms · 1.12x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (8.602 ms)jax-cpu3.992 mspytorch-cpu8.602 mstenferro-direct9.160 ms · 1.06xtenferro-trace9.634 ms · 1.12x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002655 ms)pytorch-cpu0.002655 msjax-cpu0.00577 mstenferro-direct0.001373 ms · 0.52xtenferro-trace0.002975 ms · 1.12x

batched_triangular_solve suite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.0404 ms)pytorch-cpu0.0404 msjulia-base0.04472 msjax-cpu0.05302 mstenferro-direct0.04195 ms · 1.04xtenferro-trace0.04544 ms · 1.12x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004318 ms)pytorch-cpu0.004318 msjax-cpu0.006442 mstenferro-direct0.003337 ms · 0.77xtenferro-trace0.004869 ms · 1.13x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (13.404 ms)jax-cpu10.503 mspytorch-cpu13.404 mstenferro-direct15.102 ms · 1.13xtenferro-trace15.146 ms · 1.13x

householder_qr suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=768x384 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.928 ms)pytorch-cpu1.928 msjax-cpu3.364 mstenferro-direct1.820 ms · 0.94xtenferro-eager2.179 ms · 1.13x

eig suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=160x160 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (3.718 ms)pytorch-cpu3.718 msjax-cpu4.072 msjulia-base4.703 mstenferro-direct3.734 ms · 1.00xtenferro-trace4.205 ms · 1.13x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.598 ms)pytorch-cpu1.598 msjax-cpu2.998 mstenferro-direct1.459 ms · 0.91xtenferro-trace1.807 ms · 1.13x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.2138 ms)pytorch-cpu0.2138 msjax-cpu0.2423 mstenferro-direct0.1959 ms · 0.92x

reduce_sum_axis1 suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.61 ms)pytorch-cpu0.61 msjulia-base0.7071 msjax-cpu0.8897 mstenferro-direct0.6982 ms · 1.14xtenferro-trace0.6921 ms · 1.13x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02948 ms)pytorch-cpu0.02948 msjax-cpu0.03346 mstenferro-direct0.02589 ms · 0.88x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003116 ms)pytorch-cpu0.003116 msjax-cpu0.005751 mstenferro-direct0.001864 ms · 0.60xtenferro-trace0.003537 ms · 1.14x

svd suite=cpu/complex / dtype=c64 / threads=4 / shape=160x160 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.941 ms)pytorch-cpu1.941 msjulia-base1.972 msjax-cpu2.092 mstenferro-direct1.760 ms · 0.91xtenferro-trace2.208 ms · 1.14x

expm1 suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=4194304 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (3.651 ms)pytorch-cpu3.651 msstrided-jl4.640 msjax-cpu5.798 msjulia-base15.839 mstenferro-direct1.946 ms · 0.53xtenferro-trace4.154 ms · 1.14x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004418 ms)pytorch-cpu0.004418 msjax-cpu0.005931 mstenferro-direct0.003416 ms · 0.77xtenferro-trace0.005029 ms · 1.14x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007294 ms)pytorch-cpu0.007294 msjax-cpu0.03193 mstenferro-direct0.006572 ms · 0.90xtenferro-trace0.008305 ms · 1.14x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006912 ms)pytorch-cpu0.006912 msjax-cpu0.0162 mstenferro-direct0.005319 ms · 0.77xtenferro-trace0.007895 ms · 1.14x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.555 ms)jax-cpu1.085 mspytorch-cpu1.555 mstenferro-direct1.771 ms · 1.14xtenferro-trace1.779 ms · 1.14x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.9927 ms)jax-cpu0.9767 mspytorch-cpu0.9927 mstenferro-direct1.135 ms · 1.14xtenferro-trace1.136 ms · 1.14x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (4.168 ms)jax-cpu1.355 mspytorch-cpu4.168 mstenferro-direct4.787 ms · 1.15xtenferro-trace4.772 ms · 1.14x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003988 ms)pytorch-cpu0.003988 msjax-cpu0.008145 mstenferro-direct0.002945 ms · 0.74xtenferro-trace0.004568 ms · 1.15x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.029 ms)pytorch-cpu0.029 msjax-cpu0.03324 mstenferro-direct0.02476 ms · 0.85x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003055 ms)pytorch-cpu0.003055 msjax-cpu0.006432 mstenferro-direct0.001934 ms · 0.63xtenferro-trace0.003506 ms · 1.15x

extract_diagonal suite=cpu/structural_shape / dtype=f64 / threads=4 / shape=8388608x2x2 -> 8388608x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (12.039 ms)pytorch-cpu12.039 msjax-cpu16.967 mstenferro-direct14.322 ms · 1.19xtenferro-trace13.832 ms · 1.15x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.3688 ms)pytorch-cpu0.3688 msjax-cpu0.6012 mstenferro-direct0.4151 ms · 1.13xtenferro-trace0.424 ms · 1.15x

eigvals suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=192x192 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (4.222 ms)pytorch-cpu4.222 msjax-cpu5.004 msjulia-base5.779 mstenferro-direct4.419 ms · 1.05xtenferro-trace4.854 ms · 1.15x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (3.064 ms)jax-cpu1.761 mspytorch-cpu3.064 mstenferro-direct3.104 ms · 1.01xtenferro-trace3.524 ms · 1.15x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.673 ms)jax-cpu2.608 mspytorch-cpu2.673 mstenferro-direct3.071 ms · 1.15xtenferro-trace3.076 ms · 1.15x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.5055 ms)pytorch-cpu0.5055 msjax-cpu0.9729 mstenferro-direct0.5822 ms · 1.15xtenferro-trace0.5843 ms · 1.16x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (3.505 ms)jax-cpu1.432 mspytorch-cpu3.505 mstenferro-direct4.054 ms · 1.16xtenferro-trace4.064 ms · 1.16x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.241 ms)jax-cpu2.004 mspytorch-cpu2.241 mstenferro-direct2.585 ms · 1.15xtenferro-trace2.600 ms · 1.16x

batched_triangular_solve suite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.05914 ms)pytorch-cpu0.05914 msjulia-base0.07441 msjax-cpu0.08483 mstenferro-direct0.05816 ms · 0.98xtenferro-trace0.06861 ms · 1.16x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (4.856 ms)pytorch-cpu4.856 msjax-cpu23.413 mstenferro-direct4.920 ms · 1.01xtenferro-trace5.638 ms · 1.16x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.710 ms)jax-cpu1.035 mspytorch-cpu2.710 mstenferro-direct3.137 ms · 1.16xtenferro-trace3.151 ms · 1.16x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.0458 ms)pytorch-cpu0.0458 msjax-cpu0.05326 mstenferro-direct0.03978 ms · 0.87x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002314 ms)pytorch-cpu0.002314 msjax-cpu0.00556 mstenferro-direct0.001122 ms · 0.48xtenferro-trace0.002695 ms · 1.16x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002425 ms)pytorch-cpu0.002425 msjax-cpu0.00583 mstenferro-direct0.001292 ms · 0.53xtenferro-trace0.002826 ms · 1.17x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.278 ms)jax-cpu0.805 mspytorch-cpu2.278 mstenferro-direct2.652 ms · 1.16xtenferro-trace2.655 ms · 1.17x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.205 ms)pytorch-cpu0.205 msjax-cpu0.3857 mstenferro-direct0.247 ms · 1.20xtenferro-trace0.2391 ms · 1.17x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002765 ms)pytorch-cpu0.002765 msjax-cpu0.006081 mstenferro-direct0.001683 ms · 0.61xtenferro-trace0.003226 ms · 1.17x

svd suite=cpu/complex / dtype=c64 / threads=8 / shape=160x160 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.456 ms)pytorch-cpu2.456 msjax-cpu3.146 msjulia-base3.168 mstenferro-direct2.153 ms · 0.88xtenferro-trace2.868 ms · 1.17x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002805 ms)pytorch-cpu0.002805 msjax-cpu0.006231 mstenferro-direct0.001714 ms · 0.61xtenferro-trace0.003276 ms · 1.17x

rem suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (9.234 ms)pytorch-cpu9.234 msstrided-jl10.992 msjax-cpu17.880 msjulia-base34.823 mstenferro-direct5.508 ms · 0.60xtenferro-trace10.805 ms · 1.17x

dot_general_with_conj suite=cpu/complex / dtype=c64 / threads=8 / shape=640x640 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (7.286 ms)julia-base7.112 mspytorch-cpu7.286 msjax-cpu8.572 mstenferro-direct8.592 ms · 1.18x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002274 ms)pytorch-cpu0.002274 msjax-cpu0.00536 mstenferro-direct0.001213 ms · 0.53xtenferro-trace0.002685 ms · 1.18x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x64x24 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02389 ms)pytorch-cpu0.02389 msjax-cpu0.02827 mstenferro-direct0.01985 ms · 0.83x

pinv_with_rtol suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=512x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.801 ms)pytorch-cpu6.801 msjulia-base7.244 msjax-cpu8.483 mstenferro-direct8.889 ms · 1.31xtenferro-trace8.061 ms · 1.19x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x64x24 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03806 ms)pytorch-cpu0.03806 msjax-cpu0.04528 mstenferro-direct0.03198 ms · 0.84x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x64x24 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02411 ms)pytorch-cpu0.02411 msjax-cpu0.02875 mstenferro-direct0.02056 ms · 0.85x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.09292 ms)pytorch-cpu0.09292 msjax-cpu0.1272 mstenferro-direct0.1069 ms · 1.15xtenferro-trace0.1109 ms · 1.19x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006402 ms)pytorch-cpu0.006402 msjax-cpu0.007644 mstenferro-direct0.002985 ms · 0.47x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.002104 ms)pytorch-cpu0.002104 msjax-cpu0.00554 mstenferro-direct0.000952 ms · 0.45xtenferro-trace0.002514 ms · 1.19x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004087 ms)pytorch-cpu0.004087 msjax-cpu0.004889 mstenferro-direct0.001944 ms · 0.48x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02417 ms)pytorch-cpu0.02417 msjax-cpu0.02894 mstenferro-direct0.02243 ms · 0.93x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01372 ms)pytorch-cpu0.01372 msjax-cpu0.01644 mstenferro-direct0.01177 ms · 0.86x

div suite=cpu/complex / dtype=c64 / threads=1 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (46.200 ms)pytorch-cpu46.200 msjax-cpu52.712 msjulia-base56.704 msstrided-jl59.592 mstenferro-direct46.621 ms · 1.01xtenferro-trace55.341 ms · 1.20x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02132 ms)pytorch-cpu0.02132 msjax-cpu0.04897 mstenferro-direct0.02356 ms · 1.11xtenferro-trace0.02557 ms · 1.20x

eigvalsh suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=512x512 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.172 ms)julia-base4.800 mspytorch-cpu5.172 msjax-cpu12.880 mstenferro-direct5.727 ms · 1.11xtenferro-trace6.209 ms · 1.20x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=1 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.7562 ms)pytorch-cpu0.7562 msjax-cpu0.9743 mstenferro-direct0.904 ms · 1.20xtenferro-trace0.908 ms · 1.20x

pinv suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=512x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (9.050 ms)pytorch-cpu9.050 msjulia-base11.523 msjax-cpu12.911 mstenferro-direct11.764 ms · 1.30xtenferro-trace10.943 ms · 1.21x

reduce_prod_axis1 suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.5971 ms)pytorch-cpu0.5971 msjulia-base0.7304 msjax-cpu0.9073 mstenferro-direct0.6533 ms · 1.09xtenferro-trace0.7224 ms · 1.21x

dot_general_with_conj suite=cpu/complex / dtype=c64 / threads=1 / shape=640x640 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (30.833 ms)pytorch-cpu30.833 msjulia-base31.964 msjax-cpu37.380 mstenferro-direct31.539 ms · 1.02x

reduce_max_all suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (7.457 ms)pytorch-cpu7.457 msjulia-base8.862 msjax-cpu38.309 mstenferro-direct9.122 ms · 1.22xtenferro-trace9.048 ms · 1.21x

batched_triangular_solve suite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03148 ms)pytorch-cpu0.03148 msjulia-base0.03677 msjax-cpu0.041 mstenferro-direct0.03586 ms · 1.14xtenferro-trace0.03832 ms · 1.22x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.7492 ms)pytorch-cpu0.7492 msjax-cpu0.9967 mstenferro-direct0.9089 ms · 1.21xtenferro-trace0.9166 ms · 1.22x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01075 ms)pytorch-cpu0.01075 msjax-cpu0.01315 mstenferro-direct0.008406 ms · 0.78x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01703 ms)pytorch-cpu0.01703 msjax-cpu0.02093 mstenferro-direct0.01345 ms · 0.79x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01085 ms)pytorch-cpu0.01085 msjax-cpu0.01337 mstenferro-direct0.009758 ms · 0.90x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.150 ms)pytorch-cpu1.150 msjax-cpu1.571 mstenferro-direct1.412 ms · 1.23xtenferro-trace1.417 ms · 1.23x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02345 ms)pytorch-cpu0.02345 msjax-cpu0.02891 mstenferro-direct0.02158 ms · 0.92x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003957 ms)pytorch-cpu0.003957 msjax-cpu0.004879 mstenferro-direct0.001753 ms · 0.44x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.651 ms)pytorch-cpu2.651 msjax-cpu3.273 mstenferro-direct2.711 ms · 1.02x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01336 ms)pytorch-cpu0.01336 msjax-cpu0.01649 mstenferro-direct0.01127 ms · 0.84x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.0055 ms)pytorch-cpu0.0055 msjax-cpu0.006792 mstenferro-direct0.003306 ms · 0.60x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005921 ms)pytorch-cpu0.005921 msjax-cpu0.007313 mstenferro-direct0.003857 ms · 0.65x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02132 ms)pytorch-cpu0.02132 msjax-cpu0.02634 mstenferro-direct0.01791 ms · 0.84x

batched_triangular_solve suite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.04946 ms)pytorch-cpu0.04946 msjulia-base0.06006 msjax-cpu0.07152 mstenferro-direct0.05726 ms · 1.16xtenferro-trace0.06118 ms · 1.24x

batched_triangular_solve suite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03248 ms)pytorch-cpu0.03248 msjulia-base0.03694 msjax-cpu0.04287 mstenferro-direct0.03757 ms · 1.16xtenferro-trace0.04019 ms · 1.24x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003767 ms)pytorch-cpu0.003767 msjax-cpu0.004688 mstenferro-direct0.001533 ms · 0.41x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.150 ms)pytorch-cpu2.150 msjax-cpu5.717 mstenferro-direct2.209 ms · 1.03xtenferro-trace2.677 ms · 1.24x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1063 ms)pytorch-cpu0.1063 msjax-cpu0.1687 mstenferro-direct0.1265 ms · 1.19xtenferro-trace0.1324 ms · 1.25x

reduce_min_all suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.274 ms)pytorch-cpu5.274 msjulia-base10.665 msjax-cpu19.518 mstenferro-direct5.317 ms · 1.01xtenferro-trace6.584 ms · 1.25x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03736 ms)pytorch-cpu0.03736 msjax-cpu0.04669 mstenferro-direct0.03406 ms · 0.91x

pow suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=4194304 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (22.420 ms)pytorch-cpu22.420 msjax-cpu35.425 msstrided-jl50.442 msjulia-base72.059 mstenferro-direct28.251 ms · 1.26xtenferro-trace28.170 ms · 1.26x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.008655 ms)pytorch-cpu0.008655 msjax-cpu0.0109 mstenferro-direct0.00535 ms · 0.62x

rem suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=8388608 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.793 ms)pytorch-cpu6.793 msstrided-jl7.761 msjax-cpu17.517 msjulia-base45.249 mstenferro-direct5.400 ms · 0.80xtenferro-trace8.580 ms · 1.26x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01061 ms)pytorch-cpu0.01061 msjax-cpu0.01341 mstenferro-direct0.009147 ms · 0.86x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.5375 ms)pytorch-cpu0.5375 msjax-cpu0.6106 mstenferro-direct0.679 ms · 1.26xtenferro-trace0.6819 ms · 1.27x

pinv_with_rtol suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=512x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (9.042 ms)pytorch-cpu9.042 msjulia-base11.338 msjax-cpu13.324 mstenferro-direct11.740 ms · 1.30xtenferro-trace11.487 ms · 1.27x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x64x24 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.09665 ms)pytorch-cpu0.09665 msjax-cpu0.1267 mstenferro-direct0.1139 ms · 1.18xtenferro-trace0.1232 ms · 1.27x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006933 ms)pytorch-cpu0.006933 msjax-cpu0.008866 mstenferro-direct0.005299 ms · 0.76x

qr suite=cpu/complex / dtype=c64 / threads=8 / shape=256x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.790 ms)pytorch-cpu2.790 msjax-cpu3.812 msjulia-base4.185 mstenferro-direct2.399 ms · 0.86xtenferro-trace3.570 ms · 1.28x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003837 ms)pytorch-cpu0.003837 msjax-cpu0.004919 mstenferro-direct0.001943 ms · 0.51x

expm1 suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=4194304 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.876 ms)pytorch-cpu2.876 msjax-cpu6.089 msstrided-jl6.763 msjulia-base23.819 mstenferro-direct1.606 ms · 0.56xtenferro-trace3.687 ms · 1.28x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.9862 ms)pytorch-cpu0.9862 msjax-cpu1.265 mstenferro-direct1.112 ms · 1.13x

chain_log1p_exp_mul suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=4194304 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (12.675 ms)strided-jl9.810 mspytorch-cpu12.675 msjax-cpu14.916 msjulia-base33.492 mstenferro-direct5.077 ms · 0.40xtenferro-trace16.336 ms · 1.29x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.8085 ms)pytorch-cpu0.8085 msjax-cpu0.9947 mstenferro-direct1.037 ms · 1.28xtenferro-trace1.043 ms · 1.29x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006783 ms)pytorch-cpu0.006783 msjax-cpu0.008866 mstenferro-direct0.004979 ms · 0.73x

triu suite=cpu/structural_shape / dtype=f64 / threads=8 / shape=4096x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (7.554 ms)pytorch-cpu7.554 msjax-cpu14.414 msjulia-base43.530 mstenferro-direct6.875 ms · 0.91xtenferro-trace9.961 ms · 1.32x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.177 ms)jax-cpu0.9282 mspytorch-cpu1.177 mstenferro-direct1.116 ms · 0.95xtenferro-trace1.556 ms · 1.32x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.5201 ms)pytorch-cpu0.5201 msjax-cpu0.6458 mstenferro-direct0.6958 ms · 1.34xtenferro-trace0.6877 ms · 1.32x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003808 ms)pytorch-cpu0.003808 msjax-cpu0.005039 mstenferro-direct0.001703 ms · 0.45x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.603 ms)pytorch-cpu1.603 msjax-cpu1.743 mstenferro-direct1.683 ms · 1.05xtenferro-trace2.129 ms · 1.33x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003176 ms)pytorch-cpu0.003176 msjax-cpu0.004267 mstenferro-direct0.001112 ms · 0.35x

reduce_mean suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005756 ms)pytorch-cpu0.005756 msjax-cpu0.01565 mstenferro-direct0.004245 ms · 0.74xtenferro-eager0.007821 ms · 1.36x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.005049 ms)pytorch-cpu0.005049 msjax-cpu0.006862 mstenferro-direct0.001853 ms · 0.37x

batched_triangular_solve suite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x16x16,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1004 ms)pytorch-cpu0.1004 msjulia-base0.1217 msjax-cpu0.1898 mstenferro-direct0.09986 ms · 0.99xtenferro-trace0.1369 ms · 1.36x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.08139 ms)pytorch-cpu0.08139 msjax-cpu0.1238 mstenferro-direct0.1084 ms · 1.33xtenferro-trace0.1112 ms · 1.37x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1529 ms)pytorch-cpu0.1529 msjax-cpu0.2796 mstenferro-direct0.1906 ms · 1.25xtenferro-trace0.2102 ms · 1.38x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02903 ms)pytorch-cpu0.02903 msjax-cpu0.07351 mstenferro-direct0.03689 ms · 1.27xtenferro-trace0.03993 ms · 1.38x

dynamic_update_slice suite=cpu/indexing_layout / dtype=f64 / threads=4 / shape=2097152 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.6907 ms)pytorch-cpu0.6907 msjax-cpu0.9513 msjulia-base3.656 mstenferro-direct0.6589 ms · 0.95x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.007023 ms)pytorch-cpu0.007023 msjax-cpu0.009738 mstenferro-direct0.004128 ms · 0.59x

reduce_sum_axis0 suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.730 ms)julia-base0.8152 msjax-cpu0.9121 mspytorch-cpu1.730 mstenferro-direct0.9159 ms · 0.53xtenferro-trace2.412 ms · 1.39x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004408 ms)pytorch-cpu0.004408 msjax-cpu0.006181 mstenferro-direct0.002525 ms · 0.57x

cholesky suite=cpu/complex / dtype=c64 / threads=4 / shape=448x448 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.8531 ms)pytorch-cpu0.8531 msjulia-base1.146 msjax-cpu1.215 mstenferro-direct0.7462 ms · 0.87xtenferro-trace1.211 ms · 1.42x

solve suite=cpu/complex / dtype=c64 / threads=4 / shape=384x384,rhs=8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.091 ms)pytorch-cpu1.091 msjulia-base1.284 msjax-cpu1.534 mstenferro-direct1.116 ms · 1.02xtenferro-trace1.567 ms · 1.44x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.004388 ms)pytorch-cpu0.004388 msjax-cpu0.006331 mstenferro-direct0.002855 ms · 0.65x

exp suite=cpu/complex / dtype=c64 / threads=8 / shape=4194304 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (11.185 ms)pytorch-cpu11.185 msstrided-jl12.477 msjax-cpu24.649 msjulia-base55.286 mstenferro-direct8.003 ms · 0.72xtenferro-trace16.286 ms · 1.46x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1222 ms)pytorch-cpu0.1222 msjax-cpu0.2239 mstenferro-direct0.1744 ms · 1.43xtenferro-trace0.1791 ms · 1.47x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003195 ms)pytorch-cpu0.003195 msjax-cpu0.004688 mstenferro-direct0.001242 ms · 0.39x

softmax suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.4403 ms)pytorch-cpu0.4403 msjax-cpu1.839 mstenferro-direct0.6285 ms · 1.43xtenferro-eager0.6663 ms · 1.51x

concatenate suite=cpu/indexing_layout / dtype=f64 / threads=4 / shape=1048576+1048576 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.4914 ms)pytorch-cpu0.4914 msjax-cpu0.6746 msjulia-base1.108 mstenferro-direct0.4671 ms · 0.95xtenferro-trace0.7447 ms · 1.52x

log_softmax suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.4433 ms)pytorch-cpu0.4433 msjax-cpu1.896 mstenferro-direct0.6319 ms · 1.43xtenferro-eager0.6734 ms · 1.52x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1975 ms)jax-cpu0.1677 mspytorch-cpu0.1975 mstenferro-direct0.3076 ms · 1.56xtenferro-trace0.3013 ms · 1.53x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.04266 ms)pytorch-cpu0.04266 msjax-cpu0.0565 mstenferro-direct0.06834 ms · 1.60xtenferro-trace0.06525 ms · 1.53x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.012 ms)jax-cpu0.6432 mspytorch-cpu1.012 mstenferro-direct1.138 ms · 1.12xtenferro-trace1.561 ms · 1.54x

householder_qr suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=768x384 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.715 ms)pytorch-cpu1.715 msjax-cpu4.841 mstenferro-direct2.111 ms · 1.23xtenferro-eager2.647 ms · 1.54x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.304 ms)jax-cpu0.3027 mspytorch-cpu0.304 mstenferro-direct0.4723 ms · 1.55xtenferro-trace0.4777 ms · 1.57x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.05725 ms)pytorch-cpu0.05725 msjax-cpu0.1847 mstenferro-direct0.1071 ms · 1.87xtenferro-trace0.0906 ms · 1.58x

pinv suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=512x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.784 ms)pytorch-cpu6.784 msjulia-base7.219 msjax-cpu8.095 mstenferro-direct12.192 ms · 1.80xtenferro-trace10.807 ms · 1.59x

reduce_mean suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03024 ms)pytorch-cpu0.03024 msjax-cpu0.16 mstenferro-direct0.04471 ms · 1.48xtenferro-eager0.04833 ms · 1.60x

pad suite=cpu/indexing_layout / dtype=f64 / threads=8 / shape=2097152 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.8682 ms)pytorch-cpu0.8682 msjax-cpu0.9189 mstenferro-direct0.7119 ms · 0.82xtenferro-trace1.400 ms · 1.61x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1915 ms)jax-cpu0.1712 mspytorch-cpu0.1915 mstenferro-direct0.3084 ms · 1.61xtenferro-trace0.3104 ms · 1.62x

inv suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=768x768 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.557 ms)julia-base6.154 mspytorch-cpu6.557 msjax-cpu8.988 mstenferro-direct11.777 ms · 1.80xtenferro-trace10.640 ms · 1.62x

dynamic_update_slice suite=cpu/indexing_layout / dtype=f64 / threads=8 / shape=2097152 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.903 ms)pytorch-cpu0.903 msjax-cpu1.499 msjulia-base1.525 mstenferro-direct0.859 ms · 0.95x

extract_diagonal suite=cpu/structural_shape / dtype=f64 / threads=8 / shape=8388608x2x2 -> 8388608x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (10.285 ms)pytorch-cpu10.285 msjax-cpu14.916 mstenferro-direct17.688 ms · 1.72xtenferro-trace17.127 ms · 1.67x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (5.811 ms)pytorch-cpu5.811 msjax-cpu10.546 mstenferro-direct9.446 ms · 1.63xtenferro-trace9.721 ms · 1.67x

pad suite=cpu/indexing_layout / dtype=f64 / threads=4 / shape=2097152 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.5943 ms)jax-cpu0.578 mspytorch-cpu0.5943 mstenferro-direct0.5222 ms · 0.88xtenferro-trace1.006 ms · 1.69x

batched_svd suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (12.425 ms)pytorch-cpu12.425 msjax-cpu38.872 mstenferro-direct11.292 ms · 0.91xtenferro-trace21.235 ms · 1.71x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.400 ms)pytorch-cpu1.400 msjax-cpu2.668 mstenferro-direct1.381 ms · 0.99xtenferro-trace2.401 ms · 1.71x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.04516 ms)pytorch-cpu0.04516 msjax-cpu0.116 mstenferro-direct0.07216 ms · 1.60xtenferro-trace0.0786 ms · 1.74x

slogdet suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=1024x1024 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (3.491 ms)pytorch-cpu3.491 msjulia-base4.574 msjax-cpu7.619 mstenferro-direct5.188 ms · 1.49xtenferro-trace6.091 ms · 1.74x

batched_lu_solve suite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x16x16,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1953 ms)pytorch-cpu0.1953 msjulia-base0.2175 msjax-cpu0.3475 mstenferro-direct0.1616 ms · 0.83x

solve suite=cpu/complex / dtype=c64 / threads=8 / shape=384x384,rhs=8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.262 ms)pytorch-cpu1.262 msjulia-base1.491 msjax-cpu2.013 mstenferro-direct1.150 ms · 0.91xtenferro-trace2.251 ms · 1.78x

dynamic_slice suite=cpu/indexing_layout / dtype=f64 / threads=8 / shape=4194304 -> 2097152 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.6619 ms)pytorch-cpu0.6619 msjax-cpu0.8745 msjulia-base4.447 mstenferro-direct0.7974 ms · 1.20xtenferro-trace1.200 ms · 1.81x

reduce_min_axis1 suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=4096x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.701 ms)pytorch-cpu2.701 msjulia-base4.052 msjax-cpu5.972 mstenferro-direct2.740 ms · 1.01xtenferro-trace4.937 ms · 1.83x

reduce_mean suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00581 ms)pytorch-cpu0.00581 msjax-cpu0.02239 mstenferro-direct0.005436 ms · 0.94xtenferro-eager0.01076 ms · 1.85x

batched_lu_solve suite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x16x16,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.3059 ms)pytorch-cpu0.3059 msjulia-base0.3384 msjax-cpu0.5697 mstenferro-direct0.2444 ms · 0.80x

inv suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=768x768 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.855 ms)julia-base6.160 mspytorch-cpu6.855 msjax-cpu8.416 mstenferro-direct12.462 ms · 1.82xtenferro-trace12.974 ms · 1.89x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=4 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.7422 ms)pytorch-cpu0.7422 msjax-cpu1.263 mstenferro-direct1.196 ms · 1.61xtenferro-trace1.416 ms · 1.91x

batched_lu_factor suite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1203 ms)pytorch-cpu0.1203 msjax-cpu0.2306 msjulia-base0.3373 mstenferro-direct0.1516 ms · 1.26x

lstsq suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=768x384,rhs=16 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (4.837 ms)julia-base4.264 mspytorch-cpu4.837 msjax-cpu24.388 mstenferro-eager9.428 ms · 1.95xtenferro-trace9.282 ms · 1.92x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03956 ms)pytorch-cpu0.03956 msjax-cpu0.129 mstenferro-direct0.08734 ms · 2.21xtenferro-trace0.0766 ms · 1.94x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.5235 ms)pytorch-cpu0.5235 msjax-cpu0.6328 mstenferro-direct0.5793 ms · 1.11xtenferro-trace1.021 ms · 1.95x

batched_lu_factor suite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02549 ms)pytorch-cpu0.02549 msjax-cpu0.04984 msjulia-base0.06963 mstenferro-direct0.1032 ms · 4.05x

batched_lu_solve suite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x16x16,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1927 ms)pytorch-cpu0.1927 msjulia-base0.198 msjax-cpu0.3779 mstenferro-direct0.1507 ms · 0.78x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006302 ms)pytorch-cpu0.006302 msjax-cpu0.01246 mstenferro-direct0.002534 ms · 0.40x

batched_lu_solve suite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.08849 ms)pytorch-cpu0.08849 msjulia-base0.1096 msjax-cpu0.1753 mstenferro-direct0.1061 ms · 1.20x

norm_fro suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.7329 ms)pytorch-cpu0.7329 msjulia-base1.629 msjax-cpu2.709 mstenferro-direct0.9748 ms · 1.33xtenferro-trace1.454 ms · 1.98x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01956 ms)pytorch-cpu0.01956 msjax-cpu0.07343 mstenferro-direct0.0373 ms · 1.91xtenferro-trace0.03915 ms · 2.00x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.009638 ms)pytorch-cpu0.009638 msjax-cpu0.01929 mstenferro-direct0.006241 ms · 0.65x

batched_lu_solve suite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.08795 ms)pytorch-cpu0.08795 msjulia-base0.09888 msjax-cpu0.1772 mstenferro-direct0.1007 ms · 1.14x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1516 ms)pytorch-cpu0.1516 msjax-cpu0.3077 mstenferro-direct0.2393 ms · 1.58x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.4245 ms)pytorch-cpu0.4245 msjax-cpu0.7372 mstenferro-direct0.4217 ms · 0.99xtenferro-trace0.8624 ms · 2.03x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.7933 ms)pytorch-cpu0.7933 msjax-cpu1.081 mstenferro-direct0.9216 ms · 1.16xtenferro-trace1.618 ms · 2.04x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.9656 ms)pytorch-cpu0.9656 msjax-cpu1.962 mstenferro-direct1.647 ms · 1.71xtenferro-trace1.997 ms · 2.07x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.6388 ms)pytorch-cpu0.6388 msjax-cpu1.168 mstenferro-direct0.6214 ms · 0.97xtenferro-trace1.324 ms · 2.07x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x32x32,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01923 ms)pytorch-cpu0.01923 msjax-cpu0.05223 mstenferro-direct0.03662 ms · 1.90xtenferro-trace0.03995 ms · 2.08x

lstsq suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=768x384,rhs=16 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.074 ms)pytorch-cpu2.074 msjulia-base2.404 msjax-cpu16.615 mstenferro-eager4.310 ms · 2.08xtenferro-trace4.327 ms · 2.09x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01683 ms)pytorch-cpu0.01683 msjax-cpu0.03505 mstenferro-direct0.01462 ms · 0.87x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006131 ms)pytorch-cpu0.006131 msjax-cpu0.01282 mstenferro-direct0.002836 ms · 0.46x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=1 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.146 ms)pytorch-cpu0.146 msjax-cpu0.3083 mstenferro-direct0.2098 ms · 1.44x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=4x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01082 ms)pytorch-cpu0.01082 msjax-cpu0.02329 mstenferro-direct0.007954 ms · 0.74x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.05844 ms)pytorch-cpu0.05844 msjax-cpu0.08934 mstenferro-direct0.1102 ms · 1.89xtenferro-trace0.1263 ms · 2.16x

dynamic_slice suite=cpu/indexing_layout / dtype=f64 / threads=4 / shape=4194304 -> 2097152 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.4684 ms)pytorch-cpu0.4684 msjax-cpu0.5913 msjulia-base0.8058 mstenferro-direct0.5281 ms · 1.13xtenferro-trace1.022 ms · 2.18x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.06589 ms)pytorch-cpu0.06589 msjax-cpu0.3295 mstenferro-direct0.1717 ms · 2.61xtenferro-trace0.1449 ms · 2.20x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.233 ms)pytorch-cpu0.233 msjax-cpu0.5188 mstenferro-direct0.3331 ms · 1.43x

concatenate suite=cpu/indexing_layout / dtype=f64 / threads=8 / shape=1048576+1048576 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.6176 ms)pytorch-cpu0.6176 msjax-cpu0.7465 msjulia-base4.387 mstenferro-direct1.008 ms · 1.63xtenferro-trace1.378 ms · 2.23x

batched_lu_factor suite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x16x16,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.5476 ms)pytorch-cpu0.5476 msjulia-base1.161 msjax-cpu1.232 mstenferro-direct0.5316 ms · 0.97x

reverse suite=cpu/indexing_layout / dtype=f64 / threads=8 / shape=2097152 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.6077 ms)pytorch-cpu0.6077 msjax-cpu0.9123 msjulia-base4.735 mstenferro-direct1.035 ms · 1.70xtenferro-trace1.369 ms · 2.25x

reverse suite=cpu/indexing_layout / dtype=f64 / threads=4 / shape=2097152 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.476 ms)pytorch-cpu0.476 msjax-cpu0.6074 msjulia-base2.146 mstenferro-direct0.4734 ms · 0.99xtenferro-trace1.074 ms · 2.26x

layer_norm suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02393 ms)pytorch-cpu0.02393 msjax-cpu0.09226 mstenferro-direct0.03549 ms · 1.48xtenferro-eager0.05566 ms · 2.33x

batched_lu_solve suite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.137 ms)pytorch-cpu0.137 msjulia-base0.1692 msjax-cpu0.3212 mstenferro-direct0.1605 ms · 1.17x

batched_lu_factor suite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03619 ms)pytorch-cpu0.03619 msjax-cpu0.08612 msjulia-base0.11 mstenferro-direct0.07162 ms · 1.98x

layer_norm suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01504 ms)pytorch-cpu0.01504 msjax-cpu0.06059 mstenferro-direct0.02318 ms · 1.54xtenferro-eager0.03587 ms · 2.38x

pow suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=4194304 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (4.864 ms)pytorch-cpu4.864 msstrided-jl10.652 msjax-cpu17.818 msjulia-base112.591 mstenferro-direct5.644 ms · 1.16xtenferro-trace11.695 ms · 2.40x

gelu suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.2214 ms)pytorch-cpu0.2214 msjax-cpu0.3004 mstenferro-direct0.1259 ms · 0.57xtenferro-eager0.5332 ms · 2.41x

softplus suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.3106 ms)pytorch-cpu0.3106 msjax-cpu1.142 mstenferro-direct0.1956 ms · 0.63xtenferro-eager0.7484 ms · 2.41x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x32x32,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02496 ms)pytorch-cpu0.02496 msjax-cpu0.1125 mstenferro-direct0.0555 ms · 2.22xtenferro-trace0.06049 ms · 2.42x

scatter suite=cpu/indexing_layout / dtype=f64 / threads=1 / shape=262144 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1764 ms)jax-cpu0.1526 mspytorch-cpu0.1764 msjulia-base0.5524 mstenferro-direct0.3869 ms · 2.19xtenferro-trace0.4288 ms · 2.43x

softplus suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.3879 ms)pytorch-cpu0.3879 msjax-cpu1.061 mstenferro-direct0.2531 ms · 0.65xtenferro-eager0.9487 ms · 2.45x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.4656 ms)pytorch-cpu0.4656 msjax-cpu1.134 mstenferro-direct0.4497 ms · 0.97xtenferro-trace1.148 ms · 2.47x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03259 ms)pytorch-cpu0.03259 msjax-cpu0.1304 mstenferro-direct0.09094 ms · 2.79xtenferro-trace0.08078 ms · 2.48x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x32x32 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02492 ms)pytorch-cpu0.02492 msjax-cpu0.107 mstenferro-direct0.05842 ms · 2.34xtenferro-trace0.06199 ms · 2.49x

pow suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=4194304 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.062 ms)pytorch-cpu6.062 msstrided-jl14.068 msjax-cpu19.822 msjulia-base71.578 mstenferro-direct7.431 ms · 1.23xtenferro-trace15.118 ms · 2.49x

det suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=1024x1024 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (3.493 ms)pytorch-cpu3.493 msjulia-base4.580 msjax-cpu7.639 mstenferro-direct5.203 ms · 1.49xtenferro-trace8.769 ms · 2.51x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.907 ms)pytorch-cpu1.907 msjax-cpu4.805 mstenferro-direct2.336 ms · 1.23xtenferro-trace4.790 ms · 2.51x

eigvals suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=192x192 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.457 ms)pytorch-cpu6.457 msjulia-base7.584 msjax-cpu7.835 mstenferro-direct6.676 ms · 1.03xtenferro-trace16.292 ms · 2.52x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.282 ms)pytorch-cpu0.282 msjax-cpu0.9993 mstenferro-direct0.2752 ms · 0.98xtenferro-trace0.7174 ms · 2.54x

norm_fro suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.047 ms)pytorch-cpu1.047 msjulia-base2.569 msjax-cpu7.328 mstenferro-direct0.9761 ms · 0.93xtenferro-trace2.680 ms · 2.56x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.04789 ms)pytorch-cpu0.04789 msjax-cpu0.2457 mstenferro-direct0.1399 ms · 2.92xtenferro-trace0.1242 ms · 2.59x

reduce_max_axis1 suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.6544 ms)pytorch-cpu0.6544 msjulia-base0.8095 msjax-cpu1.816 mstenferro-direct0.5942 ms · 0.91xtenferro-trace1.711 ms · 2.61x

erf suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.3325 ms)pytorch-cpu0.3325 msjax-cpu0.3601 mstenferro-direct0.2067 ms · 0.62xtenferro-eager0.8724 ms · 2.62x

sigmoid suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.2233 ms)pytorch-cpu0.2233 msjax-cpu0.3681 mstenferro-direct0.1119 ms · 0.50xtenferro-eager0.604 ms · 2.70x

det suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=1024x1024 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (3.723 ms)pytorch-cpu3.723 msjulia-base5.271 msjax-cpu6.997 mstenferro-direct5.036 ms · 1.35xtenferro-trace10.085 ms · 2.71x

silu suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.2231 ms)pytorch-cpu0.2231 msjax-cpu0.3872 mstenferro-direct0.1139 ms · 0.51xtenferro-eager0.6072 ms · 2.72x

reduce_sum_axis1 suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.4006 ms)pytorch-cpu0.4006 msjax-cpu0.5915 msjulia-base0.6887 mstenferro-direct0.4722 ms · 1.18xtenferro-trace1.095 ms · 2.73x

softmax suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1384 ms)pytorch-cpu0.1384 msjax-cpu0.7954 mstenferro-direct0.298 ms · 2.15xtenferro-eager0.3815 ms · 2.76x

log_softmax suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.0202 ms)pytorch-cpu0.0202 msjax-cpu0.1463 mstenferro-direct0.04274 ms · 2.12xtenferro-eager0.05632 ms · 2.79x

triangular_solve suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=4096x4096,rhs=64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (18.401 ms)pytorch-cpu18.401 msjulia-base20.044 msjax-cpu86.422 mstenferro-direct20.660 ms · 1.12xtenferro-trace51.349 ms · 2.79x

reduce_min_axis1 suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=4096x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.524 ms)pytorch-cpu2.524 msjulia-base3.556 msjax-cpu5.085 mstenferro-direct3.849 ms · 1.52xtenferro-trace7.411 ms · 2.94x

softmax suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.0188 ms)pytorch-cpu0.0188 msjax-cpu0.1398 mstenferro-direct0.04024 ms · 2.14xtenferro-eager0.05658 ms · 3.01x

cast_f64_f32 suite=cpu/structural_shape / dtype=f64->f32 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (26.963 ms)pytorch-cpu26.963 msjulia-base28.218 msjax-cpu34.264 mstenferro-direct27.035 ms · 1.00xtenferro-trace83.614 ms · 3.10x

gelu_tanh suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.3302 ms)pytorch-cpu0.3302 msjax-cpu0.4227 mstenferro-direct0.3034 ms · 0.92xtenferro-eager1.063 ms · 3.22x

gelu_tanh suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.352 ms)pytorch-cpu0.352 msjax-cpu0.4615 mstenferro-direct0.2332 ms · 0.66xtenferro-eager1.151 ms · 3.27x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (7.054 ms)pytorch-cpu7.054 msjax-cpu23.455 mstenferro-direct6.185 ms · 0.88x

layer_norm suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1244 ms)pytorch-cpu0.1244 msjax-cpu0.6936 mstenferro-direct0.3388 ms · 2.72xtenferro-eager0.4186 ms · 3.37x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1915 ms)pytorch-cpu0.1915 msjax-cpu0.9988 mstenferro-direct0.1767 ms · 0.92xtenferro-trace0.6513 ms · 3.40x

batched_lu_factor suite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01628 ms)pytorch-cpu0.01628 msjax-cpu0.05742 msjulia-base0.0696 mstenferro-direct0.1019 ms · 6.26x

softplus suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.04844 ms)pytorch-cpu0.04844 msjax-cpu0.08244 mstenferro-direct0.01605 ms · 0.33xtenferro-eager0.1716 ms · 3.54x

cast_f64_f32 suite=cpu/structural_shape / dtype=f64->f32 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (10.926 ms)pytorch-cpu10.926 msjax-cpu18.815 msjulia-base28.464 mstenferro-direct11.150 ms · 1.02xtenferro-trace38.960 ms · 3.57x

norm_fro suite=cpu/complex / dtype=c64 / threads=4 / shape=2048x1536 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.562 ms)julia-base2.428 mspytorch-cpu2.562 msjax-cpu2.608 mstenferro-direct1.240 ms · 0.48xtenferro-trace9.175 ms · 3.58x

cholesky suite=cpu/complex / dtype=c64 / threads=8 / shape=448x448 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.7119 ms)pytorch-cpu0.7119 msjulia-base1.276 msjax-cpu1.923 mstenferro-direct0.788 ms · 1.11xtenferro-trace2.556 ms · 3.59x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.00562 ms)pytorch-cpu0.00562 msjax-cpu0.02021 mstenferro-direct0.003486 ms · 0.62x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01087 ms)pytorch-cpu0.01087 msjax-cpu0.03924 mstenferro-direct0.008886 ms · 0.82x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x2x2 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003857 ms)pytorch-cpu0.003857 msjax-cpu0.01401 mstenferro-direct0.001713 ms · 0.44x

batched_lu_factor suite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02273 ms)pytorch-cpu0.02273 msjax-cpu0.08345 msjulia-base0.11 mstenferro-direct0.06921 ms · 3.04x

softmax suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.009641 ms)pytorch-cpu0.009641 msjax-cpu0.09054 mstenferro-direct0.02559 ms · 2.65xtenferro-eager0.03565 ms · 3.70x

batched_lu_factor suite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02253 ms)pytorch-cpu0.02253 msjax-cpu0.08372 msjulia-base0.09948 mstenferro-direct0.162 ms · 7.19x

batched_svdvals suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=3x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.006011 ms)pytorch-cpu0.006011 msjax-cpu0.02234 mstenferro-direct0.004148 ms · 0.69x

erf suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.07066 ms)jax-cpu0.04606 mspytorch-cpu0.07066 mstenferro-direct0.01414 ms · 0.20xtenferro-eager0.2632 ms · 3.72x

erf suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.2671 ms)pytorch-cpu0.2671 msjax-cpu0.3761 mstenferro-direct0.1639 ms · 0.61xtenferro-eager1.009 ms · 3.78x

reduce_prod_axis1 suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.5432 ms)pytorch-cpu0.5432 msjulia-base0.8746 msjax-cpu0.883 mstenferro-direct1.201 ms · 2.21xtenferro-trace2.057 ms · 3.79x

softplus suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.07329 ms)pytorch-cpu0.07329 msjax-cpu0.125 mstenferro-direct0.01339 ms · 0.18xtenferro-eager0.2807 ms · 3.83x

cast_f64_f32 suite=cpu/structural_shape / dtype=f64->f32 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (10.066 ms)pytorch-cpu10.066 msjax-cpu17.114 msjulia-base38.929 mstenferro-direct10.092 ms · 1.00xtenferro-trace38.647 ms · 3.84x

silu suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.2099 ms)pytorch-cpu0.2099 msjax-cpu0.4221 mstenferro-direct0.1221 ms · 0.58xtenferro-eager0.8179 ms · 3.90x

reduce_sum_axis1 suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.5203 ms)pytorch-cpu0.5203 msjulia-base0.8595 msjax-cpu0.9274 mstenferro-direct1.538 ms · 2.96xtenferro-trace2.035 ms · 3.91x

batched_qr suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.2589 ms)pytorch-cpu0.2589 msjax-cpu0.5309 mstenferro-direct0.3009 ms · 1.16xtenferro-trace1.013 ms · 3.91x

take_along_axis suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (3.058 ms)jax-cpu1.175 mspytorch-cpu3.058 mstenferro-direct6.719 ms · 2.20xtenferro-eager12.227 ms · 4.00x

norm_fro suite=cpu/complex / dtype=c64 / threads=8 / shape=2048x1536 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.956 ms)pytorch-cpu1.956 msjax-cpu2.720 msjulia-base3.851 mstenferro-direct1.591 ms · 0.81xtenferro-trace7.866 ms · 4.02x

sigmoid suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.2064 ms)pytorch-cpu0.2064 msjax-cpu0.394 mstenferro-direct0.1219 ms · 0.59xtenferro-eager0.8311 ms · 4.03x

take_along_axis suite=cpu/neural_public_api / dtype=f32 / threads=1 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1287 ms)jax-cpu0.06239 mspytorch-cpu0.1287 mstenferro-direct0.3235 ms · 2.51xtenferro-eager0.5217 ms · 4.05x

softmax suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1245 ms)pytorch-cpu0.1245 msjax-cpu0.8904 mstenferro-direct0.462 ms · 3.71xtenferro-eager0.514 ms · 4.13x

log_softmax suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.008741 ms)pytorch-cpu0.008741 msjax-cpu0.09541 mstenferro-direct0.02849 ms · 3.26xtenferro-eager0.0362 ms · 4.14x

reduce_max_axis1 suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.4647 ms)pytorch-cpu0.4647 msjulia-base0.7093 msjax-cpu1.296 mstenferro-direct0.8186 ms · 1.76xtenferro-trace1.927 ms · 4.15x

householder_qr suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=256x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.2104 ms)pytorch-cpu0.2104 msjax-cpu0.6739 mstenferro-direct0.1461 ms · 0.69xtenferro-eager0.8803 ms · 4.18x

batched_svd suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (19.712 ms)pytorch-cpu19.712 msjax-cpu113.990 mstenferro-direct17.893 ms · 0.91xtenferro-trace84.309 ms · 4.28x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x128x128,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.169 ms)pytorch-cpu0.169 msjax-cpu0.3643 mstenferro-direct0.7134 ms · 4.22xtenferro-trace0.7323 ms · 4.33x

take_along_axis suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1127 ms)jax-cpu0.05253 mspytorch-cpu0.1127 mstenferro-direct0.1491 ms · 1.32xtenferro-eager0.4888 ms · 4.34x

batched_lu_factor suite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03116 ms)pytorch-cpu0.03116 msjax-cpu0.1354 msjulia-base0.1537 mstenferro-direct0.1088 ms · 3.49x

take_along_axis suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.07879 ms)jax-cpu0.03929 mspytorch-cpu0.07879 mstenferro-direct0.1328 ms · 1.69xtenferro-eager0.3431 ms · 4.36x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1893 ms)pytorch-cpu0.1893 msjax-cpu0.4159 mstenferro-direct0.8444 ms · 4.46xtenferro-trace0.845 ms · 4.46x

batched_lu_factor suite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.0415 ms)pytorch-cpu0.0415 msjax-cpu0.1857 msjulia-base0.3493 mstenferro-direct0.1553 ms · 3.74x

batched_lu_factor suite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x16x16,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1173 ms)pytorch-cpu0.1173 msjax-cpu0.5387 msjulia-base1.831 mstenferro-direct0.8396 ms · 7.16x

batched_lu_solve suite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02405 ms)pytorch-cpu0.02405 msjulia-base0.06545 msjax-cpu0.1106 mstenferro-direct0.0328 ms · 1.36x

batched_lu_solve suite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02369 ms)pytorch-cpu0.02369 msjulia-base0.06331 msjax-cpu0.1095 mstenferro-direct0.03162 ms · 1.33x

triangular_solve suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=4096x4096,rhs=64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (7.077 ms)pytorch-cpu7.077 msjulia-base7.787 msjax-cpu74.609 mstenferro-direct10.796 ms · 1.53xtenferro-trace32.756 ms · 4.63x

log_softmax suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.122 ms)pytorch-cpu0.122 msjax-cpu1.057 mstenferro-direct0.4581 ms · 3.75xtenferro-eager0.5694 ms · 4.67x

triangular_solve suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=4096x4096,rhs=64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (9.502 ms)julia-base8.853 mspytorch-cpu9.502 msjax-cpu77.599 mstenferro-direct15.512 ms · 1.63xtenferro-trace45.063 ms · 4.74x

log_softmax suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1257 ms)pytorch-cpu0.1257 msjax-cpu0.8302 mstenferro-direct0.2859 ms · 2.28xtenferro-eager0.6024 ms · 4.79x

batched_lu_solve suite=cpu/linalg_batched / dtype=f64 / threads=1 / shape=1024x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01815 ms)pytorch-cpu0.01815 msjulia-base0.04315 msjax-cpu0.08826 mstenferro-direct0.01507 ms · 0.83x

reduce_prod_axis1 suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.4089 ms)pytorch-cpu0.4089 msjax-cpu0.571 msjulia-base0.6776 mstenferro-direct0.4794 ms · 1.17xtenferro-trace2.070 ms · 5.06x

batched_eigh suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (3.240 ms)pytorch-cpu3.240 msjax-cpu5.956 mstenferro-direct3.340 ms · 1.03xtenferro-trace16.832 ms · 5.19x

householder_qr suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=256x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1585 ms)pytorch-cpu0.1585 msjax-cpu0.4337 mstenferro-direct0.162 ms · 1.02xtenferro-eager0.8346 ms · 5.27x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1286 ms)pytorch-cpu0.1286 msjax-cpu0.3463 mstenferro-direct0.2643 ms · 2.06xtenferro-trace0.6985 ms · 5.43x

batched_lu_solve suite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01854 ms)pytorch-cpu0.01854 msjulia-base0.04453 msjax-cpu0.1011 mstenferro-direct0.01584 ms · 0.85x

batched_lu_solve suite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03714 ms)pytorch-cpu0.03714 msjulia-base0.1044 msjax-cpu0.2035 mstenferro-direct0.05087 ms · 1.37x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1743 ms)pytorch-cpu0.1743 msjax-cpu0.3861 mstenferro-direct0.5475 ms · 3.14xtenferro-trace0.9776 ms · 5.61x

batched_lu_solve suite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x2x2,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02826 ms)pytorch-cpu0.02826 msjulia-base0.07214 msjax-cpu0.1601 mstenferro-direct0.02411 ms · 0.85x

batched_lu_factor suite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x16x16,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1443 ms)pytorch-cpu0.1443 msjax-cpu0.8349 msjulia-base1.192 mstenferro-direct0.5571 ms · 3.86x

rms_norm suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1859 ms)pytorch-cpu0.1859 msjax-cpu0.4974 mstenferro-direct0.1292 ms · 0.69xtenferro-eager1.105 ms · 5.94x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=8x128x128,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1558 ms)pytorch-cpu0.1558 msjax-cpu0.3173 mstenferro-direct0.4711 ms · 3.02xtenferro-trace0.945 ms · 6.06x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.0814 ms)pytorch-cpu0.0814 msjax-cpu0.0955 mstenferro-direct0.0664 ms · 0.82xtenferro-trace0.5099 ms · 6.26x

lstsq suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=768x384,rhs=16 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = best reference (3.531 ms)julia-base3.531 msjax-cpu23.090 ms

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1225 ms)pytorch-cpu0.1225 msjax-cpu0.1775 mstenferro-direct0.1046 ms · 0.85xtenferro-trace0.8063 ms · 6.58x

eigvalsh suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=512x512 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.848 ms)pytorch-cpu6.848 msjulia-base7.433 msjax-cpu18.876 mstenferro-direct7.440 ms · 1.09xtenferro-trace45.806 ms · 6.69x

gelu_tanh suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.02791 ms)pytorch-cpu0.02791 msjax-cpu0.05865 mstenferro-direct0.01584 ms · 0.57xtenferro-eager0.1992 ms · 7.14x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1x128x128,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1066 ms)pytorch-cpu0.1066 msjax-cpu0.1191 mstenferro-direct0.0903 ms · 0.85xtenferro-trace0.7876 ms · 7.38x

silu suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03505 ms)pytorch-cpu0.03505 msjax-cpu0.0605 mstenferro-direct0.005188 ms · 0.15xtenferro-eager0.264 ms · 7.53x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1x128x128,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.06969 ms)pytorch-cpu0.06969 msjax-cpu0.07402 mstenferro-direct0.05929 ms · 0.85xtenferro-trace0.525 ms · 7.53x

batched_lu_factor suite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.04583 ms)pytorch-cpu0.04583 msjax-cpu0.3476 msjulia-base0.5249 mstenferro-direct0.2339 ms · 5.10x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.06424 ms)pytorch-cpu0.06424 msjax-cpu0.1069 mstenferro-direct0.08646 ms · 1.35xtenferro-trace0.5296 ms · 8.24x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1043 ms)pytorch-cpu0.1043 msjax-cpu0.2245 mstenferro-direct0.2235 ms · 2.14xtenferro-trace0.9172 ms · 8.79x

sigmoid suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.027 ms)pytorch-cpu0.027 msjax-cpu0.04086 mstenferro-direct0.004994 ms · 0.18xtenferro-eager0.2426 ms · 8.98x

batched_triangular_solve suite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.09205 ms)pytorch-cpu0.09205 msjulia-base0.1098 msjax-cpu0.1452 mstenferro-direct0.09279 ms · 1.01xtenferro-trace0.8297 ms · 9.01x

rms_norm suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1777 ms)pytorch-cpu0.1777 msjax-cpu0.5384 mstenferro-direct0.1653 ms · 0.93xtenferro-eager1.675 ms · 9.43x

batched_eigh suite=cpu/linalg_batch_families / dtype=c64 / threads=8 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (7.453 ms)pytorch-cpu7.453 msjax-cpu15.774 mstenferro-direct12.987 ms · 1.74xtenferro-trace70.575 ms · 9.47x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.08819 ms)pytorch-cpu0.08819 msjax-cpu0.1906 mstenferro-direct0.1446 ms · 1.64xtenferro-trace0.8592 ms · 9.74x

batched_eigvalsh suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=8x128x128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (3.592 ms)pytorch-cpu3.592 msjax-cpu23.987 mstenferro-direct3.556 ms · 0.99xtenferro-trace37.996 ms · 10.58x

gelu suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03215 ms)pytorch-cpu0.03215 msjax-cpu0.04206 mstenferro-direct0.006787 ms · 0.21xtenferro-eager0.3459 ms · 10.76x

batched_lu suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x8x8 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1304 ms)pytorch-cpu0.1304 msjax-cpu0.3619 mstenferro-direct0.3649 ms · 2.80xtenferro-trace1.424 ms · 10.93x

scatter suite=cpu/indexing_layout / dtype=f64 / threads=8 / shape=262144 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.2469 ms)pytorch-cpu0.2469 msjax-cpu0.3619 msjulia-base0.3867 mstenferro-direct0.616 ms · 2.50xtenferro-trace2.760 ms · 11.18x

scatter suite=cpu/indexing_layout / dtype=f64 / threads=4 / shape=262144 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1556 ms)jax-cpu0.1485 mspytorch-cpu0.1556 msjulia-base0.2485 mstenferro-direct0.3927 ms · 2.52xtenferro-trace1.804 ms · 11.59x

slogdet suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=1024x1024 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (3.721 ms)pytorch-cpu3.721 msjulia-base5.242 msjax-cpu7.202 mstenferro-direct5.137 ms · 1.38xtenferro-trace43.917 ms · 11.80x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.04531 ms)pytorch-cpu0.04531 msjax-cpu0.1858 mstenferro-direct0.1128 ms · 2.49xtenferro-trace0.5527 ms · 12.20x

batched_triangular_solve suite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x16x16,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1569 ms)pytorch-cpu0.1569 msjulia-base0.2257 msjax-cpu0.3204 mstenferro-direct0.1559 ms · 0.99xtenferro-trace1.954 ms · 12.45x

batched_triangular_solve suite=cpu/linalg_batched / dtype=f64 / threads=8 / shape=1024x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.06138 ms)pytorch-cpu0.06138 msjulia-base0.07098 msjax-cpu0.08795 mstenferro-direct0.06715 ms · 1.09xtenferro-trace0.7646 ms · 12.46x

batched_triangular_solve suite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x4x4,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.04025 ms)pytorch-cpu0.04025 msjulia-base0.04335 msjax-cpu0.05323 mstenferro-direct0.04406 ms · 1.09xtenferro-trace0.5067 ms · 12.59x

batched_triangular_solve suite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.06005 ms)pytorch-cpu0.06005 msjulia-base0.06657 msjax-cpu0.08922 mstenferro-direct0.06091 ms · 1.01xtenferro-trace0.7721 ms · 12.86x

take_along_axis suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.782 ms)jax-cpu0.4851 mspytorch-cpu0.782 mstenferro-direct3.893 ms · 4.98xtenferro-eager10.295 ms · 13.16x

take_along_axis suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.6291 ms)jax-cpu0.4123 mspytorch-cpu0.6291 mstenferro-direct3.835 ms · 6.10xtenferro-eager8.994 ms · 14.30x

batched_cholesky suite=cpu/linalg_batch_families / dtype=f64 / threads=4 / shape=1024x4x4 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.03522 ms)pytorch-cpu0.03522 msjax-cpu0.06709 mstenferro-direct0.04913 ms · 1.39xtenferro-trace0.5101 ms · 14.48x

batched_solve suite=cpu/linalg_batch_families / dtype=f64 / threads=8 / shape=1024x8x8,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1783 ms)pytorch-cpu0.1783 msjax-cpu0.5915 mstenferro-direct0.3942 ms · 2.21xtenferro-trace2.761 ms · 15.48x

layer_norm suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1418 ms)pytorch-cpu0.1418 msjax-cpu0.5265 mstenferro-direct0.2 ms · 1.41xtenferro-eager2.262 ms · 15.95x

rms_norm suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.016 ms)pytorch-cpu0.016 msjax-cpu0.05092 mstenferro-direct0.01345 ms · 0.84xtenferro-eager0.2573 ms · 16.09x

gather suite=cpu/indexing_layout / dtype=f64 / threads=4 / shape=262144 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.07837 ms)pytorch-cpu0.07837 msjax-cpu0.09141 msjulia-base0.4582 mstenferro-direct0.07108 ms · 0.91xtenferro-trace1.317 ms · 16.81x

batched_triangular_solve suite=cpu/linalg_batched / dtype=f64 / threads=4 / shape=1024x16x16,rhs=1 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1032 ms)pytorch-cpu0.1032 msjulia-base0.1213 msjax-cpu0.2706 mstenferro-direct0.1027 ms · 0.99xtenferro-trace1.960 ms · 18.98x

reduce_mean suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.0109 ms)pytorch-cpu0.0109 msjax-cpu0.08485 mstenferro-direct0.01818 ms · 1.67xtenferro-eager0.2687 ms · 24.65x

gather suite=cpu/indexing_layout / dtype=f64 / threads=8 / shape=262144 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.06901 ms)pytorch-cpu0.06901 msjax-cpu0.1654 msjulia-base0.6742 mstenferro-direct0.0613 ms · 0.89xtenferro-trace3.068 ms · 44.45x

reduce_mean suite=cpu/neural_public_api / dtype=f32 / threads=4 / shape=1024x64 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.003841 ms)pytorch-cpu0.003841 msjax-cpu0.01427 mstenferro-direct0.003545 ms · 0.92xtenferro-eager0.2424 ms · 63.10x

reduce_mean suite=cpu/neural_public_api / dtype=f32 / threads=8 / shape=4096x256 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.01079 ms)pytorch-cpu0.01079 msjax-cpu0.09967 mstenferro-direct0.01695 ms · 1.57xtenferro-eager0.7229 ms · 67.01x

add_into suite=cpu/output_reuse / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (21.431 ms)julia-base21.347 mspytorch-cpu21.431 msstrided-jl67.000 mstenferro-direct21.511 ms · 1.00x

add_into suite=cpu/output_reuse / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (17.363 ms)pytorch-cpu17.363 msjulia-base21.340 msstrided-jl22.973 mstenferro-direct17.325 ms · 1.00x

add_into suite=cpu/output_reuse / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (18.733 ms)pytorch-cpu18.733 msstrided-jl18.772 msjulia-base22.035 mstenferro-direct18.699 ms · 1.00x

broadcast_in_dim_view suite=cpu/view_metadata / dtype=f64 / threads=1 / shape=8192x1 -> 8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.000711 ms)pytorch-cpu0.000711 mstenferro-direct6.7e-05 ms · 0.09x

broadcast_in_dim_view suite=cpu/view_metadata / dtype=f64 / threads=4 / shape=8192x1 -> 8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.000709 ms)pytorch-cpu0.000709 mstenferro-direct6.7e-05 ms · 0.09x

broadcast_in_dim_view suite=cpu/view_metadata / dtype=f64 / threads=8 / shape=8192x1 -> 8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.001127 ms)pytorch-cpu0.001127 mstenferro-direct0.000108 ms · 0.10x

conj_into suite=cpu/output_reuse / dtype=c64 / threads=1 / shape=16777216 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (15.103 ms)strided-jl14.665 msjulia-base15.058 mspytorch-cpu15.103 mstenferro-direct15.040 ms · 1.00x

conj_into suite=cpu/output_reuse / dtype=c64 / threads=4 / shape=16777216 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (12.608 ms)strided-jl12.601 mspytorch-cpu12.608 msjulia-base15.082 mstenferro-direct12.351 ms · 0.98x

conj_into suite=cpu/output_reuse / dtype=c64 / threads=8 / shape=16777216 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (13.719 ms)pytorch-cpu13.719 msstrided-jl13.801 msjulia-base15.585 mstenferro-direct13.669 ms · 1.00x

copy_read_into suite=cpu/output_reuse / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (15.252 ms)julia-base11.488 mspytorch-cpu15.252 mstenferro-direct12.387 ms · 0.81x

copy_read_into suite=cpu/output_reuse / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (12.676 ms)julia-base11.746 mspytorch-cpu12.676 mstenferro-direct12.382 ms · 0.98x

copy_read_into suite=cpu/output_reuse / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (13.750 ms)julia-base12.181 mspytorch-cpu13.750 mstenferro-direct13.650 ms · 0.99x

div_into suite=cpu/output_reuse / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (21.409 ms)julia-base21.319 mspytorch-cpu21.409 msstrided-jl68.032 mstenferro-direct21.628 ms · 1.01x

div_into suite=cpu/output_reuse / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (17.333 ms)pytorch-cpu17.333 msjulia-base21.303 msstrided-jl22.952 mstenferro-direct17.312 ms · 1.00x

div_into suite=cpu/output_reuse / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (18.725 ms)pytorch-cpu18.725 msstrided-jl18.759 msjulia-base22.208 mstenferro-direct18.656 ms · 1.00x

dot_general_read_into suite=cpu/output_reuse / dtype=f64 / threads=1 / shape=1024x1024 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (30.086 ms)pytorch-cpu30.086 msjulia-base31.015 mstenferro-direct29.206 ms · 0.97x

dot_general_read_into suite=cpu/output_reuse / dtype=f64 / threads=4 / shape=1024x1024 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (9.865 ms)julia-base8.194 mspytorch-cpu9.865 mstenferro-direct14.052 ms · 1.42x

dot_general_read_into suite=cpu/output_reuse / dtype=f64 / threads=8 / shape=1024x1024 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (8.588 ms)julia-base6.629 mspytorch-cpu8.588 mstenferro-direct13.334 ms · 1.55x

dot_general_read_into_accum suite=cpu/output_reuse / dtype=f64 / threads=1 / shape=1024x1024 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (29.741 ms)pytorch-cpu29.741 msjulia-base30.750 mstenferro-direct28.955 ms · 0.97x

dot_general_read_into_accum suite=cpu/output_reuse / dtype=f64 / threads=4 / shape=1024x1024 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (9.698 ms)julia-base8.163 mspytorch-cpu9.698 mstenferro-direct8.906 ms · 0.92x

dot_general_read_into_accum suite=cpu/output_reuse / dtype=f64 / threads=8 / shape=1024x1024 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (8.275 ms)julia-base6.495 mspytorch-cpu8.275 mstenferro-direct7.905 ms · 0.96x

mul_into suite=cpu/output_reuse / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (21.393 ms)julia-base21.379 mspytorch-cpu21.393 msstrided-jl67.609 mstenferro-direct21.488 ms · 1.00x

mul_into suite=cpu/output_reuse / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (17.312 ms)pytorch-cpu17.312 msjulia-base21.329 msstrided-jl22.898 mstenferro-direct17.334 ms · 1.00x

mul_into suite=cpu/output_reuse / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (18.712 ms)pytorch-cpu18.712 msstrided-jl18.842 msjulia-base22.087 mstenferro-direct18.674 ms · 1.00x

neg_into suite=cpu/output_reuse / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (15.310 ms)julia-base15.268 mspytorch-cpu15.310 msstrided-jl50.186 mstenferro-direct15.392 ms · 1.01x

neg_into suite=cpu/output_reuse / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (12.689 ms)pytorch-cpu12.689 msjulia-base15.254 msstrided-jl17.661 mstenferro-direct12.389 ms · 0.98x

neg_into suite=cpu/output_reuse / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (13.736 ms)pytorch-cpu13.736 msstrided-jl14.228 msjulia-base15.698 mstenferro-direct13.649 ms · 0.99x

rank_revealing_qr suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=256x128 · n=7

bar = median time (log scale) · shorter (left) is fastertenferro-direct0.598 mstenferro-eager0.6067 ms

rank_revealing_qr suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=768x384 · n=7

bar = median time (log scale) · shorter (left) is fastertenferro-direct11.935 mstenferro-eager12.032 ms

rank_revealing_qr suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=256x128 · n=7

bar = median time (log scale) · shorter (left) is fastertenferro-direct0.507 mstenferro-eager0.7404 ms

rank_revealing_qr suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=768x384 · n=7

bar = median time (log scale) · shorter (left) is fastertenferro-direct8.269 mstenferro-eager10.425 ms

rank_revealing_qr suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=256x128 · n=7

bar = median time (log scale) · shorter (left) is fastertenferro-direct0.8197 mstenferro-eager1.354 ms

rank_revealing_qr suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=768x384 · n=7

bar = median time (log scale) · shorter (left) is fastertenferro-direct12.068 mstenferro-eager14.463 ms

rank_revealing_qr_deficient suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=256x128 · n=7

bar = median time (log scale) · shorter (left) is fastertenferro-direct0.5604 mstenferro-eager0.5689 ms

rank_revealing_qr_deficient suite=cpu/linalg_uncovered / dtype=f64 / threads=1 / shape=768x384 · n=7

bar = median time (log scale) · shorter (left) is fastertenferro-direct11.367 mstenferro-eager11.471 ms

rank_revealing_qr_deficient suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=256x128 · n=7

bar = median time (log scale) · shorter (left) is fastertenferro-direct0.4721 mstenferro-eager1.200 ms

rank_revealing_qr_deficient suite=cpu/linalg_uncovered / dtype=f64 / threads=4 / shape=768x384 · n=7

bar = median time (log scale) · shorter (left) is fastertenferro-direct7.790 mstenferro-eager7.921 ms

rank_revealing_qr_deficient suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=256x128 · n=7

bar = median time (log scale) · shorter (left) is fastertenferro-direct0.7572 mstenferro-eager0.8986 ms

rank_revealing_qr_deficient suite=cpu/linalg_uncovered / dtype=f64 / threads=8 / shape=768x384 · n=7

bar = median time (log scale) · shorter (left) is fastertenferro-direct11.289 mstenferro-eager13.738 ms

reduce_sum_squares_axis0 suite=cpu/elementwise_reduction / dtype=f64 / threads=1 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is fastertenferro-direct0.6167 mstenferro-eager0.6173 ms

reduce_sum_squares_axis0 suite=cpu/elementwise_reduction / dtype=f64 / threads=4 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is fastertenferro-direct0.387 mstenferro-eager0.9259 ms

reduce_sum_squares_axis0 suite=cpu/elementwise_reduction / dtype=f64 / threads=8 / shape=2048x2048 · n=7

bar = median time (log scale) · shorter (left) is fastertenferro-direct0.5433 mstenferro-eager0.8878 ms

reshape_view suite=cpu/view_metadata / dtype=f64 / threads=1 / shape=33554432 -> 8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.000654 ms)julia-base4e-06 mspytorch-cpu0.000654 mstenferro-direct0.000436 ms · 0.67x

reshape_view suite=cpu/view_metadata / dtype=f64 / threads=4 / shape=33554432 -> 8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.000653 ms)julia-base7e-06 mspytorch-cpu0.000653 mstenferro-direct0.000463 ms · 0.71x

reshape_view suite=cpu/view_metadata / dtype=f64 / threads=8 / shape=33554432 -> 8192x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.001042 ms)julia-base7e-06 mspytorch-cpu0.001042 mstenferro-direct0.000513 ms · 0.49x

slice_view suite=cpu/view_metadata / dtype=f64 / threads=1 / shape=4194304 -> 2096128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.000683 ms)julia-base7e-06 mspytorch-cpu0.000683 mstenferro-direct0.000318 ms · 0.47x

slice_view suite=cpu/view_metadata / dtype=f64 / threads=4 / shape=4194304 -> 2096128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.000677 ms)julia-base1.1e-05 mspytorch-cpu0.000677 mstenferro-direct0.000352 ms · 0.52x

slice_view suite=cpu/view_metadata / dtype=f64 / threads=8 / shape=4194304 -> 2096128 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.001078 ms)julia-base1.8e-05 mspytorch-cpu0.001078 mstenferro-direct0.000356 ms · 0.33x

solve_read_into suite=cpu/output_reuse / dtype=f64 / threads=1 / shape=256x256,rhs=16 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.4444 ms)pytorch-cpu0.4444 mstenferro-direct0.3697 ms · 0.83x

solve_read_into suite=cpu/output_reuse / dtype=f64 / threads=1 / shape=768x768,rhs=16 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (6.802 ms)pytorch-cpu6.802 mstenferro-direct5.961 ms · 0.88x

solve_read_into suite=cpu/output_reuse / dtype=f64 / threads=4 / shape=256x256,rhs=16 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.1876 ms)pytorch-cpu0.1876 mstenferro-direct0.1559 ms · 0.83x

solve_read_into suite=cpu/output_reuse / dtype=f64 / threads=4 / shape=768x768,rhs=16 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (2.200 ms)pytorch-cpu2.200 mstenferro-direct1.903 ms · 0.86x

solve_read_into suite=cpu/output_reuse / dtype=f64 / threads=8 / shape=256x256,rhs=16 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.2786 ms)pytorch-cpu0.2786 mstenferro-direct0.2185 ms · 0.78x

solve_read_into suite=cpu/output_reuse / dtype=f64 / threads=8 / shape=768x768,rhs=16 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (1.943 ms)pytorch-cpu1.943 mstenferro-direct1.821 ms · 0.94x

sub_into suite=cpu/output_reuse / dtype=f64 / threads=1 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (21.440 ms)julia-base21.347 mspytorch-cpu21.440 msstrided-jl66.960 mstenferro-direct21.502 ms · 1.00x

sub_into suite=cpu/output_reuse / dtype=f64 / threads=4 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (17.333 ms)pytorch-cpu17.333 msjulia-base21.368 msstrided-jl22.974 mstenferro-direct17.321 ms · 1.00x

sub_into suite=cpu/output_reuse / dtype=f64 / threads=8 / shape=33554432 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (18.763 ms)strided-jl18.722 mspytorch-cpu18.763 msjulia-base22.039 mstenferro-direct18.655 ms · 0.99x

transpose_view suite=cpu/view_metadata / dtype=f64 / threads=1 / shape=4096x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.000651 ms)julia-base3e-06 mspytorch-cpu0.000651 mstenferro-direct0.000216 ms · 0.33x

transpose_view suite=cpu/view_metadata / dtype=f64 / threads=4 / shape=4096x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.000651 ms)julia-base6e-06 mspytorch-cpu0.000651 mstenferro-direct0.00024 ms · 0.37x

transpose_view suite=cpu/view_metadata / dtype=f64 / threads=8 / shape=4096x4096 · n=7

bar = median time (log scale) · shorter (left) is faster · dashed line = PyTorch (0.001038 ms)julia-base6e-06 mspytorch-cpu0.001038 mstenferro-direct0.000251 ms · 0.24x

Original report

CPU Public API Benchmark Results

Latest run: PUBLICATION_GATE_PROFILE=full ./scripts/run_cpu_public_api.sh 1 4 8.

This file is generated from sequential CPU public API runs under data/results/zen5-cpu/cpu/public_api/20261028_004801.

CPU Information

Thread Environments

Threads: 1

Threads: 4

Threads: 8

Timing Discipline

Threads: 1 4 8

CPU Benchmark Items

Median ± IQR (ms). Missing backends are shown as -.

suite benchmark dtype threads shape tenferro-rs direct API (ms) tenferro-rs eager mode (ms) tenferro-rs trace mode (ms) PyTorch Python (ms) JAX Python (XLA CPU) (ms) Julia (Base/LinearAlgebra) (ms) Julia (Strided.jl) (ms)
cpu/complex cholesky c64 1 448x448 2.439 ± 0.005 - 2.546 ± 0.008 2.953 ± 0.009 2.531 ± 0.008 2.550 ± 0.820 -
cpu/complex cholesky c64 4 448x448 0.746 ± 0.005 - 1.211 ± 0.926 0.853 ± 0.006 1.215 ± 0.010 1.146 ± 0.889 -
cpu/complex cholesky c64 8 448x448 0.788 ± 0.008 - 2.556 ± 0.640 0.712 ± 0.005 1.923 ± 1.094 1.276 ± 0.627 -
cpu/complex conj c64 1 16777216 46.554 ± 0.736 - 46.547 ± 1.529 46.428 ± 0.981 54.619 ± 8.423 51.708 ± 0.844 59.576 ± 1.660
cpu/complex conj c64 4 16777216 18.140 ± 0.200 - 17.504 ± 0.108 18.599 ± 0.116 29.292 ± 0.558 52.507 ± 0.846 27.885 ± 1.721
cpu/complex conj c64 8 16777216 15.856 ± 0.445 - 15.163 ± 0.215 16.413 ± 0.210 26.903 ± 0.494 69.735 ± 1.215 28.469 ± 0.679
cpu/complex div c64 1 8388608 46.621 ± 0.226 - 55.341 ± 0.700 46.200 ± 0.292 52.712 ± 1.086 56.704 ± 0.351 59.592 ± 0.595
cpu/complex div c64 4 8388608 14.611 ± 0.285 - 14.026 ± 0.166 15.108 ± 0.222 27.092 ± 0.725 54.204 ± 0.390 19.536 ± 0.911
cpu/complex div c64 8 8388608 11.630 ± 0.315 - 10.984 ± 0.373 11.380 ± 0.134 21.510 ± 0.322 77.617 ± 0.087 20.663 ± 2.256
cpu/complex dot_general c64 1 640x640 31.076 ± 0.107 - 31.139 ± 0.040 30.198 ± 0.043 36.868 ± 0.059 32.319 ± 0.931 -
cpu/complex dot_general c64 4 640x640 11.089 ± 10.690 - 11.074 ± 0.020 10.650 ± 0.025 10.405 ± 0.140 8.558 ± 0.135 -
cpu/complex dot_general c64 8 640x640 13.668 ± 5.355 - 7.469 ± 0.310 6.877 ± 0.050 8.807 ± 1.063 6.932 ± 0.297 -
cpu/complex dot_general_with_conj c64 1 640x640 31.539 ± 0.089 - unsupported 30.833 ± 0.039 37.380 ± 0.055 31.964 ± 0.216 -
cpu/complex dot_general_with_conj c64 4 640x640 11.729 ± 0.021 - unsupported 11.139 ± 0.055 10.850 ± 0.331 8.775 ± 0.986 -
cpu/complex dot_general_with_conj c64 8 640x640 8.592 ± 0.319 - unsupported 7.286 ± 0.041 8.572 ± 0.402 7.112 ± 0.457 -
cpu/complex eig c64 1 112x112 5.623 ± 0.013 - 5.627 ± 0.008 6.089 ± 0.015 6.271 ± 0.026 6.967 ± 0.022 -
cpu/complex eig c64 4 112x112 5.184 ± 0.016 - 5.215 ± 0.007 5.237 ± 0.022 6.999 ± 0.002 6.343 ± 0.016 -
cpu/complex eig c64 8 112x112 7.759 ± 0.020 - 8.485 ± 0.030 7.821 ± 0.021 10.016 ± 0.020 10.057 ± 0.029 -
cpu/complex exp c64 1 4194304 40.295 ± 0.123 - 41.080 ± 0.046 55.229 ± 0.480 44.639 ± 0.835 36.978 ± 2.935 37.299 ± 2.705
cpu/complex exp c64 4 4194304 10.553 ± 0.015 - 14.741 ± 10.797 14.342 ± 0.213 22.667 ± 0.193 36.585 ± 0.210 12.147 ± 1.191
cpu/complex exp c64 8 4194304 8.003 ± 0.028 - 16.286 ± 8.623 11.185 ± 0.445 24.649 ± 0.605 55.286 ± 0.790 12.477 ± 1.157
cpu/complex log c64 1 4194304 52.057 ± 0.040 - 51.926 ± 0.108 70.089 ± 0.336 84.762 ± 0.164 61.798 ± 0.135 64.859 ± 0.234
cpu/complex log c64 4 4194304 13.608 ± 0.030 - 13.710 ± 6.025 18.811 ± 0.142 21.936 ± 0.528 63.365 ± 0.824 19.135 ± 0.896
cpu/complex log c64 8 4194304 10.159 ± 0.040 - 10.234 ± 10.505 14.622 ± 0.446 17.215 ± 0.442 96.941 ± 0.249 17.942 ± 0.805
cpu/complex mul c64 1 8388608 34.618 ± 0.181 - 34.822 ± 0.130 32.575 ± 0.198 38.019 ± 0.422 32.877 ± 0.201 39.247 ± 0.285
cpu/complex mul c64 4 8388608 13.288 ± 0.561 - 12.702 ± 0.343 11.812 ± 0.338 19.386 ± 0.522 30.778 ± 0.110 16.097 ± 1.125
cpu/complex mul c64 8 8388608 10.624 ± 0.312 - 10.412 ± 0.493 10.397 ± 0.201 16.757 ± 0.224 39.671 ± 0.092 19.413 ± 2.367
cpu/complex norm_fro c64 1 2048x1536 1.041 ± 0.081 - 9.534 ± 0.014 9.713 ± 0.013 8.010 ± 0.149 2.430 ± 0.005 -
cpu/complex norm_fro c64 4 2048x1536 1.240 ± 0.031 - 9.175 ± 0.054 2.562 ± 0.032 2.608 ± 0.150 2.428 ± 0.008 -
cpu/complex norm_fro c64 8 2048x1536 1.591 ± 0.085 - 7.866 ± 3.281 1.956 ± 0.019 2.720 ± 0.043 3.851 ± 0.018 -
cpu/complex qr c64 1 256x256 4.560 ± 0.008 - 4.676 ± 0.020 5.399 ± 0.009 4.320 ± 0.008 5.539 ± 0.043 -
cpu/complex qr c64 4 256x256 1.933 ± 0.008 - 2.387 ± 0.450 2.145 ± 0.007 2.686 ± 0.028 2.933 ± 0.158 -
cpu/complex qr c64 8 256x256 2.399 ± 0.015 - 3.570 ± 0.827 2.790 ± 0.012 3.812 ± 0.021 4.185 ± 0.043 -
cpu/complex solve c64 1 384x384,rhs=8 3.146 ± 0.007 - 3.182 ± 0.036 3.190 ± 0.014 3.123 ± 0.006 3.062 ± 0.014 -
cpu/complex solve c64 4 384x384,rhs=8 1.116 ± 0.026 - 1.567 ± 0.008 1.091 ± 0.012 1.534 ± 0.102 1.284 ± 0.013 -
cpu/complex solve c64 8 384x384,rhs=8 1.150 ± 0.010 - 2.251 ± 0.156 1.262 ± 0.009 2.013 ± 0.093 1.491 ± 0.023 -
cpu/complex svd c64 1 160x160 3.401 ± 0.017 - 3.405 ± 0.007 4.096 ± 0.012 2.920 ± 0.004 2.933 ± 0.014 -
cpu/complex svd c64 4 160x160 1.760 ± 0.016 - 2.208 ± 0.006 1.941 ± 0.006 2.092 ± 0.036 1.972 ± 0.013 -
cpu/complex svd c64 8 160x160 2.153 ± 0.041 - 2.868 ± 0.012 2.456 ± 0.060 3.146 ± 0.051 3.168 ± 0.037 -
cpu/complex tensordot c64 1 640x640 31.142 ± 0.087 - 31.024 ± 0.347 30.248 ± 0.038 36.879 ± 0.025 31.477 ± 0.031 -
cpu/complex tensordot c64 4 640x640 11.080 ± 0.041 - 11.088 ± 0.142 10.711 ± 0.036 10.391 ± 0.097 8.341 ± 0.063 -
cpu/complex tensordot c64 8 640x640 7.628 ± 0.385 - 7.092 ± 0.060 6.911 ± 0.077 8.317 ± 0.987 6.683 ± 0.026 -
cpu/einsum_concrete einsum_ij_jk_ik f64 1 1024x1024 29.906 ± 0.025 - unsupported 30.122 ± 0.065 29.537 ± 0.065 - -
cpu/einsum_concrete einsum_ij_jk_ik f64 4 1024x1024 16.356 ± 7.294 - unsupported 9.954 ± 0.057 8.219 ± 0.114 - -
cpu/einsum_concrete einsum_ij_jk_ik f64 8 1024x1024 13.680 ± 1.658 - unsupported 8.649 ± 0.030 7.046 ± 0.666 - -
cpu/elementwise_reduction abs f64 1 33554432 46.078 ± 1.267 - 47.237 ± 1.374 46.327 ± 0.222 55.931 ± 2.112 46.937 ± 2.161 87.355 ± 0.930
cpu/elementwise_reduction abs f64 4 33554432 17.094 ± 0.099 - 16.731 ± 0.099 17.751 ± 0.260 31.457 ± 1.161 47.965 ± 2.290 32.556 ± 3.229
cpu/elementwise_reduction abs f64 8 33554432 14.611 ± 0.075 - 14.352 ± 0.188 15.575 ± 0.220 27.117 ± 0.226 71.695 ± 0.813 37.607 ± 0.684
cpu/elementwise_reduction add f64 1 33554432 57.781 ± 0.984 - 55.794 ± 0.649 57.687 ± 0.782 70.241 ± 0.458 53.893 ± 0.525 102.452 ± 0.969
cpu/elementwise_reduction add f64 4 33554432 22.101 ± 0.176 - 21.079 ± 0.069 22.911 ± 0.219 36.325 ± 0.846 53.866 ± 0.367 38.333 ± 2.676
cpu/elementwise_reduction add f64 8 33554432 19.388 ± 0.207 - 18.702 ± 0.066 20.929 ± 0.214 31.735 ± 0.399 69.502 ± 0.519 41.867 ± 3.882
cpu/elementwise_reduction chain_log1p_exp_mul f64 1 4194304 9.909 ± 0.126 - 28.479 ± 0.159 28.954 ± 0.621 24.470 ± 0.204 33.428 ± 2.339 36.403 ± 1.054
cpu/elementwise_reduction chain_log1p_exp_mul f64 4 4194304 5.077 ± 0.076 - 16.336 ± 7.387 12.675 ± 0.424 14.916 ± 0.399 33.492 ± 0.717 9.810 ± 4.728
cpu/elementwise_reduction chain_log1p_exp_mul f64 8 4194304 5.783 ± 0.149 - 14.034 ± 6.246 13.536 ± 0.819 12.747 ± 0.240 52.281 ± 0.425 12.742 ± 7.645
cpu/elementwise_reduction clamp f64 1 8388608 7.068 ± 0.029 - 7.185 ± 0.017 18.478 ± 0.140 22.304 ± 0.262 16.276 ± 2.897 26.095 ± 3.277
cpu/elementwise_reduction clamp f64 4 8388608 5.691 ± 0.053 - 5.627 ± 0.098 6.981 ± 0.117 11.192 ± 0.151 14.113 ± 3.081 9.302 ± 5.624
cpu/elementwise_reduction clamp f64 8 8388608 6.108 ± 0.020 - 6.780 ± 0.354 6.376 ± 0.193 9.723 ± 0.269 17.584 ± 4.498 10.957 ± 8.267
cpu/elementwise_reduction compare_lt f64 1 33554432 13.279 ± 0.031 - 13.155 ± 0.089 23.432 ± 0.112 22.905 ± 0.114 13.390 ± 0.060 -
cpu/elementwise_reduction compare_lt f64 4 33554432 11.414 ± 0.020 - 11.446 ± 0.630 12.087 ± 0.166 14.316 ± 0.249 13.557 ± 0.099 -
cpu/elementwise_reduction compare_lt f64 8 33554432 11.645 ± 0.022 - 11.677 ± 0.025 12.112 ± 0.113 13.431 ± 0.082 14.577 ± 0.149 -
cpu/elementwise_reduction cos f64 1 8388608 9.342 ± 0.027 - 9.372 ± 0.021 31.191 ± 1.153 59.968 ± 0.186 31.405 ± 3.935 33.596 ± 3.360
cpu/elementwise_reduction cos f64 4 8388608 3.088 ± 2.036 - 5.316 ± 0.012 9.232 ± 0.154 31.282 ± 0.285 32.882 ± 4.608 9.372 ± 4.945
cpu/elementwise_reduction cos f64 8 8388608 3.350 ± 0.044 - 5.098 ± 0.400 6.904 ± 0.337 31.749 ± 0.654 47.484 ± 5.870 11.867 ± 9.994
cpu/elementwise_reduction div f64 1 33554432 56.094 ± 0.600 - 53.939 ± 0.857 57.005 ± 0.708 64.742 ± 1.051 53.101 ± 0.757 95.174 ± 0.699
cpu/elementwise_reduction div f64 4 33554432 21.155 ± 0.111 - 20.453 ± 0.111 22.216 ± 0.258 36.445 ± 1.301 56.280 ± 1.508 41.615 ± 3.671
cpu/elementwise_reduction div f64 8 33554432 19.044 ± 0.134 - 18.588 ± 0.122 20.282 ± 0.165 31.670 ± 0.591 78.448 ± 0.295 40.324 ± 4.904
cpu/elementwise_reduction exp f64 1 8388608 5.360 ± 0.012 - 5.367 ± 0.015 23.602 ± 0.182 15.857 ± 0.640 26.135 ± 3.930 28.317 ± 3.251
cpu/elementwise_reduction exp f64 4 8388608 2.901 ± 0.022 - 3.751 ± 0.023 7.438 ± 0.267 8.969 ± 1.276 27.251 ± 4.363 7.791 ± 4.504
cpu/elementwise_reduction exp f64 8 8388608 3.401 ± 0.109 - 4.336 ± 1.500 5.705 ± 0.615 8.891 ± 0.236 40.129 ± 5.815 9.327 ± 9.031
cpu/elementwise_reduction expm1 f64 1 4194304 7.519 ± 0.036 - 7.527 ± 0.042 11.802 ± 0.150 10.853 ± 0.042 15.669 ± 3.022 17.098 ± 2.688
cpu/elementwise_reduction expm1 f64 4 4194304 1.946 ± 0.008 - 4.154 ± 0.013 3.651 ± 0.150 5.798 ± 0.066 15.839 ± 0.787 4.640 ± 3.456
cpu/elementwise_reduction expm1 f64 8 4194304 1.606 ± 0.027 - 3.687 ± 0.030 2.876 ± 0.220 6.089 ± 0.244 23.819 ± 0.351 6.763 ± 6.258
cpu/elementwise_reduction log f64 1 8388608 9.449 ± 0.013 - 9.467 ± 0.043 25.692 ± 0.459 29.137 ± 0.437 32.975 ± 2.395 37.381 ± 2.852
cpu/elementwise_reduction log f64 4 8388608 2.983 ± 0.020 - 2.964 ± 0.036 7.553 ± 0.252 15.139 ± 0.389 33.202 ± 3.155 9.525 ± 6.105
cpu/elementwise_reduction log f64 8 8388608 3.324 ± 0.041 - 5.207 ± 0.768 6.238 ± 0.385 14.793 ± 0.460 50.140 ± 5.287 7.870 ± 8.860
cpu/elementwise_reduction log1p f64 1 4194304 4.576 ± 0.015 - 4.606 ± 0.016 10.825 ± 0.154 15.447 ± 0.058 18.672 ± 2.308 20.122 ± 2.615
cpu/elementwise_reduction log1p f64 4 4194304 1.327 ± 0.030 - 2.635 ± 0.016 3.322 ± 0.125 9.277 ± 0.118 18.648 ± 0.174 5.363 ± 4.019
cpu/elementwise_reduction log1p f64 8 4194304 1.738 ± 0.031 - 2.971 ± 0.039 2.836 ± 0.283 8.525 ± 0.382 29.044 ± 0.302 4.480 ± 8.252
cpu/elementwise_reduction masked_log_softmax_axis1 f64 1 1024x64 0.105 ± 0.002 0.118 ± 0.001 unsupported unsupported 0.179 ± 0.000 - -
cpu/elementwise_reduction masked_log_softmax_axis1 f64 4 1024x64 0.050 ± 0.001 0.065 ± 0.002 unsupported unsupported 0.071 ± 0.015 - -
cpu/elementwise_reduction masked_log_softmax_axis1 f64 8 1024x64 0.071 ± 0.002 0.093 ± 2.757 unsupported unsupported 0.164 ± 0.006 - -
cpu/elementwise_reduction maximum f64 1 33554432 60.526 ± 0.552 - 59.061 ± 0.457 57.734 ± 0.206 60.213 ± 1.235 58.489 ± 0.821 104.418 ± 0.830
cpu/elementwise_reduction maximum f64 4 33554432 21.928 ± 0.112 - 21.365 ± 0.116 22.488 ± 0.219 34.074 ± 0.220 57.340 ± 0.841 39.983 ± 3.413
cpu/elementwise_reduction maximum f64 8 33554432 19.343 ± 0.124 - 18.660 ± 0.101 20.002 ± 0.123 32.035 ± 0.235 78.189 ± 0.816 42.240 ± 0.558
cpu/elementwise_reduction minimum f64 1 33554432 61.866 ± 0.677 - 58.475 ± 0.900 57.661 ± 0.256 60.260 ± 0.958 58.996 ± 1.477 104.245 ± 0.458
cpu/elementwise_reduction minimum f64 4 33554432 22.043 ± 0.160 - 21.424 ± 0.113 22.483 ± 0.265 35.042 ± 1.147 58.840 ± 0.592 39.474 ± 2.717
cpu/elementwise_reduction minimum f64 8 33554432 19.287 ± 0.093 - 18.715 ± 0.177 20.010 ± 0.180 32.008 ± 0.223 72.968 ± 1.932 38.662 ± 4.216
cpu/elementwise_reduction mul f64 1 33554432 56.975 ± 1.268 - 56.043 ± 0.715 56.197 ± 0.792 70.393 ± 0.478 55.384 ± 0.918 101.466 ± 0.679
cpu/elementwise_reduction mul f64 4 33554432 22.120 ± 0.118 - 21.038 ± 0.049 22.874 ± 0.125 36.814 ± 0.776 59.090 ± 0.267 39.770 ± 3.901
cpu/elementwise_reduction mul f64 8 33554432 19.598 ± 0.191 - 18.756 ± 0.079 20.881 ± 0.177 31.791 ± 0.248 79.269 ± 0.369 41.527 ± 2.813
cpu/elementwise_reduction neg f64 1 33554432 45.855 ± 1.563 - 48.575 ± 2.474 47.070 ± 0.669 49.140 ± 8.156 48.259 ± 1.717 86.884 ± 0.963
cpu/elementwise_reduction neg f64 4 33554432 16.944 ± 0.160 - 16.825 ± 0.195 17.624 ± 0.322 30.350 ± 0.203 51.064 ± 1.049 35.322 ± 3.004
cpu/elementwise_reduction neg f64 8 33554432 14.595 ± 0.069 - 14.286 ± 5.027 15.520 ± 0.179 27.101 ± 0.182 69.935 ± 0.743 35.182 ± 3.440
cpu/elementwise_reduction pow f64 1 4194304 28.251 ± 0.057 - 28.170 ± 0.084 22.420 ± 0.229 35.425 ± 0.201 72.059 ± 3.289 50.442 ± 3.049
cpu/elementwise_reduction pow f64 4 4194304 7.431 ± 0.015 - 15.118 ± 7.776 6.062 ± 0.266 19.822 ± 0.195 71.578 ± 0.833 14.068 ± 3.825
cpu/elementwise_reduction pow f64 8 4194304 5.644 ± 0.024 - 11.695 ± 5.926 4.864 ± 0.202 17.818 ± 0.258 112.591 ± 0.441 10.652 ± 5.786
cpu/elementwise_reduction reduce_max_all f64 1 8192x4096 9.122 ± 0.017 - 9.048 ± 0.031 7.457 ± 0.020 38.309 ± 0.109 8.862 ± 0.113 -
cpu/elementwise_reduction reduce_max_all f64 4 8192x4096 5.323 ± 0.024 - 5.862 ± 0.220 5.300 ± 0.063 19.533 ± 0.093 9.276 ± 0.084 -
cpu/elementwise_reduction reduce_max_all f64 8 8192x4096 5.329 ± 0.013 - 5.935 ± 0.253 5.414 ± 0.033 20.915 ± 0.381 10.314 ± 0.363 -
cpu/elementwise_reduction reduce_max_axis0 f64 1 2048x2048 1.154 ± 0.014 - 1.170 ± 0.012 17.859 ± 0.733 1.254 ± 0.088 1.121 ± 0.151 -
cpu/elementwise_reduction reduce_max_axis0 f64 4 2048x2048 0.400 ± 0.017 - 1.126 ± 0.022 4.974 ± 0.120 0.869 ± 0.051 0.879 ± 0.218 -
cpu/elementwise_reduction reduce_max_axis0 f64 8 2048x2048 0.661 ± 0.068 - 1.607 ± 0.704 5.152 ± 0.883 1.011 ± 0.362 1.484 ± 0.276 -
cpu/elementwise_reduction reduce_max_axis1 f64 1 2048x2048 1.001 ± 0.068 - 1.002 ± 0.015 1.701 ± 0.014 2.514 ± 0.017 0.771 ± 0.216 -
cpu/elementwise_reduction reduce_max_axis1 f64 4 2048x2048 0.819 ± 0.030 - 1.927 ± 0.059 0.465 ± 0.018 1.296 ± 0.076 0.709 ± 0.249 -
cpu/elementwise_reduction reduce_max_axis1 f64 8 2048x2048 0.594 ± 0.037 - 1.711 ± 0.622 0.654 ± 0.030 1.816 ± 0.401 0.810 ± 0.197 -
cpu/elementwise_reduction reduce_min_all f64 1 8192x4096 8.390 ± 0.083 - 8.317 ± 0.033 7.459 ± 0.021 38.345 ± 0.105 9.918 ± 0.074 -
cpu/elementwise_reduction reduce_min_all f64 4 8192x4096 5.317 ± 0.031 - 6.584 ± 0.286 5.274 ± 0.021 19.518 ± 0.071 10.665 ± 0.025 -
cpu/elementwise_reduction reduce_min_all f64 8 8192x4096 5.327 ± 0.019 - 5.808 ± 0.226 5.392 ± 0.049 20.615 ± 0.219 11.889 ± 0.140 -
cpu/elementwise_reduction reduce_min_axis0 f64 1 2048x2048 1.072 ± 0.008 - 1.081 ± 0.015 18.235 ± 0.056 1.217 ± 0.111 1.157 ± 0.313 -
cpu/elementwise_reduction reduce_min_axis0 f64 4 2048x2048 0.408 ± 0.014 - 0.414 ± 0.023 5.082 ± 0.091 1.002 ± 0.335 1.133 ± 0.267 -
cpu/elementwise_reduction reduce_min_axis0 f64 8 2048x2048 1.371 ± 0.071 - 1.954 ± 0.875 5.271 ± 0.697 0.968 ± 0.378 1.261 ± 0.068 -
cpu/elementwise_reduction reduce_min_axis1 f64 1 4096x4096 6.080 ± 0.044 - 6.093 ± 0.047 6.622 ± 0.023 9.896 ± 0.019 3.614 ± 0.047 -
cpu/elementwise_reduction reduce_min_axis1 f64 4 4096x4096 3.849 ± 0.045 - 7.411 ± 0.118 2.524 ± 0.009 5.085 ± 0.909 3.556 ± 0.050 -
cpu/elementwise_reduction reduce_min_axis1 f64 8 4096x4096 2.740 ± 0.014 - 4.937 ± 2.225 2.701 ± 0.049 5.972 ± 0.107 4.052 ± 0.028 -
cpu/elementwise_reduction reduce_prod_all f64 1 8192x4096 5.980 ± 0.155 - 5.883 ± 0.022 5.921 ± 0.038 18.801 ± 0.129 5.723 ± 0.034 -
cpu/elementwise_reduction reduce_prod_all f64 4 8192x4096 5.254 ± 0.015 - 5.772 ± 0.028 5.282 ± 0.020 10.227 ± 0.400 6.210 ± 0.401 -
cpu/elementwise_reduction reduce_prod_all f64 8 8192x4096 5.409 ± 0.013 - 5.373 ± 0.072 5.433 ± 0.010 10.009 ± 0.042 6.298 ± 0.016 -
cpu/elementwise_reduction reduce_prod_axis0 f64 1 2048x2048 0.604 ± 0.011 - 0.629 ± 0.115 2.546 ± 0.017 1.312 ± 0.093 0.755 ± 0.177 -
cpu/elementwise_reduction reduce_prod_axis0 f64 4 2048x2048 0.389 ± 0.014 - 1.311 ± 0.040 1.458 ± 0.110 0.850 ± 0.067 0.702 ± 0.182 -
cpu/elementwise_reduction reduce_prod_axis0 f64 8 2048x2048 0.540 ± 0.013 - 1.532 ± 0.959 1.806 ± 0.021 0.916 ± 0.371 0.845 ± 0.198 -
cpu/elementwise_reduction reduce_prod_axis1 f64 1 2048x2048 0.653 ± 0.106 - 0.722 ± 0.094 0.597 ± 0.176 0.907 ± 0.272 0.730 ± 0.195 -
cpu/elementwise_reduction reduce_prod_axis1 f64 4 2048x2048 0.479 ± 0.014 - 2.070 ± 0.033 0.409 ± 0.011 0.571 ± 0.056 0.678 ± 0.246 -
cpu/elementwise_reduction reduce_prod_axis1 f64 8 2048x2048 1.201 ± 0.536 - 2.057 ± 0.644 0.543 ± 0.016 0.883 ± 0.367 0.875 ± 0.212 -
cpu/elementwise_reduction reduce_sum_all f64 1 8192x4096 5.935 ± 0.029 - 6.018 ± 0.074 6.338 ± 0.015 18.811 ± 0.102 5.756 ± 0.044 -
cpu/elementwise_reduction reduce_sum_all f64 4 8192x4096 5.298 ± 0.037 - 5.666 ± 0.146 5.296 ± 0.068 9.597 ± 0.576 6.241 ± 0.314 -
cpu/elementwise_reduction reduce_sum_all f64 8 8192x4096 5.402 ± 0.011 - 5.998 ± 0.224 5.451 ± 0.019 10.067 ± 0.098 6.394 ± 0.020 -
cpu/elementwise_reduction reduce_sum_axis0 f64 1 2048x2048 0.627 ± 0.110 - 0.676 ± 0.135 2.407 ± 0.013 1.305 ± 0.037 0.731 ± 0.179 -
cpu/elementwise_reduction reduce_sum_axis0 f64 4 2048x2048 0.393 ± 0.023 - 1.227 ± 0.106 1.513 ± 0.043 0.855 ± 0.087 0.716 ± 0.122 -
cpu/elementwise_reduction reduce_sum_axis0 f64 8 2048x2048 0.916 ± 0.016 - 2.412 ± 0.080 1.730 ± 0.041 0.912 ± 0.253 0.815 ± 0.188 -
cpu/elementwise_reduction reduce_sum_axis1 f64 1 2048x2048 0.698 ± 0.070 - 0.692 ± 0.095 0.610 ± 0.015 0.890 ± 0.293 0.707 ± 0.258 -
cpu/elementwise_reduction reduce_sum_axis1 f64 4 2048x2048 0.472 ± 0.019 - 1.095 ± 0.820 0.401 ± 0.012 0.592 ± 0.203 0.689 ± 0.177 -
cpu/elementwise_reduction reduce_sum_axis1 f64 8 2048x2048 1.538 ± 0.014 - 2.035 ± 0.494 0.520 ± 0.067 0.927 ± 0.393 0.859 ± 0.206 -
cpu/elementwise_reduction reduce_sum_squares_axis0 f64 1 2048x2048 0.617 ± 0.006 0.617 ± 0.008 unsupported unsupported unsupported - -
cpu/elementwise_reduction reduce_sum_squares_axis0 f64 4 2048x2048 0.387 ± 0.006 0.926 ± 0.009 unsupported unsupported unsupported - -
cpu/elementwise_reduction reduce_sum_squares_axis0 f64 8 2048x2048 0.543 ± 0.011 0.888 ± 0.345 unsupported unsupported unsupported - -
cpu/elementwise_reduction rem f64 1 8388608 21.463 ± 0.077 - 20.877 ± 0.097 31.516 ± 0.296 36.871 ± 0.489 37.371 ± 3.051 43.939 ± 3.717
cpu/elementwise_reduction rem f64 4 8388608 5.508 ± 0.307 - 10.805 ± 0.210 9.234 ± 0.168 17.880 ± 0.582 34.823 ± 2.379 10.992 ± 4.738
cpu/elementwise_reduction rem f64 8 8388608 5.400 ± 0.037 - 8.580 ± 0.155 6.793 ± 0.216 17.517 ± 0.222 45.249 ± 3.698 7.761 ± 6.841
cpu/elementwise_reduction rsqrt f64 1 33554432 56.731 ± 1.124 - 56.029 ± 1.062 58.964 ± 0.496 94.856 ± 0.137 116.851 ± 2.269 116.569 ± 2.118
cpu/elementwise_reduction rsqrt f64 4 33554432 18.476 ± 0.108 - 17.978 ± 0.112 19.441 ± 0.329 49.565 ± 1.677 116.882 ± 1.730 40.762 ± 0.152
cpu/elementwise_reduction rsqrt f64 8 33554432 14.792 ± 0.125 - 14.543 ± 0.141 16.354 ± 0.236 45.549 ± 0.353 176.818 ± 2.164 38.835 ± 2.372
cpu/elementwise_reduction select f64 1 33554432 56.993 ± 0.436 - 55.924 ± 0.824 73.811 ± 0.281 75.431 ± 0.988 57.244 ± 0.682 -
cpu/elementwise_reduction select f64 4 33554432 22.672 ± 0.070 - 22.026 ± 0.062 25.502 ± 0.191 38.436 ± 0.966 64.819 ± 0.535 -
cpu/elementwise_reduction select f64 8 33554432 20.744 ± 0.187 - 20.141 ± 0.062 21.679 ± 0.155 36.462 ± 0.144 74.272 ± 0.448 -
cpu/elementwise_reduction sign f64 1 33554432 51.505 ± 2.388 - 52.460 ± 2.959 51.662 ± 0.178 60.087 ± 2.605 50.209 ± 1.896 89.138 ± 0.754
cpu/elementwise_reduction sign f64 4 33554432 18.098 ± 0.127 - 18.149 ± 0.104 18.844 ± 0.424 29.157 ± 0.400 50.033 ± 0.264 34.002 ± 2.502
cpu/elementwise_reduction sign f64 8 33554432 15.102 ± 0.126 - 14.726 ± 0.280 15.874 ± 0.209 29.143 ± 0.183 74.535 ± 0.451 35.262 ± 4.226
cpu/elementwise_reduction sin f64 1 8388608 7.365 ± 0.026 - 7.403 ± 0.039 32.342 ± 0.512 59.382 ± 0.167 32.286 ± 2.168 32.429 ± 3.737
cpu/elementwise_reduction sin f64 4 8388608 2.921 ± 0.007 - 2.930 ± 0.035 8.916 ± 0.079 31.171 ± 0.316 31.247 ± 4.320 8.577 ± 5.698
cpu/elementwise_reduction sin f64 8 8388608 3.346 ± 0.055 - 4.698 ± 0.067 6.802 ± 0.401 31.912 ± 0.279 45.487 ± 7.418 10.304 ± 7.718
cpu/elementwise_reduction sqrt f64 1 33554432 51.015 ± 2.709 - 49.028 ± 1.000 87.306 ± 0.925 57.533 ± 0.090 92.422 ± 2.648 92.866 ± 3.105
cpu/elementwise_reduction sqrt f64 4 33554432 17.366 ± 0.132 - 16.888 ± 0.053 24.722 ± 0.367 33.144 ± 1.743 104.720 ± 0.725 28.626 ± 1.495
cpu/elementwise_reduction sqrt f64 8 33554432 14.521 ± 0.051 - 14.457 ± 0.165 19.610 ± 0.239 27.071 ± 0.119 142.688 ± 0.637 31.177 ± 2.040
cpu/elementwise_reduction sub f64 1 33554432 55.707 ± 0.822 - 56.047 ± 0.817 57.739 ± 0.768 70.093 ± 0.543 54.096 ± 0.607 102.455 ± 0.633
cpu/elementwise_reduction sub f64 4 33554432 22.126 ± 0.133 - 21.010 ± 0.094 22.912 ± 0.236 36.185 ± 0.486 58.989 ± 0.457 40.762 ± 2.817
cpu/elementwise_reduction sub f64 8 33554432 19.499 ± 0.136 - 18.772 ± 0.141 21.036 ± 0.198 31.741 ± 0.291 81.180 ± 0.110 42.046 ± 3.406
cpu/elementwise_reduction tanh f64 1 8388608 18.470 ± 0.039 - 18.540 ± 0.041 43.978 ± 0.666 15.389 ± 0.249 34.259 ± 3.428 38.355 ± 3.653
cpu/elementwise_reduction tanh f64 4 8388608 4.766 ± 0.011 - 4.762 ± 0.010 11.556 ± 0.099 9.701 ± 0.407 34.848 ± 2.294 10.319 ± 5.315
cpu/elementwise_reduction tanh f64 8 8388608 3.688 ± 0.010 - 3.728 ± 0.029 8.645 ± 0.373 8.396 ± 0.393 52.927 ± 5.899 10.546 ± 7.970
cpu/elementwise_reduction where_select f64 1 33554432 56.250 ± 0.818 54.446 ± 1.188 unsupported 73.091 ± 0.401 89.822 ± 0.398 - -
cpu/elementwise_reduction where_select f64 4 33554432 22.147 ± 0.105 21.368 ± 0.093 unsupported 25.238 ± 0.152 39.216 ± 0.463 - -
cpu/elementwise_reduction where_select f64 8 33554432 20.194 ± 0.120 19.625 ± 0.062 unsupported 21.421 ± 0.170 36.268 ± 0.135 - -
cpu/indexing_layout concatenate f64 1 1048576+1048576 0.708 ± 0.024 - 0.696 ± 0.027 0.676 ± 0.020 0.704 ± 0.151 2.996 ± 1.312 -
cpu/indexing_layout concatenate f64 4 1048576+1048576 0.467 ± 0.021 - 0.745 ± 0.016 0.491 ± 0.012 0.675 ± 0.174 1.108 ± 2.331 -
cpu/indexing_layout concatenate f64 8 1048576+1048576 1.008 ± 0.056 - 1.378 ± 0.334 0.618 ± 0.011 0.747 ± 0.028 4.387 ± 1.852 -
cpu/indexing_layout dynamic_slice f64 1 4194304 -> 2097152 0.592 ± 0.019 - 0.607 ± 0.015 0.659 ± 0.027 0.743 ± 0.105 0.768 ± 0.066 -
cpu/indexing_layout dynamic_slice f64 4 4194304 -> 2097152 0.528 ± 0.017 - 1.022 ± 0.040 0.468 ± 0.014 0.591 ± 0.099 0.806 ± 0.046 -
cpu/indexing_layout dynamic_slice f64 8 4194304 -> 2097152 0.797 ± 0.028 - 1.200 ± 1.384 0.662 ± 0.007 0.874 ± 0.232 4.447 ± 1.782 -
cpu/indexing_layout dynamic_update_slice f64 1 2097152 0.980 ± 0.080 - unsupported 0.955 ± 0.087 0.976 ± 0.044 2.547 ± 2.700 -
cpu/indexing_layout dynamic_update_slice f64 4 2097152 0.659 ± 0.036 - unsupported 0.691 ± 0.053 0.951 ± 0.125 3.656 ± 1.282 -
cpu/indexing_layout dynamic_update_slice f64 8 2097152 0.859 ± 0.049 - unsupported 0.903 ± 0.033 1.499 ± 0.030 1.525 ± 0.055 -
cpu/indexing_layout gather f64 1 262144 0.155 ± 0.009 - 0.186 ± 0.005 0.297 ± 0.003 0.152 ± 0.002 0.470 ± 0.280 -
cpu/indexing_layout gather f64 4 262144 0.071 ± 0.004 - 1.317 ± 0.559 0.078 ± 0.003 0.091 ± 0.046 0.458 ± 0.012 -
cpu/indexing_layout gather f64 8 262144 0.061 ± 0.003 - 3.068 ± 2.925 0.069 ± 0.004 0.165 ± 0.021 0.674 ± 0.290 -
cpu/indexing_layout pad f64 1 2097152 0.607 ± 0.014 - 0.612 ± 0.014 0.970 ± 0.040 0.782 ± 0.106 - -
cpu/indexing_layout pad f64 4 2097152 0.522 ± 0.017 - 1.006 ± 0.021 0.594 ± 0.016 0.578 ± 0.060 - -
cpu/indexing_layout pad f64 8 2097152 0.712 ± 0.035 - 1.400 ± 0.191 0.868 ± 0.077 0.919 ± 0.248 - -
cpu/indexing_layout reverse f64 1 2097152 0.690 ± 0.132 - 0.710 ± 0.031 0.640 ± 0.014 0.696 ± 0.090 0.977 ± 2.960 -
cpu/indexing_layout reverse f64 4 2097152 0.473 ± 0.029 - 1.074 ± 0.317 0.476 ± 0.015 0.607 ± 0.084 2.146 ± 3.205 -
cpu/indexing_layout reverse f64 8 2097152 1.035 ± 0.340 - 1.369 ± 0.092 0.608 ± 0.013 0.912 ± 0.347 4.735 ± 2.153 -
cpu/indexing_layout scatter f64 1 262144 0.387 ± 0.006 - 0.429 ± 0.016 0.176 ± 0.001 0.153 ± 0.005 0.552 ± 0.395 -
cpu/indexing_layout scatter f64 4 262144 0.393 ± 0.006 - 1.804 ± 0.482 0.156 ± 0.006 0.148 ± 0.160 0.249 ± 0.327 -
cpu/indexing_layout scatter f64 8 262144 0.616 ± 0.004 - 2.760 ± 2.086 0.247 ± 0.016 0.362 ± 0.183 0.387 ± 0.023 -
cpu/indexing_layout slice f64 1 4194304 -> 2096128 1.142 ± 0.015 - 0.001 ± 0.000 1.223 ± 0.020 1.072 ± 0.039 4.464 ± 1.152 -
cpu/indexing_layout slice f64 4 4194304 -> 2096128 0.825 ± 0.103 - 0.001 ± 0.000 0.825 ± 0.005 0.892 ± 0.099 4.094 ± 1.623 -
cpu/indexing_layout slice f64 8 4194304 -> 2096128 1.427 ± 0.337 - 0.002 ± 0.000 0.981 ± 0.016 1.186 ± 0.047 5.459 ± 1.920 -
cpu/linalg_batch_families batched_cholesky f64 1 1024x2x2 0.024 ± 0.000 - 0.026 ± 0.000 0.036 ± 0.000 0.045 ± 0.002 - -
cpu/linalg_batch_families batched_cholesky f64 1 1024x4x4 0.048 ± 0.000 - 0.051 ± 0.000 0.051 ± 0.000 0.070 ± 0.001 - -
cpu/linalg_batch_families batched_cholesky f64 1 1024x8x8 0.120 ± 0.001 - 0.130 ± 0.001 0.133 ± 0.000 0.149 ± 0.003 - -
cpu/linalg_batch_families batched_cholesky f64 1 1x128x128 0.036 ± 0.000 - 0.039 ± 0.001 0.086 ± 0.002 0.058 ± 0.004 - -
cpu/linalg_batch_families batched_cholesky f64 1 1x2x2 0.000 ± 0.000 - 0.002 ± 0.000 0.002 ± 0.000 0.003 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 1 1x32x32 0.002 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.011 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 1 1x4x4 0.000 ± 0.000 - 0.002 ± 0.000 0.002 ± 0.000 0.003 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 1 1x8x8 0.001 ± 0.000 - 0.002 ± 0.000 0.002 ± 0.000 0.003 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 1 3x2x2 0.001 ± 0.000 - 0.002 ± 0.000 0.002 ± 0.000 0.003 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 1 3x4x4 0.001 ± 0.000 - 0.002 ± 0.000 0.002 ± 0.000 0.003 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 1 3x8x8 0.001 ± 0.000 - 0.002 ± 0.000 0.002 ± 0.000 0.004 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 1 4x2x2 0.001 ± 0.000 - 0.002 ± 0.000 0.002 ± 0.000 0.003 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 1 4x4x4 0.001 ± 0.000 - 0.002 ± 0.000 0.002 ± 0.000 0.004 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 1 4x8x8 0.001 ± 0.000 - 0.003 ± 0.000 0.002 ± 0.000 0.008 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 1 8x128x128 0.294 ± 0.003 - 0.304 ± 0.002 0.681 ± 0.003 0.392 ± 0.003 - -
cpu/linalg_batch_families batched_cholesky f64 1 8x2x2 0.001 ± 0.000 - 0.002 ± 0.000 0.002 ± 0.000 0.004 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 1 8x32x32 0.011 ± 0.000 - 0.013 ± 0.000 0.017 ± 0.000 0.019 ± 0.001 - -
cpu/linalg_batch_families batched_cholesky f64 1 8x4x4 0.001 ± 0.000 - 0.002 ± 0.000 0.002 ± 0.000 0.004 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 1 8x8x8 0.001 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.009 ± 0.001 - -
cpu/linalg_batch_families batched_cholesky f64 4 1024x2x2 0.024 ± 0.000 - 0.026 ± 0.000 0.021 ± 0.000 0.049 ± 0.009 - -
cpu/linalg_batch_families batched_cholesky f64 4 1024x4x4 0.049 ± 0.000 - 0.510 ± 0.003 0.035 ± 0.000 0.067 ± 0.025 - -
cpu/linalg_batch_families batched_cholesky f64 4 1024x8x8 0.127 ± 0.000 - 0.132 ± 0.001 0.106 ± 0.000 0.169 ± 0.027 - -
cpu/linalg_batch_families batched_cholesky f64 4 1x128x128 0.038 ± 0.000 - 0.042 ± 0.000 0.064 ± 0.000 0.074 ± 0.031 - -
cpu/linalg_batch_families batched_cholesky f64 4 1x2x2 0.001 ± 0.000 - 0.002 ± 0.000 0.002 ± 0.000 0.010 ± 0.001 - -
cpu/linalg_batch_families batched_cholesky f64 4 1x32x32 0.002 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.011 ± 0.002 - -
cpu/linalg_batch_families batched_cholesky f64 4 1x4x4 0.001 ± 0.000 - 0.002 ± 0.000 0.003 ± 0.000 0.010 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 4 1x8x8 0.001 ± 0.000 - 0.002 ± 0.000 0.003 ± 0.000 0.003 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 4 3x2x2 0.001 ± 0.000 - 0.002 ± 0.000 0.002 ± 0.000 0.010 ± 0.001 - -
cpu/linalg_batch_families batched_cholesky f64 4 3x4x4 0.001 ± 0.000 - 0.002 ± 0.000 0.002 ± 0.000 0.003 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 4 3x8x8 0.001 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.011 ± 0.001 - -
cpu/linalg_batch_families batched_cholesky f64 4 4x2x2 0.001 ± 0.000 - 0.002 ± 0.000 0.002 ± 0.000 0.003 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 4 4x4x4 0.001 ± 0.000 - 0.002 ± 0.000 0.002 ± 0.000 0.003 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 4 4x8x8 0.001 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.010 ± 0.001 - -
cpu/linalg_batch_families batched_cholesky f64 4 8x128x128 0.297 ± 0.003 - 0.307 ± 0.002 0.469 ± 0.004 0.999 ± 0.002 - -
cpu/linalg_batch_families batched_cholesky f64 4 8x2x2 0.001 ± 0.000 - 0.002 ± 0.000 0.002 ± 0.000 0.004 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 4 8x32x32 0.012 ± 0.000 - 0.014 ± 0.000 0.016 ± 0.000 0.016 ± 0.002 - -
cpu/linalg_batch_families batched_cholesky f64 4 8x4x4 0.001 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.004 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 4 8x8x8 0.002 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.005 ± 0.005 - -
cpu/linalg_batch_families batched_cholesky f64 8 1024x2x2 0.037 ± 0.000 - 0.040 ± 0.000 0.029 ± 0.000 0.074 ± 0.028 - -
cpu/linalg_batch_families batched_cholesky f64 8 1024x4x4 0.072 ± 0.000 - 0.079 ± 0.001 0.045 ± 0.001 0.116 ± 0.035 - -
cpu/linalg_batch_families batched_cholesky f64 8 1024x8x8 0.191 ± 0.004 - 0.210 ± 0.010 0.153 ± 0.000 0.280 ± 0.129 - -
cpu/linalg_batch_families batched_cholesky f64 8 1x128x128 0.058 ± 0.000 - 0.066 ± 0.001 0.089 ± 0.002 0.101 ± 0.042 - -
cpu/linalg_batch_families batched_cholesky f64 8 1x2x2 0.001 ± 0.000 - 0.003 ± 0.000 0.004 ± 0.000 0.009 ± 0.001 - -
cpu/linalg_batch_families batched_cholesky f64 8 1x32x32 0.003 ± 0.000 - 0.006 ± 0.000 0.009 ± 0.000 0.016 ± 0.004 - -
cpu/linalg_batch_families batched_cholesky f64 8 1x4x4 0.001 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.009 ± 0.001 - -
cpu/linalg_batch_families batched_cholesky f64 8 1x8x8 0.001 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.005 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 8 3x2x2 0.001 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.009 ± 0.001 - -
cpu/linalg_batch_families batched_cholesky f64 8 3x4x4 0.001 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.009 ± 0.001 - -
cpu/linalg_batch_families batched_cholesky f64 8 3x8x8 0.002 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.010 ± 0.001 - -
cpu/linalg_batch_families batched_cholesky f64 8 4x2x2 0.001 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.006 ± 0.004 - -
cpu/linalg_batch_families batched_cholesky f64 8 4x4x4 0.001 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.009 ± 0.001 - -
cpu/linalg_batch_families batched_cholesky f64 8 4x8x8 0.002 ± 0.000 - 0.004 ± 0.000 0.005 ± 0.000 0.010 ± 0.001 - -
cpu/linalg_batch_families batched_cholesky f64 8 8x128x128 0.477 ± 0.005 - 0.466 ± 0.002 0.665 ± 0.003 0.521 ± 0.144 - -
cpu/linalg_batch_families batched_cholesky f64 8 8x2x2 0.001 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_cholesky f64 8 8x32x32 0.018 ± 0.000 - 0.021 ± 0.000 0.025 ± 0.000 0.043 ± 0.008 - -
cpu/linalg_batch_families batched_cholesky f64 8 8x4x4 0.001 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.011 ± 0.001 - -
cpu/linalg_batch_families batched_cholesky f64 8 8x8x8 0.002 ± 0.000 - 0.005 ± 0.000 0.005 ± 0.000 0.011 ± 0.005 - -
cpu/linalg_batch_families batched_eigh c64 1 1024x2x2 0.280 ± 0.002 - 0.283 ± 0.002 0.344 ± 0.002 0.405 ± 0.003 - -
cpu/linalg_batch_families batched_eigh c64 1 1024x4x4 1.092 ± 0.006 - 1.092 ± 0.002 1.155 ± 0.003 1.417 ± 0.004 - -
cpu/linalg_batch_families batched_eigh c64 1 1024x8x8 3.390 ± 0.006 - 3.403 ± 0.008 3.496 ± 0.003 4.816 ± 0.003 - -
cpu/linalg_batch_families batched_eigh c64 1 1x128x128 1.894 ± 0.007 - 1.900 ± 0.006 1.700 ± 0.009 1.317 ± 0.010 - -
cpu/linalg_batch_families batched_eigh c64 1 1x2x2 0.001 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.005 ± 0.001 - -
cpu/linalg_batch_families batched_eigh c64 1 1x32x32 0.056 ± 0.000 - 0.058 ± 0.000 0.057 ± 0.000 0.069 ± 0.001 - -
cpu/linalg_batch_families batched_eigh c64 1 1x4x4 0.002 ± 0.000 - 0.003 ± 0.000 0.004 ± 0.000 0.007 ± 0.000 - -
cpu/linalg_batch_families batched_eigh c64 1 1x8x8 0.004 ± 0.000 - 0.006 ± 0.000 0.006 ± 0.000 0.010 ± 0.000 - -
cpu/linalg_batch_families batched_eigh c64 1 3x2x2 0.002 ± 0.000 - 0.003 ± 0.000 0.004 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_eigh c64 1 3x4x4 0.004 ± 0.000 - 0.006 ± 0.000 0.006 ± 0.000 0.009 ± 0.000 - -
cpu/linalg_batch_families batched_eigh c64 1 3x8x8 0.011 ± 0.000 - 0.012 ± 0.000 0.013 ± 0.000 0.024 ± 0.001 - -
cpu/linalg_batch_families batched_eigh c64 1 4x2x2 0.002 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.007 ± 0.000 - -
cpu/linalg_batch_families batched_eigh c64 1 4x4x4 0.005 ± 0.000 - 0.007 ± 0.000 0.007 ± 0.000 0.011 ± 0.001 - -
cpu/linalg_batch_families batched_eigh c64 1 4x8x8 0.014 ± 0.000 - 0.015 ± 0.000 0.017 ± 0.000 0.028 ± 0.000 - -
cpu/linalg_batch_families batched_eigh c64 1 8x128x128 15.102 ± 0.045 - 15.146 ± 0.065 13.404 ± 0.039 10.503 ± 0.014 - -
cpu/linalg_batch_families batched_eigh c64 1 8x2x2 0.003 ± 0.000 - 0.005 ± 0.000 0.006 ± 0.000 0.008 ± 0.000 - -
cpu/linalg_batch_families batched_eigh c64 1 8x32x32 0.442 ± 0.003 - 0.443 ± 0.004 0.439 ± 0.002 0.488 ± 0.003 - -
cpu/linalg_batch_families batched_eigh c64 1 8x4x4 0.009 ± 0.000 - 0.011 ± 0.000 0.012 ± 0.000 0.016 ± 0.001 - -
cpu/linalg_batch_families batched_eigh c64 1 8x8x8 0.027 ± 0.000 - 0.029 ± 0.000 0.030 ± 0.000 0.048 ± 0.001 - -
cpu/linalg_batch_families batched_eigh c64 4 1024x2x2 0.282 ± 0.002 - 0.286 ± 0.002 0.335 ± 0.004 0.445 ± 0.004 - -
cpu/linalg_batch_families batched_eigh c64 4 1024x4x4 1.116 ± 0.008 - 1.556 ± 0.004 1.177 ± 0.006 0.928 ± 0.044 - -
cpu/linalg_batch_families batched_eigh c64 4 1024x8x8 3.414 ± 0.009 - 3.542 ± 0.326 3.572 ± 0.005 2.936 ± 0.112 - -
cpu/linalg_batch_families batched_eigh c64 4 1x128x128 1.196 ± 0.012 - 1.416 ± 0.221 0.742 ± 0.006 1.263 ± 0.018 - -
cpu/linalg_batch_families batched_eigh c64 4 1x2x2 0.001 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.005 ± 0.001 - -
cpu/linalg_batch_families batched_eigh c64 4 1x32x32 0.059 ± 0.000 - 0.061 ± 0.000 0.060 ± 0.000 0.067 ± 0.002 - -
cpu/linalg_batch_families batched_eigh c64 4 1x4x4 0.002 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_eigh c64 4 1x8x8 0.004 ± 0.000 - 0.006 ± 0.000 0.006 ± 0.000 0.010 ± 0.017 - -
cpu/linalg_batch_families batched_eigh c64 4 3x2x2 0.002 ± 0.000 - 0.003 ± 0.000 0.004 ± 0.000 0.017 ± 0.001 - -
cpu/linalg_batch_families batched_eigh c64 4 3x4x4 0.004 ± 0.000 - 0.006 ± 0.000 0.006 ± 0.000 0.009 ± 0.000 - -
cpu/linalg_batch_families batched_eigh c64 4 3x8x8 0.011 ± 0.000 - 0.012 ± 0.000 0.014 ± 0.000 0.060 ± 0.014 - -
cpu/linalg_batch_families batched_eigh c64 4 4x2x2 0.002 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.007 ± 0.001 - -
cpu/linalg_batch_families batched_eigh c64 4 4x4x4 0.005 ± 0.000 - 0.007 ± 0.000 0.008 ± 0.000 0.011 ± 0.000 - -
cpu/linalg_batch_families batched_eigh c64 4 4x8x8 0.014 ± 0.000 - 0.016 ± 0.000 0.017 ± 0.000 0.065 ± 0.015 - -
cpu/linalg_batch_families batched_eigh c64 4 8x128x128 9.446 ± 0.011 - 9.721 ± 0.009 5.811 ± 0.011 10.546 ± 1.962 - -
cpu/linalg_batch_families batched_eigh c64 4 8x2x2 0.003 ± 0.000 - 0.005 ± 0.000 0.006 ± 0.000 0.009 ± 0.000 - -
cpu/linalg_batch_families batched_eigh c64 4 8x32x32 0.461 ± 0.005 - 0.461 ± 0.004 0.459 ± 0.003 0.544 ± 0.141 - -
cpu/linalg_batch_families batched_eigh c64 4 8x4x4 0.009 ± 0.000 - 0.011 ± 0.000 0.012 ± 0.000 0.017 ± 0.001 - -
cpu/linalg_batch_families batched_eigh c64 4 8x8x8 0.028 ± 0.000 - 0.029 ± 0.000 0.031 ± 0.000 0.043 ± 0.017 - -
cpu/linalg_batch_families batched_eigh c64 8 1024x2x2 0.437 ± 0.003 - 0.440 ± 0.012 0.514 ± 0.005 0.752 ± 0.007 - -
cpu/linalg_batch_families batched_eigh c64 8 1024x4x4 1.720 ± 0.009 - 1.733 ± 0.008 1.816 ± 0.007 1.514 ± 0.021 - -
cpu/linalg_batch_families batched_eigh c64 8 1024x8x8 5.342 ± 0.016 - 5.347 ± 0.050 5.501 ± 0.045 4.989 ± 0.099 - -
cpu/linalg_batch_families batched_eigh c64 8 1x128x128 1.647 ± 0.015 - 1.997 ± 0.015 0.966 ± 0.010 1.962 ± 0.029 - -
cpu/linalg_batch_families batched_eigh c64 8 1x2x2 0.002 ± 0.000 - 0.004 ± 0.000 0.005 ± 0.000 0.014 ± 0.001 - -
cpu/linalg_batch_families batched_eigh c64 8 1x32x32 0.089 ± 0.000 - 0.092 ± 0.000 0.094 ± 0.001 0.115 ± 0.032 - -
cpu/linalg_batch_families batched_eigh c64 8 1x4x4 0.003 ± 0.000 - 0.006 ± 0.000 0.006 ± 0.000 0.010 ± 0.006 - -
cpu/linalg_batch_families batched_eigh c64 8 1x8x8 0.007 ± 0.000 - 0.009 ± 0.000 0.010 ± 0.000 0.025 ± 0.011 - -
cpu/linalg_batch_families batched_eigh c64 8 3x2x2 0.003 ± 0.000 - 0.005 ± 0.000 0.006 ± 0.000 0.010 ± 0.001 - -
cpu/linalg_batch_families batched_eigh c64 8 3x4x4 0.007 ± 0.000 - 0.009 ± 0.000 0.010 ± 0.000 0.014 ± 0.001 - -
cpu/linalg_batch_families batched_eigh c64 8 3x8x8 0.017 ± 0.000 - 0.020 ± 0.000 0.021 ± 0.000 0.048 ± 0.018 - -
cpu/linalg_batch_families batched_eigh c64 8 4x2x2 0.003 ± 0.000 - 0.006 ± 0.000 0.007 ± 0.000 0.017 ± 0.001 - -
cpu/linalg_batch_families batched_eigh c64 8 4x4x4 0.008 ± 0.000 - 0.011 ± 0.000 0.012 ± 0.000 0.017 ± 0.001 - -
cpu/linalg_batch_families batched_eigh c64 8 4x8x8 0.022 ± 0.000 - 0.025 ± 0.000 0.026 ± 0.000 0.043 ± 0.023 - -
cpu/linalg_batch_families batched_eigh c64 8 8x128x128 12.987 ± 0.019 - 70.575 ± 0.389 7.453 ± 0.030 15.774 ± 4.442 - -
cpu/linalg_batch_families batched_eigh c64 8 8x2x2 0.005 ± 0.000 - 0.008 ± 0.000 0.009 ± 0.000 0.013 ± 0.000 - -
cpu/linalg_batch_families batched_eigh c64 8 8x32x32 0.698 ± 0.004 - 0.709 ± 0.006 0.718 ± 0.004 0.507 ± 0.101 - -
cpu/linalg_batch_families batched_eigh c64 8 8x4x4 0.015 ± 0.000 - 0.017 ± 0.000 0.019 ± 0.000 0.026 ± 0.001 - -
cpu/linalg_batch_families batched_eigh c64 8 8x8x8 0.043 ± 0.000 - 0.045 ± 0.000 0.048 ± 0.000 0.075 ± 0.019 - -
cpu/linalg_batch_families batched_eigh f64 1 1024x2x2 0.308 ± 0.002 - 0.310 ± 0.003 0.192 ± 0.002 0.171 ± 0.002 - -
cpu/linalg_batch_families batched_eigh f64 1 1024x4x4 1.135 ± 0.007 - 1.136 ± 0.003 0.993 ± 0.005 0.977 ± 0.003 - -
cpu/linalg_batch_families batched_eigh f64 1 1024x8x8 3.065 ± 0.002 - 3.081 ± 0.006 3.005 ± 0.005 3.363 ± 0.005 - -
cpu/linalg_batch_families batched_eigh f64 1 1x128x128 0.687 ± 0.010 - 0.694 ± 0.006 0.711 ± 0.006 0.734 ± 0.005 - -
cpu/linalg_batch_families batched_eigh f64 1 1x2x2 0.001 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.005 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 1 1x32x32 0.035 ± 0.000 - 0.037 ± 0.000 0.040 ± 0.000 0.055 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 1 1x4x4 0.002 ± 0.000 - 0.003 ± 0.000 0.004 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_eigh f64 1 1x8x8 0.004 ± 0.000 - 0.005 ± 0.000 0.006 ± 0.000 0.008 ± 0.000 - -
cpu/linalg_batch_families batched_eigh f64 1 3x2x2 0.002 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.005 ± 0.000 - -
cpu/linalg_batch_families batched_eigh f64 1 3x4x4 0.004 ± 0.000 - 0.006 ± 0.000 0.006 ± 0.000 0.007 ± 0.000 - -
cpu/linalg_batch_families batched_eigh f64 1 3x8x8 0.010 ± 0.000 - 0.011 ± 0.000 0.012 ± 0.000 0.015 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 1 4x2x2 0.002 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.005 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 1 4x4x4 0.005 ± 0.000 - 0.007 ± 0.000 0.007 ± 0.000 0.009 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 1 4x8x8 0.013 ± 0.000 - 0.014 ± 0.000 0.014 ± 0.000 0.018 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 1 8x128x128 5.427 ± 0.020 - 5.450 ± 0.010 5.612 ± 0.013 5.736 ± 0.022 - -
cpu/linalg_batch_families batched_eigh f64 1 8x2x2 0.003 ± 0.000 - 0.005 ± 0.000 0.004 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 1 8x32x32 0.279 ± 0.002 - 0.281 ± 0.002 0.303 ± 0.002 0.372 ± 0.002 - -
cpu/linalg_batch_families batched_eigh f64 1 8x4x4 0.010 ± 0.000 - 0.011 ± 0.000 0.010 ± 0.000 0.012 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 1 8x8x8 0.024 ± 0.000 - 0.026 ± 0.000 0.026 ± 0.000 0.036 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 4 1024x2x2 0.308 ± 0.017 - 0.301 ± 0.022 0.198 ± 0.002 0.168 ± 0.002 - -
cpu/linalg_batch_families batched_eigh f64 4 1024x4x4 1.138 ± 0.013 - 1.561 ± 0.005 1.012 ± 0.005 0.643 ± 0.027 - -
cpu/linalg_batch_families batched_eigh f64 4 1024x8x8 3.104 ± 0.004 - 3.524 ± 0.273 3.064 ± 0.006 1.761 ± 0.781 - -
cpu/linalg_batch_families batched_eigh f64 4 1x128x128 0.422 ± 0.005 - 0.862 ± 0.005 0.424 ± 0.005 0.737 ± 0.023 - -
cpu/linalg_batch_families batched_eigh f64 4 1x2x2 0.001 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.005 ± 0.000 - -
cpu/linalg_batch_families batched_eigh f64 4 1x32x32 0.040 ± 0.000 - 0.041 ± 0.000 0.043 ± 0.000 0.050 ± 0.092 - -
cpu/linalg_batch_families batched_eigh f64 4 1x4x4 0.002 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 4 1x8x8 0.004 ± 0.000 - 0.005 ± 0.000 0.006 ± 0.000 0.008 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 4 3x2x2 0.002 ± 0.000 - 0.004 ± 0.000 0.003 ± 0.000 0.013 ± 0.011 - -
cpu/linalg_batch_families batched_eigh f64 4 3x4x4 0.004 ± 0.000 - 0.006 ± 0.000 0.006 ± 0.000 0.022 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 4 3x8x8 0.010 ± 0.000 - 0.011 ± 0.000 0.012 ± 0.000 0.015 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 4 4x2x2 0.002 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.016 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 4 4x4x4 0.005 ± 0.000 - 0.007 ± 0.000 0.007 ± 0.000 0.009 ± 0.000 - -
cpu/linalg_batch_families batched_eigh f64 4 4x8x8 0.013 ± 0.000 - 0.014 ± 0.000 0.015 ± 0.000 0.018 ± 0.000 - -
cpu/linalg_batch_families batched_eigh f64 4 8x128x128 3.340 ± 0.013 - 16.832 ± 11.536 3.240 ± 0.008 5.956 ± 0.832 - -
cpu/linalg_batch_families batched_eigh f64 4 8x2x2 0.003 ± 0.000 - 0.005 ± 0.000 0.004 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 4 8x32x32 0.309 ± 0.003 - 0.311 ± 0.002 0.322 ± 0.002 0.203 ± 0.083 - -
cpu/linalg_batch_families batched_eigh f64 4 8x4x4 0.010 ± 0.000 - 0.011 ± 0.000 0.011 ± 0.000 0.012 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 4 8x8x8 0.024 ± 0.000 - 0.026 ± 0.000 0.027 ± 0.000 0.087 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 8 1024x2x2 0.472 ± 0.006 - 0.478 ± 0.009 0.304 ± 0.003 0.303 ± 0.018 - -
cpu/linalg_batch_families batched_eigh f64 8 1024x4x4 1.771 ± 0.006 - 1.779 ± 0.166 1.555 ± 0.007 1.085 ± 0.026 - -
cpu/linalg_batch_families batched_eigh f64 8 1024x8x8 4.807 ± 0.006 - 4.819 ± 0.009 4.732 ± 0.008 2.202 ± 0.165 - -
cpu/linalg_batch_families batched_eigh f64 8 1x128x128 0.621 ± 0.017 - 1.324 ± 0.013 0.639 ± 0.012 1.168 ± 0.845 - -
cpu/linalg_batch_families batched_eigh f64 8 1x2x2 0.002 ± 0.000 - 0.004 ± 0.000 0.005 ± 0.000 0.013 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 8 1x32x32 0.062 ± 0.001 - 0.065 ± 0.002 0.068 ± 0.001 0.112 ± 0.072 - -
cpu/linalg_batch_families batched_eigh f64 8 1x4x4 0.003 ± 0.000 - 0.006 ± 0.000 0.006 ± 0.000 0.015 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 8 1x8x8 0.006 ± 0.000 - 0.008 ± 0.000 0.009 ± 0.000 0.021 ± 0.009 - -
cpu/linalg_batch_families batched_eigh f64 8 3x2x2 0.003 ± 0.000 - 0.006 ± 0.000 0.005 ± 0.000 0.014 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 8 3x4x4 0.007 ± 0.000 - 0.009 ± 0.000 0.009 ± 0.000 0.020 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 8 3x8x8 0.015 ± 0.000 - 0.018 ± 0.000 0.018 ± 0.000 0.024 ± 0.000 - -
cpu/linalg_batch_families batched_eigh f64 8 4x2x2 0.004 ± 0.000 - 0.006 ± 0.000 0.006 ± 0.000 0.014 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 8 4x4x4 0.008 ± 0.000 - 0.011 ± 0.000 0.011 ± 0.000 0.022 ± 0.010 - -
cpu/linalg_batch_families batched_eigh f64 8 4x8x8 0.020 ± 0.000 - 0.023 ± 0.000 0.023 ± 0.000 0.029 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 8 8x128x128 4.920 ± 0.027 - 5.638 ± 0.709 4.856 ± 0.017 23.413 ± 29.703 - -
cpu/linalg_batch_families batched_eigh f64 8 8x2x2 0.005 ± 0.000 - 0.008 ± 0.000 0.007 ± 0.000 0.016 ± 0.001 - -
cpu/linalg_batch_families batched_eigh f64 8 8x32x32 0.484 ± 0.005 - 0.490 ± 0.005 0.509 ± 0.004 0.242 ± 0.045 - -
cpu/linalg_batch_families batched_eigh f64 8 8x4x4 0.015 ± 0.000 - 0.018 ± 0.000 0.016 ± 0.000 0.033 ± 0.002 - -
cpu/linalg_batch_families batched_eigh f64 8 8x8x8 0.038 ± 0.000 - 0.041 ± 0.000 0.041 ± 0.000 0.060 ± 0.055 - -
cpu/linalg_batch_families batched_eigvalsh f64 1 1024x2x2 0.108 ± 0.003 - 0.112 ± 0.001 0.100 ± 0.000 0.171 ± 0.005 - -
cpu/linalg_batch_families batched_eigvalsh f64 1 1024x4x4 0.582 ± 0.004 - 0.584 ± 0.004 0.506 ± 0.002 0.973 ± 0.002 - -
cpu/linalg_batch_families batched_eigvalsh f64 1 1024x8x8 1.675 ± 0.003 - 1.690 ± 0.003 1.575 ± 0.004 3.376 ± 0.007 - -
cpu/linalg_batch_families batched_eigvalsh f64 1 1x128x128 0.275 ± 0.007 - 0.279 ± 0.002 0.305 ± 0.001 0.725 ± 0.008 - -
cpu/linalg_batch_families batched_eigvalsh f64 1 1x2x2 0.001 ± 0.000 - 0.002 ± 0.000 0.003 ± 0.000 0.004 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 1 1x32x32 0.016 ± 0.000 - 0.018 ± 0.000 0.020 ± 0.000 0.054 ± 0.001 - -
cpu/linalg_batch_families batched_eigvalsh f64 1 1x4x4 0.001 ± 0.000 - 0.003 ± 0.000 0.004 ± 0.000 0.005 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 1 1x8x8 0.002 ± 0.000 - 0.004 ± 0.000 0.005 ± 0.000 0.007 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 1 3x2x2 0.001 ± 0.000 - 0.003 ± 0.001 0.004 ± 0.000 0.004 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 1 3x4x4 0.002 ± 0.000 - 0.004 ± 0.000 0.005 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_eigvalsh f64 1 3x8x8 0.006 ± 0.000 - 0.007 ± 0.000 0.008 ± 0.001 0.014 ± 0.001 - -
cpu/linalg_batch_families batched_eigvalsh f64 1 4x2x2 0.001 ± 0.000 - 0.003 ± 0.000 0.004 ± 0.000 0.004 ± 0.001 - -
cpu/linalg_batch_families batched_eigvalsh f64 1 4x4x4 0.003 ± 0.000 - 0.005 ± 0.001 0.005 ± 0.000 0.008 ± 0.001 - -
cpu/linalg_batch_families batched_eigvalsh f64 1 4x8x8 0.007 ± 0.000 - 0.009 ± 0.000 0.010 ± 0.000 0.017 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 1 8x128x128 2.199 ± 0.005 - 2.219 ± 0.004 2.424 ± 0.002 5.640 ± 0.020 - -
cpu/linalg_batch_families batched_eigvalsh f64 1 8x2x2 0.002 ± 0.000 - 0.003 ± 0.000 0.004 ± 0.000 0.005 ± 0.001 - -
cpu/linalg_batch_families batched_eigvalsh f64 1 8x32x32 0.123 ± 0.000 - 0.126 ± 0.001 0.128 ± 0.000 0.369 ± 0.002 - -
cpu/linalg_batch_families batched_eigvalsh f64 1 8x4x4 0.005 ± 0.000 - 0.007 ± 0.000 0.007 ± 0.000 0.011 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 1 8x8x8 0.014 ± 0.000 - 0.015 ± 0.000 0.016 ± 0.000 0.034 ± 0.001 - -
cpu/linalg_batch_families batched_eigvalsh f64 4 1024x2x2 0.109 ± 0.001 - 0.110 ± 0.002 0.103 ± 0.000 0.168 ± 0.001 - -
cpu/linalg_batch_families batched_eigvalsh f64 4 1024x4x4 0.579 ± 0.004 - 1.021 ± 0.004 0.524 ± 0.003 0.633 ± 0.021 - -
cpu/linalg_batch_families batched_eigvalsh f64 4 1024x8x8 1.683 ± 0.005 - 2.129 ± 0.007 1.603 ± 0.014 1.743 ± 0.404 - -
cpu/linalg_batch_families batched_eigvalsh f64 4 1x128x128 0.275 ± 0.003 - 0.717 ± 0.003 0.282 ± 0.004 0.999 ± 0.001 - -
cpu/linalg_batch_families batched_eigvalsh f64 4 1x2x2 0.001 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.004 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 4 1x32x32 0.016 ± 0.000 - 0.018 ± 0.000 0.020 ± 0.000 0.050 ± 0.006 - -
cpu/linalg_batch_families batched_eigvalsh f64 4 1x4x4 0.001 ± 0.000 - 0.003 ± 0.000 0.004 ± 0.000 0.013 ± 0.001 - -
cpu/linalg_batch_families batched_eigvalsh f64 4 1x8x8 0.002 ± 0.000 - 0.004 ± 0.000 0.005 ± 0.000 0.007 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 4 3x2x2 0.001 ± 0.000 - 0.003 ± 0.000 0.004 ± 0.000 0.004 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 4 3x4x4 0.003 ± 0.000 - 0.004 ± 0.000 0.005 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 4 3x8x8 0.006 ± 0.000 - 0.007 ± 0.000 0.008 ± 0.000 0.013 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 4 4x2x2 0.001 ± 0.000 - 0.003 ± 0.000 0.004 ± 0.000 0.004 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 4 4x4x4 0.003 ± 0.000 - 0.005 ± 0.000 0.005 ± 0.000 0.007 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 4 4x8x8 0.007 ± 0.000 - 0.009 ± 0.000 0.010 ± 0.000 0.050 ± 0.034 - -
cpu/linalg_batch_families batched_eigvalsh f64 4 8x128x128 2.209 ± 0.004 - 2.677 ± 0.232 2.150 ± 0.004 5.717 ± 1.967 - -
cpu/linalg_batch_families batched_eigvalsh f64 4 8x2x2 0.002 ± 0.000 - 0.003 ± 0.000 0.004 ± 0.000 0.005 ± 0.001 - -
cpu/linalg_batch_families batched_eigvalsh f64 4 8x32x32 0.125 ± 0.000 - 0.127 ± 0.000 0.130 ± 0.000 0.146 ± 0.096 - -
cpu/linalg_batch_families batched_eigvalsh f64 4 8x4x4 0.005 ± 0.000 - 0.007 ± 0.000 0.007 ± 0.000 0.033 ± 0.001 - -
cpu/linalg_batch_families batched_eigvalsh f64 4 8x8x8 0.014 ± 0.000 - 0.015 ± 0.000 0.016 ± 0.000 0.086 ± 0.036 - -
cpu/linalg_batch_families batched_eigvalsh f64 8 1024x2x2 0.170 ± 0.004 - 0.173 ± 0.002 0.158 ± 0.001 0.276 ± 0.032 - -
cpu/linalg_batch_families batched_eigvalsh f64 8 1024x4x4 0.922 ± 0.008 - 1.618 ± 0.005 0.793 ± 0.001 1.081 ± 0.065 - -
cpu/linalg_batch_families batched_eigvalsh f64 8 1024x8x8 2.663 ± 0.009 - 2.677 ± 0.008 2.484 ± 0.016 2.194 ± 0.268 - -
cpu/linalg_batch_families batched_eigvalsh f64 8 1x128x128 0.450 ± 0.004 - 1.148 ± 0.003 0.466 ± 0.004 1.134 ± 0.008 - -
cpu/linalg_batch_families batched_eigvalsh f64 8 1x2x2 0.002 ± 0.000 - 0.004 ± 0.000 0.005 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 8 1x32x32 0.026 ± 0.000 - 0.029 ± 0.000 0.031 ± 0.000 0.080 ± 0.010 - -
cpu/linalg_batch_families batched_eigvalsh f64 8 1x4x4 0.002 ± 0.000 - 0.005 ± 0.000 0.006 ± 0.000 0.012 ± 0.001 - -
cpu/linalg_batch_families batched_eigvalsh f64 8 1x8x8 0.004 ± 0.000 - 0.006 ± 0.000 0.008 ± 0.000 0.018 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 8 3x2x2 0.002 ± 0.000 - 0.004 ± 0.000 0.006 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 8 3x4x4 0.004 ± 0.000 - 0.007 ± 0.000 0.008 ± 0.000 0.010 ± 0.001 - -
cpu/linalg_batch_families batched_eigvalsh f64 8 3x8x8 0.009 ± 0.000 - 0.012 ± 0.000 0.013 ± 0.000 0.021 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 8 4x2x2 0.002 ± 0.000 - 0.004 ± 0.000 0.006 ± 0.000 0.007 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 8 4x4x4 0.005 ± 0.000 - 0.007 ± 0.000 0.009 ± 0.000 0.012 ± 0.008 - -
cpu/linalg_batch_families batched_eigvalsh f64 8 4x8x8 0.012 ± 0.000 - 0.014 ± 0.000 0.015 ± 0.000 0.027 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 8 8x128x128 3.556 ± 0.009 - 37.996 ± 1.569 3.592 ± 0.011 23.987 ± 30.644 - -
cpu/linalg_batch_families batched_eigvalsh f64 8 8x2x2 0.003 ± 0.000 - 0.005 ± 0.000 0.007 ± 0.000 0.008 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 8 8x32x32 0.197 ± 0.001 - 0.202 ± 0.001 0.204 ± 0.000 0.247 ± 0.047 - -
cpu/linalg_batch_families batched_eigvalsh f64 8 8x4x4 0.008 ± 0.000 - 0.011 ± 0.000 0.011 ± 0.000 0.018 ± 0.000 - -
cpu/linalg_batch_families batched_eigvalsh f64 8 8x8x8 0.022 ± 0.000 - 0.025 ± 0.000 0.025 ± 0.000 0.065 ± 0.059 - -
cpu/linalg_batch_families batched_lu f64 1 1024x2x2 0.060 ± 0.001 - 0.071 ± 0.001 0.080 ± 0.000 0.056 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 1 1024x4x4 0.084 ± 0.001 - 0.092 ± 0.001 0.111 ± 0.001 0.100 ± 0.002 - -
cpu/linalg_batch_families batched_lu f64 1 1024x8x8 0.236 ± 0.002 - 0.237 ± 0.003 0.251 ± 0.003 0.287 ± 0.003 - -
cpu/linalg_batch_families batched_lu f64 1 1x128x128 0.067 ± 0.003 - 0.072 ± 0.001 0.084 ± 0.000 0.098 ± 0.002 - -
cpu/linalg_batch_families batched_lu f64 1 1x2x2 0.001 ± 0.000 - 0.003 ± 0.000 0.005 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 1 1x32x32 0.006 ± 0.000 - 0.007 ± 0.000 0.009 ± 0.000 0.014 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 1 1x4x4 0.001 ± 0.000 - 0.003 ± 0.000 0.005 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_lu f64 1 1x64x24 0.007 ± 0.000 - 0.008 ± 0.000 0.009 ± 0.000 0.016 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 1 1x8x8 0.001 ± 0.000 - 0.003 ± 0.000 0.005 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 1 3x2x2 0.002 ± 0.000 - 0.003 ± 0.000 0.006 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 1 3x4x4 0.002 ± 0.000 - 0.003 ± 0.000 0.006 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 1 3x8x8 0.002 ± 0.000 - 0.004 ± 0.000 0.006 ± 0.000 0.012 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 1 4x2x2 0.002 ± 0.000 - 0.003 ± 0.000 0.006 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_lu f64 1 4x4x4 0.002 ± 0.000 - 0.003 ± 0.000 0.006 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_lu f64 1 4x8x8 0.002 ± 0.000 - 0.004 ± 0.000 0.006 ± 0.000 0.012 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 1 8x128x128 0.534 ± 0.013 - 0.544 ± 0.011 0.636 ± 0.003 0.682 ± 0.003 - -
cpu/linalg_batch_families batched_lu f64 1 8x2x2 0.002 ± 0.000 - 0.003 ± 0.000 0.006 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_lu f64 1 8x32x32 0.037 ± 0.000 - 0.039 ± 0.000 0.038 ± 0.000 0.044 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 1 8x4x4 0.002 ± 0.000 - 0.004 ± 0.000 0.006 ± 0.000 0.013 ± 0.000 - -
cpu/linalg_batch_families batched_lu f64 1 8x8x8 0.003 ± 0.000 - 0.005 ± 0.000 0.007 ± 0.000 0.013 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 4 1024x2x2 0.068 ± 0.001 - 0.065 ± 0.001 0.043 ± 0.000 0.057 ± 0.013 - -
cpu/linalg_batch_families batched_lu f64 4 1024x4x4 0.086 ± 0.001 - 0.530 ± 0.002 0.064 ± 0.000 0.107 ± 0.019 - -
cpu/linalg_batch_families batched_lu f64 4 1024x8x8 0.223 ± 0.003 - 0.917 ± 0.008 0.104 ± 0.001 0.224 ± 0.063 - -
cpu/linalg_batch_families batched_lu f64 4 1x128x128 0.066 ± 0.003 - 0.510 ± 0.003 0.081 ± 0.001 0.096 ± 0.025 - -
cpu/linalg_batch_families batched_lu f64 4 1x2x2 0.002 ± 0.000 - 0.003 ± 0.000 0.005 ± 0.000 0.017 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 4 1x32x32 0.006 ± 0.000 - 0.008 ± 0.000 0.009 ± 0.000 0.020 ± 0.000 - -
cpu/linalg_batch_families batched_lu f64 4 1x4x4 0.002 ± 0.000 - 0.003 ± 0.000 0.005 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_lu f64 4 1x64x24 0.007 ± 0.000 - 0.009 ± 0.000 0.010 ± 0.000 0.018 ± 0.003 - -
cpu/linalg_batch_families batched_lu f64 4 1x8x8 0.002 ± 0.000 - 0.003 ± 0.000 0.005 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_lu f64 4 3x2x2 0.002 ± 0.000 - 0.003 ± 0.000 0.006 ± 0.000 0.006 ± 0.004 - -
cpu/linalg_batch_families batched_lu f64 4 3x4x4 0.002 ± 0.000 - 0.003 ± 0.000 0.006 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_lu f64 4 3x8x8 0.002 ± 0.000 - 0.004 ± 0.000 0.007 ± 0.000 0.013 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 4 4x2x2 0.002 ± 0.000 - 0.003 ± 0.000 0.006 ± 0.000 0.017 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 4 4x4x4 0.002 ± 0.000 - 0.003 ± 0.000 0.006 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_lu f64 4 4x8x8 0.002 ± 0.000 - 0.004 ± 0.000 0.007 ± 0.000 0.017 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 4 8x128x128 0.548 ± 0.014 - 0.978 ± 0.905 0.174 ± 0.001 0.386 ± 0.016 - -
cpu/linalg_batch_families batched_lu f64 4 8x2x2 0.002 ± 0.000 - 0.003 ± 0.000 0.006 ± 0.000 0.017 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 4 8x32x32 0.037 ± 0.000 - 0.039 ± 0.000 0.020 ± 0.000 0.073 ± 0.065 - -
cpu/linalg_batch_families batched_lu f64 4 8x4x4 0.002 ± 0.000 - 0.004 ± 0.000 0.007 ± 0.000 0.014 ± 0.005 - -
cpu/linalg_batch_families batched_lu f64 4 8x8x8 0.003 ± 0.000 - 0.005 ± 0.000 0.008 ± 0.000 0.009 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 8 1024x2x2 0.110 ± 0.002 - 0.126 ± 0.001 0.058 ± 0.001 0.089 ± 0.042 - -
cpu/linalg_batch_families batched_lu f64 8 1024x4x4 0.145 ± 0.004 - 0.859 ± 0.002 0.088 ± 0.001 0.191 ± 0.034 - -
cpu/linalg_batch_families batched_lu f64 8 1024x8x8 0.365 ± 0.003 - 1.424 ± 0.113 0.130 ± 0.001 0.362 ± 0.029 - -
cpu/linalg_batch_families batched_lu f64 8 1x128x128 0.105 ± 0.003 - 0.806 ± 0.004 0.122 ± 0.004 0.178 ± 0.041 - -
cpu/linalg_batch_families batched_lu f64 8 1x2x2 0.002 ± 0.000 - 0.005 ± 0.000 0.009 ± 0.000 0.015 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 8 1x32x32 0.009 ± 0.000 - 0.012 ± 0.000 0.015 ± 0.000 0.021 ± 0.011 - -
cpu/linalg_batch_families batched_lu f64 8 1x4x4 0.002 ± 0.000 - 0.005 ± 0.000 0.009 ± 0.000 0.009 ± 0.007 - -
cpu/linalg_batch_families batched_lu f64 8 1x64x24 0.011 ± 0.000 - 0.014 ± 0.000 0.017 ± 0.000 0.025 ± 0.002 - -
cpu/linalg_batch_families batched_lu f64 8 1x8x8 0.003 ± 0.000 - 0.005 ± 0.000 0.009 ± 0.000 0.016 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 8 3x2x2 0.003 ± 0.000 - 0.005 ± 0.000 0.010 ± 0.000 0.015 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 8 3x4x4 0.003 ± 0.000 - 0.005 ± 0.000 0.010 ± 0.000 0.009 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 8 3x8x8 0.003 ± 0.000 - 0.006 ± 0.000 0.011 ± 0.000 0.020 ± 0.008 - -
cpu/linalg_batch_families batched_lu f64 8 4x2x2 0.003 ± 0.000 - 0.005 ± 0.000 0.010 ± 0.000 0.009 ± 0.000 - -
cpu/linalg_batch_families batched_lu f64 8 4x4x4 0.003 ± 0.000 - 0.005 ± 0.000 0.010 ± 0.000 0.016 ± 0.001 - -
cpu/linalg_batch_families batched_lu f64 8 4x8x8 0.004 ± 0.000 - 0.006 ± 0.000 0.011 ± 0.000 0.019 ± 0.004 - -
cpu/linalg_batch_families batched_lu f64 8 8x128x128 0.844 ± 0.006 - 0.845 ± 0.020 0.189 ± 0.001 0.416 ± 0.080 - -
cpu/linalg_batch_families batched_lu f64 8 8x2x2 0.003 ± 0.000 - 0.006 ± 0.000 0.010 ± 0.000 0.016 ± 0.007 - -
cpu/linalg_batch_families batched_lu f64 8 8x32x32 0.058 ± 0.000 - 0.062 ± 0.001 0.025 ± 0.000 0.107 ± 0.065 - -
cpu/linalg_batch_families batched_lu f64 8 8x4x4 0.003 ± 0.000 - 0.006 ± 0.000 0.011 ± 0.000 0.018 ± 0.002 - -
cpu/linalg_batch_families batched_lu f64 8 8x8x8 0.005 ± 0.000 - 0.008 ± 0.000 0.012 ± 0.000 0.018 ± 0.018 - -
cpu/linalg_batch_families batched_qr f64 1 1024x2x2 0.107 ± 0.002 - 0.111 ± 0.001 0.093 ± 0.000 0.127 ± 0.002 - -
cpu/linalg_batch_families batched_qr f64 1 1024x4x4 0.265 ± 0.002 - 0.265 ± 0.002 0.255 ± 0.002 0.364 ± 0.004 - -
cpu/linalg_batch_families batched_qr f64 1 1024x8x8 0.647 ± 0.006 - 0.658 ± 0.005 0.662 ± 0.003 1.035 ± 0.004 - -
cpu/linalg_batch_families batched_qr f64 1 1x128x128 0.252 ± 0.003 - 0.255 ± 0.002 0.313 ± 0.003 0.289 ± 0.002 - -
cpu/linalg_batch_families batched_qr f64 1 1x2x2 0.001 ± 0.000 - 0.003 ± 0.000 0.002 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 1 1x32x32 0.008 ± 0.000 - 0.010 ± 0.000 0.012 ± 0.000 0.020 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 1 1x4x4 0.001 ± 0.000 - 0.003 ± 0.000 0.002 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 1 1x64x24 0.010 ± 0.000 - 0.011 ± 0.000 0.014 ± 0.000 0.019 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 1 1x8x8 0.002 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 1 3x2x2 0.001 ± 0.000 - 0.003 ± 0.000 0.002 ± 0.000 0.005 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 1 3x4x4 0.002 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 1 3x8x8 0.003 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.008 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 1 4x2x2 0.001 ± 0.000 - 0.003 ± 0.000 0.002 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 1 4x4x4 0.002 ± 0.000 - 0.004 ± 0.000 0.003 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 1 4x8x8 0.003 ± 0.000 - 0.005 ± 0.000 0.005 ± 0.000 0.009 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 1 8x128x128 2.016 ± 0.009 - 2.196 ± 0.009 2.476 ± 0.016 2.280 ± 0.007 - -
cpu/linalg_batch_families batched_qr f64 1 8x2x2 0.002 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 1 8x32x32 0.059 ± 0.000 - 0.062 ± 0.000 0.079 ± 0.000 0.091 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 1 8x4x4 0.003 ± 0.000 - 0.005 ± 0.000 0.004 ± 0.000 0.008 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 1 8x8x8 0.006 ± 0.000 - 0.008 ± 0.000 0.007 ± 0.000 0.013 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 4 1024x2x2 0.108 ± 0.001 - 0.111 ± 0.001 0.081 ± 0.000 0.124 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 4 1024x4x4 0.271 ± 0.004 - 0.275 ± 0.003 0.246 ± 0.002 0.357 ± 0.008 - -
cpu/linalg_batch_families batched_qr f64 4 1024x8x8 0.659 ± 0.008 - 0.669 ± 0.005 0.648 ± 0.004 0.487 ± 0.037 - -
cpu/linalg_batch_families batched_qr f64 4 1x128x128 0.177 ± 0.004 - 0.651 ± 0.004 0.192 ± 0.003 0.999 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 4 1x2x2 0.001 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.005 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 4 1x32x32 0.009 ± 0.000 - 0.010 ± 0.000 0.013 ± 0.000 0.038 ± 0.013 - -
cpu/linalg_batch_families batched_qr f64 4 1x4x4 0.001 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.016 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 4 1x64x24 0.010 ± 0.000 - 0.012 ± 0.000 0.015 ± 0.000 0.015 ± 0.016 - -
cpu/linalg_batch_families batched_qr f64 4 1x8x8 0.002 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 4 3x2x2 0.001 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 4 3x4x4 0.002 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 4 3x8x8 0.003 ± 0.000 - 0.005 ± 0.000 0.004 ± 0.000 0.008 ± 0.000 - -
cpu/linalg_batch_families batched_qr f64 4 4x2x2 0.001 ± 0.000 - 0.003 ± 0.000 0.003 ± 0.000 0.016 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 4 4x4x4 0.002 ± 0.000 - 0.004 ± 0.000 0.003 ± 0.000 0.007 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 4 4x8x8 0.004 ± 0.000 - 0.005 ± 0.000 0.005 ± 0.000 0.028 ± 0.019 - -
cpu/linalg_batch_families batched_qr f64 4 8x128x128 1.381 ± 0.016 - 2.401 ± 0.088 1.400 ± 0.008 2.668 ± 4.243 - -
cpu/linalg_batch_families batched_qr f64 4 8x2x2 0.002 ± 0.000 - 0.004 ± 0.000 0.003 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_qr f64 4 8x32x32 0.061 ± 0.000 - 0.063 ± 0.000 0.084 ± 0.000 0.066 ± 0.004 - -
cpu/linalg_batch_families batched_qr f64 4 8x4x4 0.003 ± 0.000 - 0.005 ± 0.000 0.004 ± 0.000 0.008 ± 0.007 - -
cpu/linalg_batch_families batched_qr f64 4 8x8x8 0.006 ± 0.000 - 0.008 ± 0.000 0.008 ± 0.000 0.014 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 8 1024x2x2 0.174 ± 0.003 - 0.179 ± 0.002 0.122 ± 0.001 0.224 ± 0.029 - -
cpu/linalg_batch_families batched_qr f64 8 1024x4x4 0.415 ± 0.004 - 0.424 ± 0.003 0.369 ± 0.003 0.601 ± 0.005 - -
cpu/linalg_batch_families batched_qr f64 8 1024x8x8 1.006 ± 0.004 - 1.015 ± 0.009 0.982 ± 0.009 0.583 ± 0.026 - -
cpu/linalg_batch_families batched_qr f64 8 1x128x128 0.301 ± 0.008 - 1.013 ± 0.006 0.259 ± 0.005 0.531 ± 0.028 - -
cpu/linalg_batch_families batched_qr f64 8 1x2x2 0.002 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.009 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 8 1x32x32 0.013 ± 0.000 - 0.016 ± 0.000 0.022 ± 0.000 0.036 ± 0.028 - -
cpu/linalg_batch_families batched_qr f64 8 1x4x4 0.002 ± 0.000 - 0.005 ± 0.000 0.004 ± 0.000 0.009 ± 0.007 - -
cpu/linalg_batch_families batched_qr f64 8 1x64x24 0.016 ± 0.000 - 0.018 ± 0.000 0.024 ± 0.000 0.034 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 8 1x8x8 0.003 ± 0.000 - 0.005 ± 0.000 0.005 ± 0.000 0.016 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 8 3x2x2 0.002 ± 0.000 - 0.005 ± 0.000 0.004 ± 0.000 0.009 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 8 3x4x4 0.003 ± 0.000 - 0.005 ± 0.000 0.005 ± 0.000 0.010 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 8 3x8x8 0.005 ± 0.000 - 0.007 ± 0.000 0.007 ± 0.000 0.013 ± 0.010 - -
cpu/linalg_batch_families batched_qr f64 8 4x2x2 0.002 ± 0.000 - 0.005 ± 0.000 0.004 ± 0.000 0.015 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 8 4x4x4 0.003 ± 0.000 - 0.006 ± 0.000 0.005 ± 0.000 0.016 ± 0.001 - -
cpu/linalg_batch_families batched_qr f64 8 4x8x8 0.006 ± 0.000 - 0.008 ± 0.000 0.008 ± 0.000 0.025 ± 0.006 - -
cpu/linalg_batch_families batched_qr f64 8 8x128x128 2.336 ± 0.017 - 4.790 ± 2.042 1.907 ± 0.009 4.805 ± 1.185 - -
cpu/linalg_batch_families batched_qr f64 8 8x2x2 0.003 ± 0.000 - 0.005 ± 0.000 0.005 ± 0.000 0.015 ± 0.007 - -
cpu/linalg_batch_families batched_qr f64 8 8x32x32 0.093 ± 0.000 - 0.099 ± 0.001 0.123 ± 0.000 0.107 ± 0.061 - -
cpu/linalg_batch_families batched_qr f64 8 8x4x4 0.005 ± 0.000 - 0.007 ± 0.000 0.007 ± 0.000 0.021 ± 0.009 - -
cpu/linalg_batch_families batched_qr f64 8 8x8x8 0.009 ± 0.000 - 0.012 ± 0.000 0.012 ± 0.000 0.035 ± 0.001 - -
cpu/linalg_batch_families batched_solve f64 1 1024x2x2,rhs=1 0.087 ± 0.001 - 0.077 ± 0.001 0.040 ± 0.000 0.129 ± 0.001 - -
cpu/linalg_batch_families batched_solve f64 1 1024x4x4,rhs=1 0.107 ± 0.001 - 0.091 ± 0.001 0.057 ± 0.000 0.185 ± 0.001 - -
cpu/linalg_batch_families batched_solve f64 1 1024x8x8,rhs=1 0.247 ± 0.002 - 0.239 ± 0.014 0.205 ± 0.001 0.386 ± 0.004 - -
cpu/linalg_batch_families batched_solve f64 1 1x128x128,rhs=1 0.057 ± 0.000 - 0.060 ± 0.000 0.068 ± 0.000 0.080 ± 0.001 - -
cpu/linalg_batch_families batched_solve f64 1 1x2x2,rhs=1 0.001 ± 0.000 - 0.003 ± 0.000 0.007 ± 0.000 0.005 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 1 1x32x32,rhs=1 0.005 ± 0.000 - 0.008 ± 0.000 0.011 ± 0.000 0.013 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 1 1x4x4,rhs=1 0.001 ± 0.000 - 0.003 ± 0.000 0.007 ± 0.000 0.004 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 1 1x8x8,rhs=1 0.001 ± 0.000 - 0.004 ± 0.001 0.007 ± 0.000 0.005 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 1 3x2x2,rhs=1 0.001 ± 0.000 - 0.003 ± 0.000 0.007 ± 0.000 0.005 ± 0.001 - -
cpu/linalg_batch_families batched_solve f64 1 3x4x4,rhs=1 0.001 ± 0.000 - 0.004 ± 0.000 0.007 ± 0.000 0.005 ± 0.001 - -
cpu/linalg_batch_families batched_solve f64 1 3x8x8,rhs=1 0.002 ± 0.000 - 0.004 ± 0.000 0.008 ± 0.000 0.007 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 1 4x2x2,rhs=1 0.001 ± 0.000 - 0.004 ± 0.000 0.007 ± 0.000 0.005 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 1 4x4x4,rhs=1 0.001 ± 0.000 - 0.004 ± 0.000 0.007 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 1 4x8x8,rhs=1 0.002 ± 0.000 - 0.004 ± 0.000 0.008 ± 0.000 0.007 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 1 8x128x128,rhs=1 0.450 ± 0.003 - 0.470 ± 0.005 0.507 ± 0.003 0.525 ± 0.016 - -
cpu/linalg_batch_families batched_solve f64 1 8x2x2,rhs=1 0.001 ± 0.000 - 0.004 ± 0.000 0.007 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 1 8x32x32,rhs=1 0.035 ± 0.000 - 0.038 ± 0.000 0.036 ± 0.000 0.043 ± 0.001 - -
cpu/linalg_batch_families batched_solve f64 1 8x4x4,rhs=1 0.002 ± 0.000 - 0.004 ± 0.000 0.007 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 1 8x8x8,rhs=1 0.003 ± 0.000 - 0.005 ± 0.000 0.008 ± 0.000 0.008 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 4 1024x2x2,rhs=1 0.091 ± 0.001 - 0.081 ± 0.000 0.033 ± 0.000 0.130 ± 0.002 - -
cpu/linalg_batch_families batched_solve f64 4 1024x4x4,rhs=1 0.113 ± 0.001 - 0.553 ± 0.003 0.045 ± 0.000 0.186 ± 0.003 - -
cpu/linalg_batch_families batched_solve f64 4 1024x8x8,rhs=1 0.264 ± 0.002 - 0.699 ± 0.151 0.129 ± 0.001 0.346 ± 0.014 - -
cpu/linalg_batch_families batched_solve f64 4 1x128x128,rhs=1 0.059 ± 0.000 - 0.525 ± 0.004 0.070 ± 0.000 0.074 ± 0.002 - -
cpu/linalg_batch_families batched_solve f64 4 1x2x2,rhs=1 0.001 ± 0.000 - 0.004 ± 0.000 0.007 ± 0.000 0.013 ± 0.001 - -
cpu/linalg_batch_families batched_solve f64 4 1x32x32,rhs=1 0.005 ± 0.000 - 0.008 ± 0.000 0.011 ± 0.000 0.010 ± 0.005 - -
cpu/linalg_batch_families batched_solve f64 4 1x4x4,rhs=1 0.001 ± 0.000 - 0.004 ± 0.000 0.007 ± 0.000 0.004 ± 0.001 - -
cpu/linalg_batch_families batched_solve f64 4 1x8x8,rhs=1 0.001 ± 0.000 - 0.004 ± 0.000 0.007 ± 0.000 0.013 ± 0.001 - -
cpu/linalg_batch_families batched_solve f64 4 3x2x2,rhs=1 0.001 ± 0.000 - 0.004 ± 0.000 0.007 ± 0.000 0.005 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 4 3x4x4,rhs=1 0.001 ± 0.000 - 0.004 ± 0.000 0.007 ± 0.000 0.005 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 4 3x8x8,rhs=1 0.002 ± 0.000 - 0.005 ± 0.000 0.008 ± 0.000 0.018 ± 0.001 - -
cpu/linalg_batch_families batched_solve f64 4 4x2x2,rhs=1 0.001 ± 0.000 - 0.004 ± 0.000 0.007 ± 0.000 0.014 ± 0.001 - -
cpu/linalg_batch_families batched_solve f64 4 4x4x4,rhs=1 0.001 ± 0.000 - 0.004 ± 0.000 0.007 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 4 4x8x8,rhs=1 0.002 ± 0.000 - 0.005 ± 0.000 0.008 ± 0.000 0.007 ± 0.014 - -
cpu/linalg_batch_families batched_solve f64 4 8x128x128,rhs=1 0.471 ± 0.008 - 0.945 ± 0.015 0.156 ± 0.001 0.317 ± 0.085 - -
cpu/linalg_batch_families batched_solve f64 4 8x2x2,rhs=1 0.002 ± 0.000 - 0.004 ± 0.000 0.007 ± 0.000 0.005 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 4 8x32x32,rhs=1 0.037 ± 0.000 - 0.040 ± 0.000 0.019 ± 0.000 0.052 ± 0.021 - -
cpu/linalg_batch_families batched_solve f64 4 8x4x4,rhs=1 0.002 ± 0.000 - 0.005 ± 0.000 0.008 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 4 8x8x8,rhs=1 0.003 ± 0.000 - 0.006 ± 0.000 0.009 ± 0.000 0.014 ± 0.016 - -
cpu/linalg_batch_families batched_solve f64 8 1024x2x2,rhs=1 0.140 ± 0.002 - 0.124 ± 0.001 0.048 ± 0.001 0.246 ± 0.034 - -
cpu/linalg_batch_families batched_solve f64 8 1024x4x4,rhs=1 0.172 ± 0.003 - 0.145 ± 0.001 0.066 ± 0.001 0.330 ± 0.008 - -
cpu/linalg_batch_families batched_solve f64 8 1024x8x8,rhs=1 0.394 ± 0.002 - 2.761 ± 0.327 0.178 ± 0.001 0.591 ± 0.048 - -
cpu/linalg_batch_families batched_solve f64 8 1x128x128,rhs=1 0.090 ± 0.001 - 0.788 ± 0.004 0.107 ± 0.000 0.119 ± 0.027 - -
cpu/linalg_batch_families batched_solve f64 8 1x2x2,rhs=1 0.002 ± 0.000 - 0.006 ± 0.000 0.010 ± 0.000 0.012 ± 0.001 - -
cpu/linalg_batch_families batched_solve f64 8 1x32x32,rhs=1 0.008 ± 0.000 - 0.013 ± 0.000 0.016 ± 0.000 0.020 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 8 1x4x4,rhs=1 0.002 ± 0.000 - 0.006 ± 0.000 0.010 ± 0.000 0.007 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 8 1x8x8,rhs=1 0.002 ± 0.000 - 0.006 ± 0.000 0.011 ± 0.000 0.007 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 8 3x2x2,rhs=1 0.002 ± 0.000 - 0.006 ± 0.000 0.011 ± 0.000 0.008 ± 0.001 - -
cpu/linalg_batch_families batched_solve f64 8 3x4x4,rhs=1 0.002 ± 0.000 - 0.006 ± 0.000 0.011 ± 0.000 0.014 ± 0.001 - -
cpu/linalg_batch_families batched_solve f64 8 3x8x8,rhs=1 0.003 ± 0.000 - 0.007 ± 0.000 0.012 ± 0.000 0.017 ± 0.007 - -
cpu/linalg_batch_families batched_solve f64 8 4x2x2,rhs=1 0.002 ± 0.000 - 0.006 ± 0.000 0.011 ± 0.000 0.008 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 8 4x4x4,rhs=1 0.002 ± 0.000 - 0.006 ± 0.000 0.011 ± 0.000 0.009 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 8 4x8x8,rhs=1 0.003 ± 0.000 - 0.007 ± 0.000 0.012 ± 0.000 0.011 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 8 8x128x128,rhs=1 0.713 ± 0.005 - 0.732 ± 0.003 0.169 ± 0.001 0.364 ± 0.025 - -
cpu/linalg_batch_families batched_solve f64 8 8x2x2,rhs=1 0.003 ± 0.000 - 0.007 ± 0.000 0.011 ± 0.000 0.014 ± 0.001 - -
cpu/linalg_batch_families batched_solve f64 8 8x32x32,rhs=1 0.056 ± 0.000 - 0.060 ± 0.000 0.025 ± 0.000 0.112 ± 0.071 - -
cpu/linalg_batch_families batched_solve f64 8 8x4x4,rhs=1 0.003 ± 0.000 - 0.007 ± 0.000 0.011 ± 0.000 0.010 ± 0.000 - -
cpu/linalg_batch_families batched_solve f64 8 8x8x8,rhs=1 0.005 ± 0.000 - 0.009 ± 0.000 0.013 ± 0.000 0.022 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 1 1024x2x2 0.904 ± 0.008 - 0.908 ± 0.005 0.756 ± 0.002 0.974 ± 0.003 - -
cpu/linalg_batch_families batched_svd c64 1 1024x4x4 3.071 ± 0.009 - 3.076 ± 0.009 2.673 ± 0.003 2.608 ± 0.014 - -
cpu/linalg_batch_families batched_svd c64 1 1024x8x8 9.130 ± 0.013 - 9.161 ± 0.035 8.388 ± 0.008 7.641 ± 0.013 - -
cpu/linalg_batch_families batched_svd c64 1 1x128x128 2.564 ± 0.022 - 2.556 ± 0.011 2.964 ± 0.008 2.245 ± 0.007 - -
cpu/linalg_batch_families batched_svd c64 1 1x2x2 0.002 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.007 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 1 1x32x32 0.097 ± 0.001 - 0.100 ± 0.001 0.111 ± 0.001 0.104 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 1 1x4x4 0.004 ± 0.000 - 0.006 ± 0.000 0.006 ± 0.000 0.008 ± 0.000 - -
cpu/linalg_batch_families batched_svd c64 1 1x64x24 0.089 ± 0.001 - 0.091 ± 0.002 0.100 ± 0.001 0.102 ± 0.002 - -
cpu/linalg_batch_families batched_svd c64 1 1x8x8 0.010 ± 0.000 - 0.012 ± 0.000 0.012 ± 0.000 0.014 ± 0.000 - -
cpu/linalg_batch_families batched_svd c64 1 3x2x2 0.004 ± 0.000 - 0.006 ± 0.000 0.006 ± 0.001 0.009 ± 0.000 - -
cpu/linalg_batch_families batched_svd c64 1 3x4x4 0.010 ± 0.001 - 0.012 ± 0.000 0.011 ± 0.000 0.014 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 1 3x8x8 0.028 ± 0.000 - 0.030 ± 0.000 0.028 ± 0.000 0.029 ± 0.000 - -
cpu/linalg_batch_families batched_svd c64 1 4x2x2 0.005 ± 0.000 - 0.006 ± 0.000 0.006 ± 0.000 0.010 ± 0.000 - -
cpu/linalg_batch_families batched_svd c64 1 4x4x4 0.013 ± 0.000 - 0.015 ± 0.000 0.014 ± 0.000 0.016 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 1 4x8x8 0.037 ± 0.000 - 0.039 ± 0.000 0.037 ± 0.000 0.037 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 1 8x128x128 20.268 ± 0.035 - 20.802 ± 0.022 23.697 ± 0.030 17.749 ± 0.029 - -
cpu/linalg_batch_families batched_svd c64 1 8x2x2 0.008 ± 0.000 - 0.010 ± 0.000 0.009 ± 0.000 0.014 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 1 8x32x32 0.766 ± 0.006 - 0.769 ± 0.006 0.852 ± 0.001 0.762 ± 0.003 - -
cpu/linalg_batch_families batched_svd c64 1 8x4x4 0.025 ± 0.000 - 0.027 ± 0.000 0.024 ± 0.000 0.026 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 1 8x8x8 0.072 ± 0.000 - 0.074 ± 0.000 0.069 ± 0.000 0.072 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 4 1024x2x2 0.909 ± 0.010 - 0.917 ± 0.004 0.749 ± 0.003 0.997 ± 0.023 - -
cpu/linalg_batch_families batched_svd c64 4 1024x4x4 3.137 ± 0.008 - 3.151 ± 0.007 2.710 ± 0.017 1.035 ± 0.210 - -
cpu/linalg_batch_families batched_svd c64 4 1024x8x8 9.160 ± 0.028 - 9.634 ± 0.058 8.602 ± 0.015 3.992 ± 0.107 - -
cpu/linalg_batch_families batched_svd c64 4 1x128x128 1.625 ± 0.011 - 1.850 ± 0.006 1.762 ± 0.006 1.999 ± 0.021 - -
cpu/linalg_batch_families batched_svd c64 4 1x2x2 0.002 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.007 ± 0.000 - -
cpu/linalg_batch_families batched_svd c64 4 1x32x32 0.107 ± 0.002 - 0.108 ± 0.001 0.116 ± 0.001 0.100 ± 0.002 - -
cpu/linalg_batch_families batched_svd c64 4 1x4x4 0.004 ± 0.000 - 0.006 ± 0.000 0.006 ± 0.000 0.008 ± 0.000 - -
cpu/linalg_batch_families batched_svd c64 4 1x64x24 0.091 ± 0.000 - 0.093 ± 0.000 0.101 ± 0.001 0.099 ± 0.002 - -
cpu/linalg_batch_families batched_svd c64 4 1x8x8 0.011 ± 0.000 - 0.013 ± 0.000 0.012 ± 0.000 0.014 ± 0.000 - -
cpu/linalg_batch_families batched_svd c64 4 3x2x2 0.004 ± 0.000 - 0.006 ± 0.000 0.006 ± 0.000 0.009 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 4 3x4x4 0.010 ± 0.000 - 0.012 ± 0.000 0.011 ± 0.000 0.013 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 4 3x8x8 0.029 ± 0.000 - 0.031 ± 0.000 0.029 ± 0.000 0.028 ± 0.000 - -
cpu/linalg_batch_families batched_svd c64 4 4x2x2 0.005 ± 0.000 - 0.007 ± 0.000 0.006 ± 0.000 0.010 ± 0.000 - -
cpu/linalg_batch_families batched_svd c64 4 4x4x4 0.013 ± 0.000 - 0.015 ± 0.000 0.014 ± 0.000 0.016 ± 0.008 - -
cpu/linalg_batch_families batched_svd c64 4 4x8x8 0.038 ± 0.000 - 0.040 ± 0.000 0.037 ± 0.000 0.037 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 4 8x128x128 12.961 ± 0.017 - 13.496 ± 0.445 13.963 ± 0.013 36.143 ± 15.196 - -
cpu/linalg_batch_families batched_svd c64 4 8x2x2 0.008 ± 0.000 - 0.010 ± 0.000 0.009 ± 0.000 0.041 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 4 8x32x32 0.823 ± 0.004 - 0.821 ± 0.006 0.890 ± 0.002 0.411 ± 0.176 - -
cpu/linalg_batch_families batched_svd c64 4 8x4x4 0.025 ± 0.000 - 0.027 ± 0.000 0.025 ± 0.000 0.026 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 4 8x8x8 0.074 ± 0.000 - 0.076 ± 0.000 0.070 ± 0.000 0.068 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 8 1024x2x2 1.412 ± 0.006 - 1.417 ± 0.006 1.150 ± 0.005 1.571 ± 0.006 - -
cpu/linalg_batch_families batched_svd c64 8 1024x4x4 4.787 ± 0.021 - 4.772 ± 0.034 4.168 ± 0.013 1.355 ± 0.300 - -
cpu/linalg_batch_families batched_svd c64 8 1024x8x8 14.446 ± 0.027 - 14.469 ± 0.102 13.291 ± 0.012 3.231 ± 0.092 - -
cpu/linalg_batch_families batched_svd c64 8 1x128x128 2.240 ± 0.029 - 2.584 ± 0.028 2.482 ± 0.009 3.085 ± 0.013 - -
cpu/linalg_batch_families batched_svd c64 8 1x2x2 0.004 ± 0.000 - 0.006 ± 0.000 0.006 ± 0.000 0.018 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 8 1x32x32 0.160 ± 0.002 - 0.164 ± 0.001 0.182 ± 0.002 0.166 ± 0.039 - -
cpu/linalg_batch_families batched_svd c64 8 1x4x4 0.007 ± 0.000 - 0.010 ± 0.000 0.010 ± 0.000 0.022 ± 0.002 - -
cpu/linalg_batch_families batched_svd c64 8 1x64x24 0.195 ± 0.001 - 0.143 ± 0.002 0.155 ± 0.002 0.178 ± 0.021 - -
cpu/linalg_batch_families batched_svd c64 8 1x8x8 0.016 ± 0.000 - 0.019 ± 0.000 0.019 ± 0.000 0.022 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 8 3x2x2 0.006 ± 0.000 - 0.009 ± 0.000 0.009 ± 0.000 0.023 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 8 3x4x4 0.016 ± 0.000 - 0.018 ± 0.000 0.017 ± 0.000 0.021 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 8 3x8x8 0.044 ± 0.000 - 0.047 ± 0.000 0.044 ± 0.000 0.046 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 8 4x2x2 0.008 ± 0.000 - 0.010 ± 0.000 0.010 ± 0.000 0.026 ± 0.011 - -
cpu/linalg_batch_families batched_svd c64 8 4x4x4 0.021 ± 0.000 - 0.023 ± 0.000 0.021 ± 0.000 0.026 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 8 4x8x8 0.059 ± 0.000 - 0.062 ± 0.000 0.058 ± 0.000 0.059 ± 0.004 - -
cpu/linalg_batch_families batched_svd c64 8 8x128x128 17.893 ± 0.034 - 84.309 ± 1.850 19.712 ± 0.028 113.990 ± 31.759 - -
cpu/linalg_batch_families batched_svd c64 8 8x2x2 0.013 ± 0.000 - 0.016 ± 0.000 0.014 ± 0.000 0.021 ± 0.000 - -
cpu/linalg_batch_families batched_svd c64 8 8x32x32 3.018 ± 1.749 - 1.280 ± 0.008 1.403 ± 0.007 0.338 ± 0.049 - -
cpu/linalg_batch_families batched_svd c64 8 8x4x4 0.039 ± 0.000 - 0.042 ± 0.000 0.038 ± 0.000 0.042 ± 0.001 - -
cpu/linalg_batch_families batched_svd c64 8 8x8x8 0.114 ± 0.000 - 0.118 ± 0.000 0.109 ± 0.000 0.114 ± 0.030 - -
cpu/linalg_batch_families batched_svd f64 1 1024x2x2 0.679 ± 0.005 - 0.682 ± 0.002 0.537 ± 0.002 0.611 ± 0.003 - -
cpu/linalg_batch_families batched_svd f64 1 1024x4x4 2.585 ± 0.006 - 2.600 ± 0.004 2.241 ± 0.004 2.004 ± 0.002 - -
cpu/linalg_batch_families batched_svd f64 1 1024x8x8 7.903 ± 0.006 - 7.917 ± 0.014 7.280 ± 0.006 6.302 ± 0.017 - -
cpu/linalg_batch_families batched_svd f64 1 1x128x128 1.196 ± 0.011 - 1.192 ± 0.005 1.299 ± 0.023 1.164 ± 0.013 - -
cpu/linalg_batch_families batched_svd f64 1 1x2x2 0.002 ± 0.000 - 0.003 ± 0.000 0.004 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 1 1x32x32 0.066 ± 0.001 - 0.068 ± 0.001 0.076 ± 0.001 0.081 ± 0.002 - -
cpu/linalg_batch_families batched_svd f64 1 1x4x4 0.004 ± 0.000 - 0.005 ± 0.000 0.006 ± 0.000 0.008 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 1 1x64x24 0.054 ± 0.001 - 0.056 ± 0.000 0.060 ± 0.000 0.072 ± 0.002 - -
cpu/linalg_batch_families batched_svd f64 1 1x8x8 0.009 ± 0.000 - 0.010 ± 0.000 0.010 ± 0.000 0.012 ± 0.000 - -
cpu/linalg_batch_families batched_svd f64 1 3x2x2 0.003 ± 0.000 - 0.005 ± 0.000 0.005 ± 0.000 0.007 ± 0.000 - -
cpu/linalg_batch_families batched_svd f64 1 3x4x4 0.009 ± 0.000 - 0.010 ± 0.000 0.010 ± 0.000 0.012 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 1 3x8x8 0.022 ± 0.000 - 0.024 ± 0.000 0.023 ± 0.000 0.023 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 1 4x2x2 0.004 ± 0.000 - 0.006 ± 0.002 0.006 ± 0.000 0.008 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 1 4x4x4 0.011 ± 0.001 - 0.013 ± 0.000 0.012 ± 0.000 0.014 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 1 4x8x8 0.030 ± 0.000 - 0.031 ± 0.000 0.030 ± 0.000 0.030 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 1 8x128x128 9.445 ± 0.041 - 9.461 ± 0.022 10.177 ± 0.008 9.267 ± 0.007 - -
cpu/linalg_batch_families batched_svd f64 1 8x2x2 0.006 ± 0.000 - 0.008 ± 0.000 0.008 ± 0.000 0.011 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 1 8x32x32 0.521 ± 0.004 - 0.522 ± 0.003 0.587 ± 0.003 0.573 ± 0.003 - -
cpu/linalg_batch_families batched_svd f64 1 8x4x4 0.021 ± 0.000 - 0.023 ± 0.000 0.021 ± 0.000 0.022 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 1 8x8x8 0.060 ± 0.000 - 0.061 ± 0.000 0.057 ± 0.000 0.058 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 4 1024x2x2 0.696 ± 0.004 - 0.688 ± 0.007 0.520 ± 0.004 0.646 ± 0.028 - -
cpu/linalg_batch_families batched_svd f64 4 1024x4x4 2.652 ± 0.008 - 2.655 ± 0.005 2.278 ± 0.005 0.805 ± 0.007 - -
cpu/linalg_batch_families batched_svd f64 4 1024x8x8 7.974 ± 0.141 - 8.362 ± 0.029 7.481 ± 0.009 3.194 ± 0.778 - -
cpu/linalg_batch_families batched_svd f64 4 1x128x128 0.979 ± 0.011 - 1.185 ± 0.012 1.069 ± 0.005 1.198 ± 0.036 - -
cpu/linalg_batch_families batched_svd f64 4 1x2x2 0.002 ± 0.000 - 0.004 ± 0.000 0.004 ± 0.000 0.006 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 4 1x32x32 0.075 ± 0.001 - 0.076 ± 0.004 0.083 ± 0.006 0.078 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 4 1x4x4 0.004 ± 0.000 - 0.005 ± 0.000 0.006 ± 0.000 0.008 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 4 1x64x24 0.057 ± 0.001 - 0.058 ± 0.000 0.062 ± 0.000 0.083 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 4 1x8x8 0.009 ± 0.000 - 0.011 ± 0.000 0.011 ± 0.000 0.036 ± 0.027 - -
cpu/linalg_batch_families batched_svd f64 4 3x2x2 0.003 ± 0.000 - 0.005 ± 0.000 0.005 ± 0.000 0.008 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 4 3x4x4 0.009 ± 0.000 - 0.011 ± 0.000 0.010 ± 0.000 0.012 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 4 3x8x8 0.023 ± 0.000 - 0.024 ± 0.000 0.023 ± 0.000 0.024 ± 0.021 - -
cpu/linalg_batch_families batched_svd f64 4 4x2x2 0.004 ± 0.000 - 0.006 ± 0.000 0.005 ± 0.000 0.008 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 4 4x4x4 0.012 ± 0.000 - 0.013 ± 0.000 0.012 ± 0.000 0.041 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 4 4x8x8 0.030 ± 0.000 - 0.032 ± 0.000 0.030 ± 0.000 0.030 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 4 8x128x128 7.632 ± 0.027 - 8.058 ± 0.009 8.361 ± 0.015 9.594 ± 1.562 - -
cpu/linalg_batch_families batched_svd f64 4 8x2x2 0.007 ± 0.000 - 0.008 ± 0.000 0.007 ± 0.000 0.032 ± 0.002 - -
cpu/linalg_batch_families batched_svd f64 4 8x32x32 0.581 ± 0.003 - 0.580 ± 0.006 0.621 ± 0.002 0.184 ± 0.139 - -
cpu/linalg_batch_families batched_svd f64 4 8x4x4 0.022 ± 0.000 - 0.023 ± 0.000 0.021 ± 0.000 0.022 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 4 8x8x8 0.061 ± 0.000 - 0.062 ± 0.000 0.059 ± 0.000 0.054 ± 0.004 - -
cpu/linalg_batch_families batched_svd f64 8 1024x2x2 1.037 ± 0.005 - 1.043 ± 0.005 0.808 ± 0.005 0.995 ± 0.011 - -
cpu/linalg_batch_families batched_svd f64 8 1024x4x4 4.054 ± 0.008 - 4.064 ± 0.010 3.505 ± 0.005 1.432 ± 0.198 - -
cpu/linalg_batch_families batched_svd f64 8 1024x8x8 12.454 ± 0.028 - 12.486 ± 0.011 11.518 ± 0.011 2.606 ± 0.044 - -
cpu/linalg_batch_families batched_svd f64 8 1x128x128 1.459 ± 0.023 - 1.807 ± 0.012 1.598 ± 0.007 2.998 ± 1.044 - -
cpu/linalg_batch_families batched_svd f64 8 1x2x2 0.003 ± 0.000 - 0.006 ± 0.000 0.006 ± 0.000 0.010 ± 0.000 - -
cpu/linalg_batch_families batched_svd f64 8 1x32x32 0.113 ± 0.002 - 0.115 ± 0.001 0.130 ± 0.004 0.130 ± 0.041 - -
cpu/linalg_batch_families batched_svd f64 8 1x4x4 0.006 ± 0.000 - 0.008 ± 0.000 0.009 ± 0.000 0.012 ± 0.000 - -
cpu/linalg_batch_families batched_svd f64 8 1x64x24 0.114 ± 0.001 - 0.123 ± 0.001 0.097 ± 0.001 0.127 ± 0.002 - -
cpu/linalg_batch_families batched_svd f64 8 1x8x8 0.014 ± 0.000 - 0.017 ± 0.000 0.016 ± 0.000 0.019 ± 0.000 - -
cpu/linalg_batch_families batched_svd f64 8 3x2x2 0.005 ± 0.000 - 0.008 ± 0.000 0.008 ± 0.000 0.012 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 8 3x4x4 0.014 ± 0.000 - 0.016 ± 0.000 0.016 ± 0.000 0.018 ± 0.000 - -
cpu/linalg_batch_families batched_svd f64 8 3x8x8 0.035 ± 0.000 - 0.038 ± 0.000 0.036 ± 0.000 0.037 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 8 4x2x2 0.006 ± 0.000 - 0.009 ± 0.000 0.009 ± 0.000 0.013 ± 0.010 - -
cpu/linalg_batch_families batched_svd f64 8 4x4x4 0.018 ± 0.000 - 0.021 ± 0.000 0.019 ± 0.000 0.037 ± 0.006 - -
cpu/linalg_batch_families batched_svd f64 8 4x8x8 0.047 ± 0.000 - 0.050 ± 0.000 0.047 ± 0.000 0.048 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 8 8x128x128 11.292 ± 0.080 - 21.235 ± 0.042 12.425 ± 0.035 38.872 ± 19.223 - -
cpu/linalg_batch_families batched_svd f64 8 8x2x2 0.010 ± 0.000 - 0.013 ± 0.000 0.012 ± 0.000 0.017 ± 0.000 - -
cpu/linalg_batch_families batched_svd f64 8 8x32x32 0.888 ± 0.003 - 0.897 ± 0.006 0.981 ± 0.002 0.276 ± 0.028 - -
cpu/linalg_batch_families batched_svd f64 8 8x4x4 0.034 ± 0.000 - 0.036 ± 0.000 0.032 ± 0.000 0.034 ± 0.001 - -
cpu/linalg_batch_families batched_svd f64 8 8x8x8 0.094 ± 0.000 - 0.097 ± 0.000 0.091 ± 0.000 0.142 ± 0.024 - -
cpu/linalg_batch_families batched_svdvals f64 1 1024x2x2 0.210 ± 0.003 - unsupported 0.146 ± 0.002 0.308 ± 0.004 - -
cpu/linalg_batch_families batched_svdvals f64 1 1024x4x4 1.112 ± 0.003 - unsupported 0.986 ± 0.002 1.265 ± 0.002 - -
cpu/linalg_batch_families batched_svdvals f64 1 1024x8x8 2.711 ± 0.004 - unsupported 2.651 ± 0.004 3.273 ± 0.004 - -
cpu/linalg_batch_families batched_svdvals f64 1 1x128x128 0.503 ± 0.004 - unsupported 0.575 ± 0.010 0.576 ± 0.005 - -
cpu/linalg_batch_families batched_svdvals f64 1 1x2x2 0.001 ± 0.000 - unsupported 0.003 ± 0.000 0.004 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 1 1x32x32 0.025 ± 0.000 - unsupported 0.029 ± 0.000 0.033 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 1 1x4x4 0.002 ± 0.000 - unsupported 0.004 ± 0.000 0.005 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 1 1x64x24 0.020 ± 0.000 - unsupported 0.024 ± 0.000 0.028 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 1 1x8x8 0.003 ± 0.000 - unsupported 0.005 ± 0.000 0.007 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 1 3x2x2 0.002 ± 0.000 - unsupported 0.004 ± 0.000 0.005 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 1 3x4x4 0.004 ± 0.000 - unsupported 0.006 ± 0.000 0.007 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 1 3x8x8 0.008 ± 0.000 - unsupported 0.011 ± 0.000 0.013 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 1 4x2x2 0.002 ± 0.000 - unsupported 0.004 ± 0.000 0.005 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 1 4x4x4 0.005 ± 0.000 - unsupported 0.007 ± 0.000 0.009 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 1 4x8x8 0.011 ± 0.000 - unsupported 0.013 ± 0.000 0.016 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 1 8x128x128 4.005 ± 0.022 - unsupported 4.557 ± 0.010 4.478 ± 0.003 - -
cpu/linalg_batch_families batched_svdvals f64 1 8x2x2 0.003 ± 0.000 - unsupported 0.004 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 1 8x32x32 0.196 ± 0.000 - unsupported 0.214 ± 0.002 0.242 ± 0.002 - -
cpu/linalg_batch_families batched_svdvals f64 1 8x4x4 0.009 ± 0.000 - unsupported 0.011 ± 0.000 0.013 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 1 8x8x8 0.022 ± 0.000 - unsupported 0.023 ± 0.000 0.029 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 4 1024x2x2 0.239 ± 0.002 - unsupported 0.152 ± 0.003 0.308 ± 0.002 - -
cpu/linalg_batch_families batched_svdvals f64 4 1024x4x4 1.171 ± 0.002 - unsupported 1.008 ± 0.004 0.508 ± 0.101 - -
cpu/linalg_batch_families batched_svdvals f64 4 1024x8x8 2.815 ± 0.005 - unsupported 2.706 ± 0.003 1.677 ± 0.031 - -
cpu/linalg_batch_families batched_svdvals f64 4 1x128x128 0.510 ± 0.006 - unsupported 0.581 ± 0.005 0.599 ± 0.004 - -
cpu/linalg_batch_families batched_svdvals f64 4 1x2x2 0.001 ± 0.000 - unsupported 0.003 ± 0.000 0.005 ± 0.001 - -
cpu/linalg_batch_families batched_svdvals f64 4 1x32x32 0.026 ± 0.000 - unsupported 0.029 ± 0.000 0.033 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 4 1x4x4 0.002 ± 0.000 - unsupported 0.004 ± 0.000 0.005 ± 0.010 - -
cpu/linalg_batch_families batched_svdvals f64 4 1x64x24 0.021 ± 0.000 - unsupported 0.024 ± 0.000 0.029 ± 0.001 - -
cpu/linalg_batch_families batched_svdvals f64 4 1x8x8 0.003 ± 0.000 - unsupported 0.006 ± 0.000 0.020 ± 0.001 - -
cpu/linalg_batch_families batched_svdvals f64 4 3x2x2 0.002 ± 0.000 - unsupported 0.004 ± 0.000 0.014 ± 0.001 - -
cpu/linalg_batch_families batched_svdvals f64 4 3x4x4 0.004 ± 0.000 - unsupported 0.006 ± 0.000 0.022 ± 0.002 - -
cpu/linalg_batch_families batched_svdvals f64 4 3x8x8 0.009 ± 0.000 - unsupported 0.011 ± 0.000 0.039 ± 0.006 - -
cpu/linalg_batch_families batched_svdvals f64 4 4x2x2 0.002 ± 0.000 - unsupported 0.004 ± 0.000 0.005 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 4 4x4x4 0.005 ± 0.000 - unsupported 0.007 ± 0.000 0.009 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 4 4x8x8 0.012 ± 0.000 - unsupported 0.014 ± 0.000 0.016 ± 0.033 - -
cpu/linalg_batch_families batched_svdvals f64 4 8x128x128 4.043 ± 0.007 - unsupported 4.538 ± 0.009 4.998 ± 0.161 - -
cpu/linalg_batch_families batched_svdvals f64 4 8x2x2 0.003 ± 0.000 - unsupported 0.004 ± 0.000 0.006 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 4 8x32x32 0.204 ± 0.003 - unsupported 0.217 ± 0.001 0.099 ± 0.061 - -
cpu/linalg_batch_families batched_svdvals f64 4 8x4x4 0.010 ± 0.000 - unsupported 0.011 ± 0.000 0.013 ± 0.001 - -
cpu/linalg_batch_families batched_svdvals f64 4 8x8x8 0.022 ± 0.000 - unsupported 0.024 ± 0.000 0.029 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 8 1024x2x2 0.333 ± 0.006 - unsupported 0.233 ± 0.002 0.519 ± 0.016 - -
cpu/linalg_batch_families batched_svdvals f64 8 1024x4x4 1.757 ± 0.006 - unsupported 1.552 ± 0.005 0.933 ± 0.375 - -
cpu/linalg_batch_families batched_svdvals f64 8 1024x8x8 4.292 ± 0.006 - unsupported 4.186 ± 0.011 1.389 ± 0.033 - -
cpu/linalg_batch_families batched_svdvals f64 8 1x128x128 0.778 ± 0.009 - unsupported 0.908 ± 0.015 0.978 ± 0.003 - -
cpu/linalg_batch_families batched_svdvals f64 8 1x2x2 0.002 ± 0.000 - unsupported 0.005 ± 0.000 0.007 ± 0.001 - -
cpu/linalg_batch_families batched_svdvals f64 8 1x32x32 0.040 ± 0.000 - unsupported 0.046 ± 0.000 0.053 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 8 1x4x4 0.003 ± 0.000 - unsupported 0.006 ± 0.000 0.008 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 8 1x64x24 0.032 ± 0.000 - unsupported 0.038 ± 0.000 0.045 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 8 1x8x8 0.005 ± 0.000 - unsupported 0.009 ± 0.000 0.011 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 8 3x2x2 0.003 ± 0.000 - unsupported 0.006 ± 0.001 0.012 ± 0.001 - -
cpu/linalg_batch_families batched_svdvals f64 8 3x4x4 0.006 ± 0.000 - unsupported 0.010 ± 0.000 0.019 ± 0.001 - -
cpu/linalg_batch_families batched_svdvals f64 8 3x8x8 0.013 ± 0.000 - unsupported 0.017 ± 0.000 0.021 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 8 4x2x2 0.003 ± 0.000 - unsupported 0.006 ± 0.000 0.013 ± 0.006 - -
cpu/linalg_batch_families batched_svdvals f64 8 4x4x4 0.008 ± 0.000 - unsupported 0.011 ± 0.000 0.023 ± 0.010 - -
cpu/linalg_batch_families batched_svdvals f64 8 4x8x8 0.018 ± 0.000 - unsupported 0.021 ± 0.000 0.026 ± 0.001 - -
cpu/linalg_batch_families batched_svdvals f64 8 8x128x128 6.185 ± 0.014 - unsupported 7.054 ± 0.019 23.455 ± 25.042 - -
cpu/linalg_batch_families batched_svdvals f64 8 8x2x2 0.004 ± 0.000 - unsupported 0.007 ± 0.000 0.010 ± 0.000 - -
cpu/linalg_batch_families batched_svdvals f64 8 8x32x32 0.314 ± 0.002 - unsupported 0.336 ± 0.005 0.124 ± 0.052 - -
cpu/linalg_batch_families batched_svdvals f64 8 8x4x4 0.015 ± 0.000 - unsupported 0.017 ± 0.000 0.035 ± 0.013 - -
cpu/linalg_batch_families batched_svdvals f64 8 8x8x8 0.034 ± 0.000 - unsupported 0.037 ± 0.000 0.047 ± 0.001 - -
cpu/linalg_batched batched_lu_factor f64 1 1024x16x16,rhs=1 0.532 ± 0.004 - unsupported 0.548 ± 0.003 1.232 ± 0.007 1.161 ± 0.125 -
cpu/linalg_batched batched_lu_factor f64 1 1024x2x2,rhs=1 0.103 ± 0.001 - unsupported 0.025 ± 0.002 0.050 ± 0.001 0.070 ± 0.002 -
cpu/linalg_batched batched_lu_factor f64 1 1024x4x4,rhs=1 0.072 ± 0.001 - unsupported 0.036 ± 0.000 0.086 ± 0.001 0.110 ± 0.003 -
cpu/linalg_batched batched_lu_factor f64 1 1024x8x8,rhs=1 0.152 ± 0.007 - unsupported 0.120 ± 0.001 0.231 ± 0.002 0.337 ± 0.005 -
cpu/linalg_batched batched_lu_factor f64 4 1024x16x16,rhs=1 0.557 ± 0.004 - unsupported 0.144 ± 0.002 0.835 ± 0.015 1.192 ± 0.041 -
cpu/linalg_batched batched_lu_factor f64 4 1024x2x2,rhs=1 0.102 ± 0.002 - unsupported 0.016 ± 0.001 0.057 ± 0.023 0.070 ± 0.003 -
cpu/linalg_batched batched_lu_factor f64 4 1024x4x4,rhs=1 0.069 ± 0.001 - unsupported 0.023 ± 0.001 0.083 ± 0.002 0.110 ± 0.008 -
cpu/linalg_batched batched_lu_factor f64 4 1024x8x8,rhs=1 0.155 ± 0.002 - unsupported 0.041 ± 0.001 0.186 ± 0.160 0.349 ± 0.095 -
cpu/linalg_batched batched_lu_factor f64 8 1024x16x16,rhs=1 0.840 ± 0.007 - unsupported 0.117 ± 0.001 0.539 ± 0.054 1.831 ± 0.406 -
cpu/linalg_batched batched_lu_factor f64 8 1024x2x2,rhs=1 0.162 ± 0.002 - unsupported 0.023 ± 0.001 0.084 ± 0.032 0.099 ± 0.007 -
cpu/linalg_batched batched_lu_factor f64 8 1024x4x4,rhs=1 0.109 ± 0.001 - unsupported 0.031 ± 0.001 0.135 ± 0.023 0.154 ± 0.008 -
cpu/linalg_batched batched_lu_factor f64 8 1024x8x8,rhs=1 0.234 ± 0.002 - unsupported 0.046 ± 0.000 0.348 ± 0.063 0.525 ± 0.029 -
cpu/linalg_batched batched_lu_solve f64 1 1024x16x16,rhs=1 0.151 ± 0.001 - unsupported 0.193 ± 0.013 0.378 ± 0.004 0.198 ± 0.025 -
cpu/linalg_batched batched_lu_solve f64 1 1024x2x2,rhs=1 0.015 ± 0.000 - unsupported 0.018 ± 0.000 0.088 ± 0.001 0.043 ± 0.002 -
cpu/linalg_batched batched_lu_solve f64 1 1024x4x4,rhs=1 0.032 ± 0.000 - unsupported 0.024 ± 0.000 0.110 ± 0.001 0.063 ± 0.002 -
cpu/linalg_batched batched_lu_solve f64 1 1024x8x8,rhs=1 0.101 ± 0.000 - unsupported 0.088 ± 0.000 0.177 ± 0.002 0.099 ± 0.007 -
cpu/linalg_batched batched_lu_solve f64 4 1024x16x16,rhs=1 0.162 ± 0.005 - unsupported 0.195 ± 0.002 0.347 ± 0.015 0.218 ± 0.002 -
cpu/linalg_batched batched_lu_solve f64 4 1024x2x2,rhs=1 0.016 ± 0.000 - unsupported 0.019 ± 0.000 0.101 ± 0.050 0.045 ± 0.001 -
cpu/linalg_batched batched_lu_solve f64 4 1024x4x4,rhs=1 0.033 ± 0.000 - unsupported 0.024 ± 0.000 0.111 ± 0.002 0.065 ± 0.001 -
cpu/linalg_batched batched_lu_solve f64 4 1024x8x8,rhs=1 0.106 ± 0.000 - unsupported 0.088 ± 0.000 0.175 ± 0.031 0.110 ± 0.002 -
cpu/linalg_batched batched_lu_solve f64 8 1024x16x16,rhs=1 0.244 ± 0.004 - unsupported 0.306 ± 0.002 0.570 ± 0.015 0.338 ± 0.028 -
cpu/linalg_batched batched_lu_solve f64 8 1024x2x2,rhs=1 0.024 ± 0.000 - unsupported 0.028 ± 0.000 0.160 ± 0.042 0.072 ± 0.001 -
cpu/linalg_batched batched_lu_solve f64 8 1024x4x4,rhs=1 0.051 ± 0.000 - unsupported 0.037 ± 0.000 0.203 ± 0.030 0.104 ± 0.002 -
cpu/linalg_batched batched_lu_solve f64 8 1024x8x8,rhs=1 0.161 ± 0.001 - unsupported 0.137 ± 0.001 0.321 ± 0.035 0.169 ± 0.011 -
cpu/linalg_batched batched_triangular_solve f64 1 1024x16x16,rhs=1 0.100 ± 0.001 - 0.137 ± 0.001 0.100 ± 0.008 0.190 ± 0.003 0.122 ± 0.021 -
cpu/linalg_batched batched_triangular_solve f64 1 1024x2x2,rhs=1 0.036 ± 0.000 - 0.038 ± 0.000 0.031 ± 0.000 0.041 ± 0.000 0.037 ± 0.002 -
cpu/linalg_batched batched_triangular_solve f64 1 1024x4x4,rhs=1 0.042 ± 0.000 - 0.045 ± 0.000 0.040 ± 0.001 0.053 ± 0.001 0.045 ± 0.001 -
cpu/linalg_batched batched_triangular_solve f64 1 1024x8x8,rhs=1 0.058 ± 0.000 - 0.069 ± 0.000 0.059 ± 0.001 0.085 ± 0.002 0.074 ± 0.011 -
cpu/linalg_batched batched_triangular_solve f64 4 1024x16x16,rhs=1 0.103 ± 0.002 - 1.960 ± 1.379 0.103 ± 0.002 0.271 ± 0.080 0.121 ± 0.003 -
cpu/linalg_batched batched_triangular_solve f64 4 1024x2x2,rhs=1 0.038 ± 0.000 - 0.040 ± 0.000 0.032 ± 0.001 0.043 ± 0.086 0.037 ± 0.003 -
cpu/linalg_batched batched_triangular_solve f64 4 1024x4x4,rhs=1 0.044 ± 0.000 - 0.507 ± 0.003 0.040 ± 0.001 0.053 ± 0.000 0.043 ± 0.002 -
cpu/linalg_batched batched_triangular_solve f64 4 1024x8x8,rhs=1 0.061 ± 0.000 - 0.772 ± 0.678 0.060 ± 0.000 0.089 ± 0.003 0.067 ± 0.003 -
cpu/linalg_batched batched_triangular_solve f64 8 1024x16x16,rhs=1 0.156 ± 0.001 - 1.954 ± 0.726 0.157 ± 0.002 0.320 ± 0.048 0.226 ± 0.018 -
cpu/linalg_batched batched_triangular_solve f64 8 1024x2x2,rhs=1 0.057 ± 0.000 - 0.061 ± 0.000 0.049 ± 0.001 0.072 ± 0.001 0.060 ± 0.000 -
cpu/linalg_batched batched_triangular_solve f64 8 1024x4x4,rhs=1 0.067 ± 0.000 - 0.765 ± 0.003 0.061 ± 0.001 0.088 ± 0.001 0.071 ± 0.001 -
cpu/linalg_batched batched_triangular_solve f64 8 1024x8x8,rhs=1 0.093 ± 0.000 - 0.830 ± 0.003 0.092 ± 0.001 0.145 ± 0.015 0.110 ± 0.015 -
cpu/linalg_uncovered cholesky f64 1 1536x1536 24.749 ± 0.097 - 26.141 ± 0.204 38.689 ± 0.331 47.316 ± 0.136 33.736 ± 6.308 -
cpu/linalg_uncovered cholesky f64 4 1536x1536 7.633 ± 2.066 - 9.066 ± 2.359 10.843 ± 0.077 32.624 ± 1.982 18.720 ± 6.116 -
cpu/linalg_uncovered cholesky f64 8 1536x1536 7.347 ± 0.121 - 9.164 ± 0.111 8.433 ± 0.116 42.707 ± 22.659 27.125 ± 7.304 -
cpu/linalg_uncovered det f64 1 1024x1024 14.692 ± 0.170 - 14.511 ± 0.144 16.416 ± 0.043 14.797 ± 0.048 13.320 ± 0.265 -
cpu/linalg_uncovered det f64 4 1024x1024 5.036 ± 0.104 - 10.085 ± 8.197 3.723 ± 0.022 6.997 ± 0.241 5.271 ± 0.363 -
cpu/linalg_uncovered det f64 8 1024x1024 5.203 ± 0.076 - 8.769 ± 5.910 3.493 ± 0.068 7.639 ± 0.103 4.580 ± 0.921 -
cpu/linalg_uncovered eig f64 1 160x160 3.900 ± 0.005 - 3.903 ± 0.008 4.045 ± 0.024 3.924 ± 0.004 4.743 ± 0.020 -
cpu/linalg_uncovered eig f64 4 160x160 3.734 ± 0.033 - 4.205 ± 0.035 3.718 ± 0.020 4.072 ± 0.014 4.703 ± 0.039 -
cpu/linalg_uncovered eig f64 8 160x160 5.822 ± 0.028 - 6.258 ± 0.043 5.773 ± 0.031 6.380 ± 0.014 6.171 ± 0.091 -
cpu/linalg_uncovered eigvals f64 1 192x192 4.574 ± 0.006 - 4.586 ± 0.004 4.482 ± 0.009 4.697 ± 0.007 6.093 ± 0.049 -
cpu/linalg_uncovered eigvals f64 4 192x192 4.419 ± 0.007 - 4.854 ± 0.012 4.222 ± 0.010 5.004 ± 0.025 5.779 ± 0.011 -
cpu/linalg_uncovered eigvals f64 8 192x192 6.676 ± 0.049 - 16.292 ± 0.017 6.457 ± 0.011 7.835 ± 0.019 7.584 ± 0.017 -
cpu/linalg_uncovered eigvalsh f64 1 512x512 10.253 ± 0.030 - 10.295 ± 0.034 9.248 ± 0.005 19.774 ± 0.080 7.000 ± 0.308 -
cpu/linalg_uncovered eigvalsh f64 4 512x512 5.727 ± 0.011 - 6.209 ± 0.032 5.172 ± 0.025 12.880 ± 0.039 4.800 ± 0.013 -
cpu/linalg_uncovered eigvalsh f64 8 512x512 7.440 ± 0.024 - 45.806 ± 1.299 6.848 ± 0.014 18.876 ± 0.050 7.433 ± 0.026 -
cpu/linalg_uncovered householder_qr f64 1 256x128 0.257 ± 0.000 0.264 ± 0.000 unsupported 0.297 ± 0.001 0.345 ± 0.008 - -
cpu/linalg_uncovered householder_qr f64 1 768x384 4.142 ± 0.005 4.206 ± 0.006 unsupported 4.500 ± 0.012 4.951 ± 0.018 - -
cpu/linalg_uncovered householder_qr f64 4 256x128 0.162 ± 0.004 0.835 ± 0.237 unsupported 0.159 ± 0.001 0.434 ± 0.017 - -
cpu/linalg_uncovered householder_qr f64 4 768x384 1.820 ± 0.005 2.179 ± 0.442 unsupported 1.928 ± 0.023 3.364 ± 0.035 - -
cpu/linalg_uncovered householder_qr f64 8 256x128 0.146 ± 0.001 0.880 ± 0.659 unsupported 0.210 ± 0.005 0.674 ± 0.754 - -
cpu/linalg_uncovered householder_qr f64 8 768x384 2.111 ± 0.016 2.647 ± 0.357 unsupported 1.715 ± 0.008 4.841 ± 0.033 - -
cpu/linalg_uncovered inv f64 1 768x768 22.769 ± 0.109 - 22.865 ± 0.038 23.517 ± 0.104 24.345 ± 0.088 17.161 ± 0.075 -
cpu/linalg_uncovered inv f64 4 768x768 12.462 ± 0.024 - 12.974 ± 0.058 6.855 ± 0.038 8.416 ± 0.700 6.160 ± 0.066 -
cpu/linalg_uncovered inv f64 8 768x768 11.777 ± 0.149 - 10.640 ± 1.280 6.557 ± 0.031 8.988 ± 0.386 6.154 ± 0.366 -
cpu/linalg_uncovered lstsq f64 1 768x384,rhs=16 - 9.428 ± 0.016 9.282 ± 0.022 4.837 ± 0.077 24.388 ± 0.047 4.264 ± 0.026 -
cpu/linalg_uncovered lstsq f64 4 768x384,rhs=16 - 4.310 ± 0.029 4.327 ± 0.018 2.074 ± 0.013 16.615 ± 0.656 2.404 ± 0.029 -
cpu/linalg_uncovered lstsq f64 8 768x384,rhs=16 - failed failed failed 23.090 ± 0.682 3.531 ± 0.475 -
cpu/linalg_uncovered lu f64 1 1024x1024 14.664 ± 0.118 - 15.139 ± 0.119 21.053 ± 0.098 21.454 ± 0.115 21.780 ± 9.611 -
cpu/linalg_uncovered lu f64 4 1024x1024 5.101 ± 0.102 - 5.888 ± 0.072 6.706 ± 0.029 13.596 ± 0.362 14.108 ± 9.839 -
cpu/linalg_uncovered lu f64 8 1024x1024 5.198 ± 0.078 - 6.758 ± 20.727 6.826 ± 0.018 15.981 ± 3.629 17.400 ± 7.477 -
cpu/linalg_uncovered norm_fro f64 1 2048x2048 0.778 ± 0.185 - 0.652 ± 0.046 0.730 ± 0.024 9.357 ± 0.264 1.625 ± 0.010 -
cpu/linalg_uncovered norm_fro f64 4 2048x2048 0.975 ± 0.211 - 1.454 ± 0.042 0.733 ± 0.065 2.709 ± 0.163 1.629 ± 0.015 -
cpu/linalg_uncovered norm_fro f64 8 2048x2048 0.976 ± 0.284 - 2.680 ± 0.756 1.047 ± 0.009 7.328 ± 0.345 2.569 ± 0.010 -
cpu/linalg_uncovered pinv f64 1 512x256 10.396 ± 0.074 - 10.154 ± 0.039 10.934 ± 0.051 10.277 ± 0.013 10.305 ± 0.278 -
cpu/linalg_uncovered pinv f64 4 512x256 12.192 ± 0.045 - 10.807 ± 0.695 6.784 ± 0.030 8.095 ± 0.206 7.219 ± 0.149 -
cpu/linalg_uncovered pinv f64 8 512x256 11.764 ± 0.052 - 10.943 ± 0.883 9.050 ± 0.037 12.911 ± 0.569 11.523 ± 0.902 -
cpu/linalg_uncovered pinv_with_rtol f64 1 512x256 10.380 ± 0.053 - 10.142 ± 0.032 10.985 ± 0.098 10.253 ± 0.017 10.307 ± 0.266 -
cpu/linalg_uncovered pinv_with_rtol f64 4 512x256 8.889 ± 0.046 - 8.061 ± 0.065 6.801 ± 0.016 8.483 ± 0.613 7.244 ± 0.067 -
cpu/linalg_uncovered pinv_with_rtol f64 8 512x256 11.740 ± 0.080 - 11.487 ± 0.056 9.042 ± 0.025 13.324 ± 0.422 11.338 ± 0.305 -
cpu/linalg_uncovered rank_revealing_qr f64 1 256x128 0.598 ± 0.001 0.607 ± 0.001 unsupported unsupported unsupported - -
cpu/linalg_uncovered rank_revealing_qr f64 1 768x384 11.935 ± 0.069 12.032 ± 0.052 unsupported unsupported unsupported - -
cpu/linalg_uncovered rank_revealing_qr f64 4 256x128 0.507 ± 0.003 0.740 ± 0.356 unsupported unsupported unsupported - -
cpu/linalg_uncovered rank_revealing_qr f64 4 768x384 8.269 ± 0.016 10.425 ± 0.369 unsupported unsupported unsupported - -
cpu/linalg_uncovered rank_revealing_qr f64 8 256x128 0.820 ± 0.002 1.354 ± 0.316 unsupported unsupported unsupported - -
cpu/linalg_uncovered rank_revealing_qr f64 8 768x384 12.068 ± 0.057 14.463 ± 0.318 unsupported unsupported unsupported - -
cpu/linalg_uncovered rank_revealing_qr_deficient f64 1 256x128 0.560 ± 0.001 0.569 ± 0.001 unsupported unsupported unsupported - -
cpu/linalg_uncovered rank_revealing_qr_deficient f64 1 768x384 11.367 ± 0.089 11.471 ± 0.091 unsupported unsupported unsupported - -
cpu/linalg_uncovered rank_revealing_qr_deficient f64 4 256x128 0.472 ± 0.002 1.200 ± 0.214 unsupported unsupported unsupported - -
cpu/linalg_uncovered rank_revealing_qr_deficient f64 4 768x384 7.790 ± 0.015 7.921 ± 0.040 unsupported unsupported unsupported - -
cpu/linalg_uncovered rank_revealing_qr_deficient f64 8 256x128 0.757 ± 0.008 0.899 ± 0.008 unsupported unsupported unsupported - -
cpu/linalg_uncovered rank_revealing_qr_deficient f64 8 768x384 11.289 ± 0.013 13.738 ± 0.316 unsupported unsupported unsupported - -
cpu/linalg_uncovered slogdet f64 1 1024x1024 14.669 ± 0.149 - 14.480 ± 0.115 16.438 ± 0.045 14.793 ± 0.038 13.374 ± 1.154 -
cpu/linalg_uncovered slogdet f64 4 1024x1024 5.137 ± 0.062 - 43.917 ± 39.801 3.721 ± 0.008 7.202 ± 0.251 5.242 ± 0.055 -
cpu/linalg_uncovered slogdet f64 8 1024x1024 5.188 ± 0.070 - 6.091 ± 2.996 3.491 ± 0.021 7.619 ± 0.144 4.574 ± 0.218 -
cpu/linalg_uncovered svd_full f64 1 768x384 - 31.616 ± 0.115 31.543 ± 0.124 31.964 ± 0.069 33.643 ± 0.057 33.091 ± 0.203 -
cpu/linalg_uncovered svd_full f64 4 768x384 - 13.233 ± 0.400 13.694 ± 0.194 13.712 ± 0.046 21.115 ± 0.063 20.243 ± 0.381 -
cpu/linalg_uncovered svd_full f64 8 768x384 - 17.964 ± 0.068 18.164 ± 1.371 18.149 ± 0.081 29.622 ± 0.262 30.066 ± 2.782 -
cpu/linalg_uncovered triangular_solve f64 1 4096x4096,rhs=64 20.660 ± 0.031 - 51.349 ± 0.194 18.401 ± 0.075 86.422 ± 0.357 20.044 ± 0.249 -
cpu/linalg_uncovered triangular_solve f64 4 4096x4096,rhs=64 10.796 ± 0.046 - 32.756 ± 9.795 7.077 ± 0.048 74.609 ± 0.669 7.787 ± 0.019 -
cpu/linalg_uncovered triangular_solve f64 8 4096x4096,rhs=64 15.512 ± 0.095 - 45.063 ± 6.000 9.502 ± 0.161 77.599 ± 4.238 8.853 ± 0.078 -
cpu/neural_public_api erf f32 1 1024x64 0.050 ± 0.000 0.050 ± 0.000 unsupported 0.070 ± 0.001 0.055 ± 0.002 - -
cpu/neural_public_api erf f32 1 4096x256 0.799 ± 0.002 0.801 ± 0.004 unsupported 1.115 ± 0.016 0.395 ± 0.177 - -
cpu/neural_public_api erf f32 4 1024x64 0.014 ± 0.000 0.263 ± 0.106 unsupported 0.071 ± 0.048 0.046 ± 0.024 - -
cpu/neural_public_api erf f32 4 4096x256 0.207 ± 0.003 0.872 ± 0.001 unsupported 0.333 ± 0.019 0.360 ± 0.101 - -
cpu/neural_public_api erf f32 8 1024x64 0.013 ± 0.000 0.014 ± 0.696 unsupported 0.069 ± 0.047 0.060 ± 0.007 - -
cpu/neural_public_api erf f32 8 4096x256 0.164 ± 0.002 1.009 ± 0.003 unsupported 0.267 ± 0.009 0.376 ± 0.083 - -
cpu/neural_public_api gelu f32 1 1024x64 0.025 ± 0.000 0.025 ± 0.000 unsupported 0.042 ± 0.001 0.087 ± 0.003 - -
cpu/neural_public_api gelu f32 1 4096x256 0.394 ± 0.003 0.401 ± 0.002 unsupported 0.596 ± 0.024 1.490 ± 0.012 - -
cpu/neural_public_api gelu f32 4 1024x64 0.007 ± 0.000 0.007 ± 0.457 unsupported 0.025 ± 0.003 0.039 ± 0.007 - -
cpu/neural_public_api gelu f32 4 4096x256 0.122 ± 0.004 0.124 ± 0.540 unsupported 0.225 ± 0.021 0.348 ± 0.042 - -
cpu/neural_public_api gelu f32 8 1024x64 0.007 ± 0.002 0.346 ± 0.362 unsupported 0.032 ± 0.002 0.042 ± 0.003 - -
cpu/neural_public_api gelu f32 8 4096x256 0.126 ± 0.418 0.533 ± 0.005 unsupported 0.221 ± 0.016 0.300 ± 0.018 - -
cpu/neural_public_api gelu_tanh f32 1 1024x64 0.073 ± 0.000 0.073 ± 0.000 unsupported 0.098 ± 0.000 0.066 ± 0.001 - -
cpu/neural_public_api gelu_tanh f32 1 4096x256 1.159 ± 0.004 1.168 ± 0.002 unsupported 1.611 ± 0.019 1.150 ± 0.006 - -
cpu/neural_public_api gelu_tanh f32 4 1024x64 0.019 ± 0.000 0.019 ± 0.464 unsupported 0.021 ± 0.000 0.042 ± 0.006 - -
cpu/neural_public_api gelu_tanh f32 4 4096x256 0.303 ± 0.003 1.063 ± 0.002 unsupported 0.330 ± 0.005 0.423 ± 0.083 - -
cpu/neural_public_api gelu_tanh f32 8 1024x64 0.016 ± 0.000 0.199 ± 0.371 unsupported 0.028 ± 0.001 0.059 ± 0.001 - -
cpu/neural_public_api gelu_tanh f32 8 4096x256 0.233 ± 0.004 1.151 ± 0.001 unsupported 0.352 ± 0.007 0.461 ± 0.036 - -
cpu/neural_public_api layer_norm f32 1 1024x64 0.025 ± 0.002 0.038 ± 0.001 unsupported 0.070 ± 0.001 0.068 ± 0.001 - -
cpu/neural_public_api layer_norm f32 1 4096x256 0.362 ± 0.002 0.375 ± 0.003 unsupported 0.501 ± 0.002 1.209 ± 0.018 - -
cpu/neural_public_api layer_norm f32 4 1024x64 0.023 ± 0.000 0.036 ± 0.198 unsupported 0.015 ± 0.000 0.061 ± 0.004 - -
cpu/neural_public_api layer_norm f32 4 4096x256 0.200 ± 0.004 2.262 ± 2.010 unsupported 0.142 ± 0.002 0.526 ± 0.016 - -
cpu/neural_public_api layer_norm f32 8 1024x64 0.035 ± 0.000 0.056 ± 0.001 unsupported 0.024 ± 0.001 0.092 ± 0.002 - -
cpu/neural_public_api layer_norm f32 8 4096x256 0.339 ± 0.011 0.419 ± 3.468 unsupported 0.124 ± 0.028 0.694 ± 0.168 - -
cpu/neural_public_api log_softmax f32 1 1024x64 0.042 ± 0.002 0.049 ± 0.000 unsupported 0.046 ± 0.000 0.107 ± 0.000 - -
cpu/neural_public_api log_softmax f32 1 4096x256 0.632 ± 0.009 0.673 ± 0.016 unsupported 0.443 ± 0.009 1.896 ± 0.016 - -
cpu/neural_public_api log_softmax f32 4 1024x64 0.028 ± 0.000 0.036 ± 0.000 unsupported 0.009 ± 0.000 0.095 ± 0.004 - -
cpu/neural_public_api log_softmax f32 4 4096x256 0.286 ± 0.003 0.602 ± 2.499 unsupported 0.126 ± 0.012 0.830 ± 0.093 - -
cpu/neural_public_api log_softmax f32 8 1024x64 0.043 ± 0.001 0.056 ± 0.001 unsupported 0.020 ± 0.001 0.146 ± 0.003 - -
cpu/neural_public_api log_softmax f32 8 4096x256 0.458 ± 0.014 0.569 ± 2.321 unsupported 0.122 ± 0.044 1.057 ± 0.262 - -
cpu/neural_public_api masked_softmax f32 1 1024x64 0.059 ± 0.001 0.072 ± 0.001 unsupported unsupported 0.117 ± 0.001 - -
cpu/neural_public_api masked_softmax f32 1 4096x256 0.923 ± 0.009 0.932 ± 0.015 unsupported unsupported 2.329 ± 0.009 - -
cpu/neural_public_api masked_softmax f32 4 1024x64 0.038 ± 0.000 0.052 ± 0.001 unsupported unsupported 0.101 ± 0.006 - -
cpu/neural_public_api masked_softmax f32 4 4096x256 0.381 ± 0.007 0.439 ± 2.950 unsupported unsupported 1.123 ± 0.026 - -
cpu/neural_public_api masked_softmax f32 8 1024x64 0.055 ± 0.000 0.075 ± 0.000 unsupported unsupported 0.161 ± 0.002 - -
cpu/neural_public_api masked_softmax f32 8 4096x256 0.476 ± 0.004 0.588 ± 2.931 unsupported unsupported 1.488 ± 0.064 - -
cpu/neural_public_api reduce_mean f32 1 1024x64 0.004 ± 0.000 0.008 ± 0.000 unsupported 0.006 ± 0.000 0.016 ± 0.000 - -
cpu/neural_public_api reduce_mean f32 1 4096x256 0.045 ± 0.001 0.048 ± 0.001 unsupported 0.030 ± 0.001 0.160 ± 0.001 - -
cpu/neural_public_api reduce_mean f32 4 1024x64 0.004 ± 0.000 0.242 ± 0.003 unsupported 0.004 ± 0.000 0.014 ± 0.000 - -
cpu/neural_public_api reduce_mean f32 4 4096x256 0.018 ± 0.000 0.269 ± 0.003 unsupported 0.011 ± 0.013 0.085 ± 0.001 - -
cpu/neural_public_api reduce_mean f32 8 1024x64 0.005 ± 0.000 0.011 ± 0.000 unsupported 0.006 ± 0.000 0.022 ± 0.000 - -
cpu/neural_public_api reduce_mean f32 8 4096x256 0.017 ± 0.002 0.723 ± 0.001 unsupported 0.011 ± 0.004 0.100 ± 0.002 - -
cpu/neural_public_api rms_norm f32 1 1024x64 0.015 ± 0.000 0.023 ± 0.000 unsupported 0.036 ± 0.000 0.070 ± 0.002 - -
cpu/neural_public_api rms_norm f32 1 4096x256 0.194 ± 0.003 0.205 ± 0.003 unsupported 0.318 ± 0.003 1.223 ± 0.007 - -
cpu/neural_public_api rms_norm f32 4 1024x64 0.013 ± 0.000 0.257 ± 0.238 unsupported 0.016 ± 0.001 0.051 ± 0.002 - -
cpu/neural_public_api rms_norm f32 4 4096x256 0.129 ± 0.003 1.105 ± 0.005 unsupported 0.186 ± 0.003 0.497 ± 0.038 - -
cpu/neural_public_api rms_norm f32 8 1024x64 0.021 ± 0.000 0.034 ± 0.694 unsupported 0.045 ± 0.003 0.082 ± 0.005 - -
cpu/neural_public_api rms_norm f32 8 4096x256 0.165 ± 0.004 1.675 ± 0.010 unsupported 0.178 ± 0.002 0.538 ± 0.043 - -
cpu/neural_public_api sigmoid f32 1 1024x64 0.017 ± 0.000 0.017 ± 0.000 unsupported 0.036 ± 0.001 0.058 ± 0.001 - -
cpu/neural_public_api sigmoid f32 1 4096x256 0.268 ± 0.001 0.276 ± 0.003 unsupported 0.585 ± 0.031 1.028 ± 0.020 - -
cpu/neural_public_api sigmoid f32 4 1024x64 0.005 ± 0.000 0.243 ± 0.004 unsupported 0.027 ± 0.047 0.041 ± 0.003 - -
cpu/neural_public_api sigmoid f32 4 4096x256 0.112 ± 0.006 0.604 ± 0.006 unsupported 0.223 ± 0.020 0.368 ± 0.034 - -
cpu/neural_public_api sigmoid f32 8 1024x64 0.005 ± 0.000 0.006 ± 0.690 unsupported 0.034 ± 0.001 0.060 ± 0.004 - -
cpu/neural_public_api sigmoid f32 8 4096x256 0.122 ± 0.006 0.831 ± 0.003 unsupported 0.206 ± 0.018 0.394 ± 0.023 - -
cpu/neural_public_api silu f32 1 1024x64 0.018 ± 0.000 0.018 ± 0.000 unsupported 0.036 ± 0.000 0.060 ± 0.001 - -
cpu/neural_public_api silu f32 1 4096x256 0.283 ± 0.003 0.291 ± 0.003 unsupported 0.583 ± 0.028 1.065 ± 0.020 - -
cpu/neural_public_api silu f32 4 1024x64 0.005 ± 0.000 0.005 ± 0.454 unsupported 0.025 ± 0.002 0.044 ± 0.004 - -
cpu/neural_public_api silu f32 4 4096x256 0.114 ± 0.005 0.607 ± 0.002 unsupported 0.223 ± 0.020 0.387 ± 0.048 - -
cpu/neural_public_api silu f32 8 1024x64 0.005 ± 0.000 0.264 ± 0.360 unsupported 0.035 ± 0.002 0.061 ± 0.004 - -
cpu/neural_public_api silu f32 8 4096x256 0.122 ± 0.394 0.818 ± 0.004 unsupported 0.210 ± 0.016 0.422 ± 0.023 - -
cpu/neural_public_api softmax f32 1 1024x64 0.040 ± 0.000 0.049 ± 0.001 unsupported 0.050 ± 0.001 0.106 ± 0.001 - -
cpu/neural_public_api softmax f32 1 4096x256 0.628 ± 0.017 0.666 ± 0.024 unsupported 0.440 ± 0.003 1.839 ± 0.012 - -
cpu/neural_public_api softmax f32 4 1024x64 0.026 ± 0.000 0.036 ± 0.000 unsupported 0.010 ± 0.000 0.091 ± 0.002 - -
cpu/neural_public_api softmax f32 4 4096x256 0.298 ± 0.047 0.382 ± 2.504 unsupported 0.138 ± 0.003 0.795 ± 0.070 - -
cpu/neural_public_api softmax f32 8 1024x64 0.040 ± 0.000 0.057 ± 0.381 unsupported 0.019 ± 0.002 0.140 ± 0.002 - -
cpu/neural_public_api softmax f32 8 4096x256 0.462 ± 0.009 0.514 ± 0.059 unsupported 0.125 ± 0.031 0.890 ± 0.048 - -
cpu/neural_public_api softplus f32 1 1024x64 0.061 ± 0.000 0.061 ± 0.000 unsupported 0.083 ± 0.000 0.140 ± 0.002 - -
cpu/neural_public_api softplus f32 1 4096x256 0.970 ± 0.004 0.976 ± 0.002 unsupported 1.350 ± 0.023 2.415 ± 0.011 - -
cpu/neural_public_api softplus f32 4 1024x64 0.016 ± 0.000 0.172 ± 0.468 unsupported 0.048 ± 0.002 0.082 ± 0.009 - -
cpu/neural_public_api softplus f32 4 4096x256 0.253 ± 0.004 0.949 ± 0.005 unsupported 0.388 ± 0.015 1.061 ± 0.061 - -
cpu/neural_public_api softplus f32 8 1024x64 0.013 ± 0.000 0.281 ± 0.366 unsupported 0.073 ± 0.003 0.125 ± 0.002 - -
cpu/neural_public_api softplus f32 8 4096x256 0.196 ± 0.112 0.748 ± 0.004 unsupported 0.311 ± 0.009 1.142 ± 0.029 - -
cpu/neural_public_api take_along_axis f32 1 1024x64 0.323 ± 0.001 0.522 ± 0.001 unsupported 0.129 ± 0.001 0.062 ± 0.001 - -
cpu/neural_public_api take_along_axis f32 1 4096x256 6.719 ± 0.026 12.227 ± 0.034 unsupported 3.058 ± 0.101 1.175 ± 0.013 - -
cpu/neural_public_api take_along_axis f32 4 1024x64 0.133 ± 0.001 0.343 ± 0.001 unsupported 0.079 ± 0.003 0.039 ± 0.003 - -
cpu/neural_public_api take_along_axis f32 4 4096x256 3.835 ± 0.118 8.994 ± 0.072 unsupported 0.629 ± 0.012 0.412 ± 0.049 - -
cpu/neural_public_api take_along_axis f32 8 1024x64 0.149 ± 0.001 0.489 ± 0.003 unsupported 0.113 ± 0.002 0.053 ± 0.005 - -
cpu/neural_public_api take_along_axis f32 8 4096x256 3.893 ± 0.038 10.295 ± 0.088 unsupported 0.782 ± 0.024 0.485 ± 0.021 - -
cpu/output_reuse add_into f64 1 33554432 21.511 ± 0.097 - unsupported 21.431 ± 0.077 - 21.347 ± 0.099 67.000 ± 0.314
cpu/output_reuse add_into f64 4 33554432 17.325 ± 0.048 - unsupported 17.363 ± 0.058 - 21.340 ± 0.070 22.973 ± 0.104
cpu/output_reuse add_into f64 8 33554432 18.699 ± 0.102 - unsupported 18.733 ± 0.101 - 22.035 ± 0.089 18.772 ± 0.119
cpu/output_reuse conj_into c64 1 16777216 15.040 ± 0.063 - unsupported 15.103 ± 0.037 - 15.058 ± 0.060 14.665 ± 0.118
cpu/output_reuse conj_into c64 4 16777216 12.351 ± 0.053 - unsupported 12.608 ± 0.067 - 15.082 ± 0.037 12.601 ± 0.080
cpu/output_reuse conj_into c64 8 16777216 13.669 ± 0.077 - unsupported 13.719 ± 0.135 - 15.585 ± 0.027 13.801 ± 0.202
cpu/output_reuse copy_read_into f64 1 33554432 12.387 ± 0.099 - unsupported 15.252 ± 0.035 - 11.488 ± 0.056 -
cpu/output_reuse copy_read_into f64 4 33554432 12.382 ± 0.044 - unsupported 12.676 ± 0.059 - 11.746 ± 0.065 -
cpu/output_reuse copy_read_into f64 8 33554432 13.650 ± 0.089 - unsupported 13.750 ± 0.081 - 12.181 ± 0.099 -
cpu/output_reuse div_into f64 1 33554432 21.628 ± 0.032 - unsupported 21.409 ± 0.044 - 21.319 ± 0.049 68.032 ± 0.186
cpu/output_reuse div_into f64 4 33554432 17.312 ± 0.043 - unsupported 17.333 ± 0.076 - 21.303 ± 0.042 22.952 ± 0.126
cpu/output_reuse div_into f64 8 33554432 18.656 ± 0.085 - unsupported 18.725 ± 0.133 - 22.208 ± 0.065 18.759 ± 0.403
cpu/output_reuse dot_general_read_into f64 1 1024x1024 29.206 ± 0.063 - unsupported 30.086 ± 0.124 - 31.015 ± 0.102 -
cpu/output_reuse dot_general_read_into f64 4 1024x1024 14.052 ± 7.913 - unsupported 9.865 ± 0.082 - 8.194 ± 0.048 -
cpu/output_reuse dot_general_read_into f64 8 1024x1024 13.334 ± 5.033 - unsupported 8.588 ± 0.059 - 6.629 ± 0.034 -
cpu/output_reuse dot_general_read_into_accum f64 1 1024x1024 28.955 ± 0.040 - unsupported 29.741 ± 0.070 - 30.750 ± 0.050 -
cpu/output_reuse dot_general_read_into_accum f64 4 1024x1024 8.906 ± 0.037 - unsupported 9.698 ± 0.027 - 8.163 ± 0.036 -
cpu/output_reuse dot_general_read_into_accum f64 8 1024x1024 7.905 ± 0.048 - unsupported 8.275 ± 0.042 - 6.495 ± 0.031 -
cpu/output_reuse mul_into f64 1 33554432 21.488 ± 0.040 - unsupported 21.393 ± 0.045 - 21.379 ± 0.071 67.609 ± 0.176
cpu/output_reuse mul_into f64 4 33554432 17.334 ± 0.037 - unsupported 17.312 ± 0.070 - 21.329 ± 0.078 22.898 ± 0.149
cpu/output_reuse mul_into f64 8 33554432 18.674 ± 0.045 - unsupported 18.712 ± 0.121 - 22.087 ± 0.037 18.842 ± 0.267
cpu/output_reuse neg_into f64 1 33554432 15.392 ± 0.029 - unsupported 15.310 ± 0.057 - 15.268 ± 0.034 50.186 ± 0.365
cpu/output_reuse neg_into f64 4 33554432 12.389 ± 0.037 - unsupported 12.689 ± 0.073 - 15.254 ± 0.069 17.661 ± 0.080
cpu/output_reuse neg_into f64 8 33554432 13.649 ± 0.042 - unsupported 13.736 ± 0.082 - 15.698 ± 0.028 14.228 ± 0.277
cpu/output_reuse solve_read_into f64 1 256x256,rhs=16 0.370 ± 0.000 unsupported unsupported 0.444 ± 0.001 unsupported - -
cpu/output_reuse solve_read_into f64 1 768x768,rhs=16 5.961 ± 0.012 unsupported unsupported 6.802 ± 0.017 unsupported - -
cpu/output_reuse solve_read_into f64 4 256x256,rhs=16 0.156 ± 0.001 unsupported unsupported 0.188 ± 0.001 unsupported - -
cpu/output_reuse solve_read_into f64 4 768x768,rhs=16 1.903 ± 0.004 unsupported unsupported 2.200 ± 0.004 unsupported - -
cpu/output_reuse solve_read_into f64 8 256x256,rhs=16 0.219 ± 0.001 unsupported unsupported 0.279 ± 0.001 unsupported - -
cpu/output_reuse solve_read_into f64 8 768x768,rhs=16 1.821 ± 0.024 unsupported unsupported 1.943 ± 0.003 unsupported - -
cpu/output_reuse sub_into f64 1 33554432 21.502 ± 0.092 - unsupported 21.440 ± 0.121 - 21.347 ± 0.041 66.960 ± 0.221
cpu/output_reuse sub_into f64 4 33554432 17.321 ± 0.066 - unsupported 17.333 ± 0.095 - 21.368 ± 0.077 22.974 ± 0.238
cpu/output_reuse sub_into f64 8 33554432 18.655 ± 0.064 - unsupported 18.763 ± 0.150 - 22.039 ± 0.065 18.722 ± 0.124
cpu/structural_shape broadcast_in_dim f64 1 8192x1 -> 8192x4096 40.849 ± 1.231 - 0.001 ± 0.000 42.132 ± 0.782 42.904 ± 0.310 51.059 ± 1.552 -
cpu/structural_shape broadcast_in_dim f64 4 8192x1 -> 8192x4096 15.660 ± 0.200 - 0.001 ± 0.000 14.047 ± 0.177 24.442 ± 0.152 51.398 ± 0.672 -
cpu/structural_shape broadcast_in_dim f64 8 8192x1 -> 8192x4096 12.466 ± 0.396 - 0.002 ± 0.000 12.006 ± 0.302 23.025 ± 0.107 69.060 ± 2.725 -
cpu/structural_shape cast_f64_f32 f64->f32 1 33554432 27.035 ± 0.985 - 83.614 ± 0.615 26.963 ± 0.363 34.264 ± 0.860 28.218 ± 0.338 -
cpu/structural_shape cast_f64_f32 f64->f32 4 33554432 11.150 ± 0.256 - 38.960 ± 0.300 10.926 ± 0.282 18.815 ± 0.292 28.464 ± 0.417 -
cpu/structural_shape cast_f64_f32 f64->f32 8 33554432 10.092 ± 0.183 - 38.647 ± 0.184 10.066 ± 0.190 17.114 ± 0.341 38.929 ± 0.443 -
cpu/structural_shape embed_diagonal f64 1 8192 -> 8192x8192 87.134 ± 2.367 - 87.123 ± 2.302 86.284 ± 2.037 113.951 ± 0.472 101.492 ± 3.644 -
cpu/structural_shape embed_diagonal f64 4 8192 -> 8192x8192 27.314 ± 0.496 - 27.249 ± 0.092 27.438 ± 0.198 50.177 ± 0.313 100.576 ± 2.889 -
cpu/structural_shape embed_diagonal f64 8 8192 -> 8192x8192 21.453 ± 0.099 - 21.533 ± 0.230 22.697 ± 0.211 44.115 ± 0.138 136.737 ± 3.544 -
cpu/structural_shape extract_diagonal f64 1 8388608x2x2 -> 8388608x2 24.989 ± 0.337 - 23.250 ± 0.258 31.133 ± 1.836 24.877 ± 0.226 - -
cpu/structural_shape extract_diagonal f64 4 8388608x2x2 -> 8388608x2 14.322 ± 0.214 - 13.832 ± 0.376 12.039 ± 0.133 16.967 ± 0.263 - -
cpu/structural_shape extract_diagonal f64 8 8388608x2x2 -> 8388608x2 17.688 ± 0.515 - 17.127 ± 0.157 10.285 ± 0.119 14.916 ± 0.227 - -
cpu/structural_shape reshape f64 1 33554432 -> 8192x4096 52.032 ± 0.926 - 0.001 ± 0.000 47.420 ± 1.056 52.552 ± 0.528 59.259 ± 0.864 -
cpu/structural_shape reshape f64 4 33554432 -> 8192x4096 18.013 ± 0.121 - 0.001 ± 0.000 17.564 ± 0.454 21.239 ± 1.228 58.762 ± 0.458 -
cpu/structural_shape reshape f64 8 33554432 -> 8192x4096 15.186 ± 0.460 - 0.002 ± 0.000 15.209 ± 0.320 17.549 ± 0.282 75.658 ± 0.718 -
cpu/structural_shape transpose f64 1 4096x4096 43.199 ± 0.140 - 0.001 ± 0.000 31.279 ± 0.105 39.196 ± 0.577 94.471 ± 0.579 60.623 ± 1.100
cpu/structural_shape transpose f64 4 4096x4096 16.805 ± 0.386 - 0.001 ± 0.000 30.830 ± 0.117 24.009 ± 2.254 94.848 ± 1.758 23.688 ± 2.093
cpu/structural_shape transpose f64 8 4096x4096 14.371 ± 0.210 - 0.002 ± 0.000 41.023 ± 0.390 21.776 ± 0.625 138.807 ± 0.432 26.127 ± 1.577
cpu/structural_shape tril f64 1 4096x4096 25.342 ± 0.524 - 25.122 ± 0.668 27.773 ± 0.732 28.062 ± 2.081 31.404 ± 0.947 -
cpu/structural_shape tril f64 4 4096x4096 8.410 ± 0.107 - 8.594 ± 5.654 10.313 ± 0.261 16.439 ± 0.201 30.546 ± 0.867 -
cpu/structural_shape tril f64 8 4096x4096 6.886 ± 0.124 - 6.979 ± 3.131 8.149 ± 0.325 14.867 ± 0.285 39.403 ± 0.867 -
cpu/structural_shape triu f64 1 4096x4096 23.664 ± 0.690 - 23.317 ± 0.543 26.642 ± 0.602 27.840 ± 4.471 29.781 ± 0.119 -
cpu/structural_shape triu f64 4 4096x4096 8.491 ± 0.093 - 8.506 ± 4.638 8.756 ± 0.376 16.406 ± 0.223 30.626 ± 0.080 -
cpu/structural_shape triu f64 8 4096x4096 6.875 ± 0.197 - 9.961 ± 3.334 7.554 ± 0.155 14.414 ± 0.900 43.530 ± 0.273 -
cpu/view_metadata broadcast_in_dim_view f64 1 8192x1 -> 8192x4096 0.000 ± 0.000 - unsupported 0.001 ± 0.000 - - -
cpu/view_metadata broadcast_in_dim_view f64 4 8192x1 -> 8192x4096 0.000 ± 0.000 - unsupported 0.001 ± 0.000 - - -
cpu/view_metadata broadcast_in_dim_view f64 8 8192x1 -> 8192x4096 0.000 ± 0.000 - unsupported 0.001 ± 0.000 - - -
cpu/view_metadata reshape_view f64 1 33554432 -> 8192x4096 0.000 ± 0.000 - unsupported 0.001 ± 0.000 - 0.000 ± 0.000 -
cpu/view_metadata reshape_view f64 4 33554432 -> 8192x4096 0.000 ± 0.000 - unsupported 0.001 ± 0.000 - 0.000 ± 0.000 -
cpu/view_metadata reshape_view f64 8 33554432 -> 8192x4096 0.001 ± 0.000 - unsupported 0.001 ± 0.000 - 0.000 ± 0.000 -
cpu/view_metadata slice_view f64 1 4194304 -> 2096128 0.000 ± 0.000 - unsupported 0.001 ± 0.000 - 0.000 ± 0.000 -
cpu/view_metadata slice_view f64 4 4194304 -> 2096128 0.000 ± 0.000 - unsupported 0.001 ± 0.000 - 0.000 ± 0.000 -
cpu/view_metadata slice_view f64 8 4194304 -> 2096128 0.000 ± 0.000 - unsupported 0.001 ± 0.000 - 0.000 ± 0.000 -
cpu/view_metadata transpose_view f64 1 4096x4096 0.000 ± 0.000 - unsupported 0.001 ± 0.000 - 0.000 ± 0.000 -
cpu/view_metadata transpose_view f64 4 4096x4096 0.000 ± 0.000 - unsupported 0.001 ± 0.000 - 0.000 ± 0.000 -
cpu/view_metadata transpose_view f64 8 4096x4096 0.000 ± 0.000 - unsupported 0.001 ± 0.000 - 0.000 ± 0.000 -

Short-operation batches

Total batch duration and normalized ns/op are shown without rounding sub-microsecond calls to zero. Metadata views require no execution session.

Operation Dtype Shape Threads Backend Operations/batch Median batch ms Median ns/op
masked_log_softmax_axis1 f64 1024x64 1 JAX Python (XLA CPU) (ms) 16 2.858951 178684.44
masked_log_softmax_axis1 f64 1024x64 1 tenferro-rs direct API (ms) 16 1.687938 105496.12
masked_log_softmax_axis1 f64 1024x64 1 tenferro-rs eager mode (ms) 16 1.891598 118224.88
masked_log_softmax_axis1 f64 1024x64 4 JAX Python (XLA CPU) (ms) 16 1.128410 70525.62
masked_log_softmax_axis1 f64 1024x64 4 tenferro-rs direct API (ms) 16 0.795265 49704.06
masked_log_softmax_axis1 f64 1024x64 4 tenferro-rs eager mode (ms) 16 1.044516 65282.25
masked_log_softmax_axis1 f64 1024x64 8 JAX Python (XLA CPU) (ms) 16 2.625508 164094.25
masked_log_softmax_axis1 f64 1024x64 8 tenferro-rs direct API (ms) 16 1.139845 71240.31
masked_log_softmax_axis1 f64 1024x64 8 tenferro-rs eager mode (ms) 16 1.492149 93259.31
reduce_sum_squares_axis0 f64 2048x2048 1 tenferro-rs direct API (ms) 16 9.867374 616710.88
reduce_sum_squares_axis0 f64 2048x2048 1 tenferro-rs eager mode (ms) 16 9.877001 617312.56
reduce_sum_squares_axis0 f64 2048x2048 4 tenferro-rs direct API (ms) 16 6.191999 386999.94
reduce_sum_squares_axis0 f64 2048x2048 4 tenferro-rs eager mode (ms) 16 14.814998 925937.38
reduce_sum_squares_axis0 f64 2048x2048 8 tenferro-rs direct API (ms) 16 8.693461 543341.31
reduce_sum_squares_axis0 f64 2048x2048 8 tenferro-rs eager mode (ms) 16 14.204041 887752.56
householder_qr f64 256x128 1 JAX Python (XLA CPU) (ms) 16 5.518283 344892.69
householder_qr f64 256x128 1 PyTorch Python (ms) 16 4.747705 296731.56
householder_qr f64 256x128 1 tenferro-rs direct API (ms) 16 4.106930 256683.12
householder_qr f64 256x128 1 tenferro-rs eager mode (ms) 16 4.217817 263613.56
householder_qr f64 768x384 1 JAX Python (XLA CPU) (ms) 16 79.219256 4951203.50
householder_qr f64 768x384 1 PyTorch Python (ms) 16 72.005288 4500330.50
householder_qr f64 768x384 1 tenferro-rs direct API (ms) 16 66.272375 4142023.44
householder_qr f64 768x384 1 tenferro-rs eager mode (ms) 16 67.301454 4206340.88
householder_qr f64 256x128 4 JAX Python (XLA CPU) (ms) 16 6.938682 433667.62
householder_qr f64 256x128 4 PyTorch Python (ms) 16 2.536147 158509.19
householder_qr f64 256x128 4 tenferro-rs direct API (ms) 16 2.591199 161949.94
householder_qr f64 256x128 4 tenferro-rs eager mode (ms) 16 13.354056 834628.50
householder_qr f64 768x384 4 JAX Python (XLA CPU) (ms) 16 53.816243 3363515.19
householder_qr f64 768x384 4 PyTorch Python (ms) 16 30.843910 1927744.38
householder_qr f64 768x384 4 tenferro-rs direct API (ms) 16 29.126702 1820418.88
householder_qr f64 768x384 4 tenferro-rs eager mode (ms) 16 34.858606 2178662.88
householder_qr f64 256x128 8 JAX Python (XLA CPU) (ms) 16 10.782694 673918.38
householder_qr f64 256x128 8 PyTorch Python (ms) 16 3.366642 210415.12
householder_qr f64 256x128 8 tenferro-rs direct API (ms) 16 2.337501 146093.81
householder_qr f64 256x128 8 tenferro-rs eager mode (ms) 16 14.085025 880314.06
householder_qr f64 768x384 8 JAX Python (XLA CPU) (ms) 16 77.450819 4840676.19
householder_qr f64 768x384 8 PyTorch Python (ms) 16 27.447027 1715439.19
householder_qr f64 768x384 8 tenferro-rs direct API (ms) 16 33.768738 2110546.12
householder_qr f64 768x384 8 tenferro-rs eager mode (ms) 16 42.355986 2647249.12
rank_revealing_qr f64 256x128 1 tenferro-rs direct API (ms) 16 9.568025 598001.56
rank_revealing_qr f64 256x128 1 tenferro-rs eager mode (ms) 16 9.707025 606689.06
rank_revealing_qr f64 768x384 1 tenferro-rs direct API (ms) 16 190.963077 11935192.31
rank_revealing_qr f64 768x384 1 tenferro-rs eager mode (ms) 16 192.505955 12031622.19
rank_revealing_qr f64 256x128 4 tenferro-rs direct API (ms) 16 8.112602 507037.63
rank_revealing_qr f64 256x128 4 tenferro-rs eager mode (ms) 16 11.846098 740381.12
rank_revealing_qr f64 768x384 4 tenferro-rs direct API (ms) 16 132.300303 8268768.94
rank_revealing_qr f64 768x384 4 tenferro-rs eager mode (ms) 16 166.793410 10424588.12
rank_revealing_qr f64 256x128 8 tenferro-rs direct API (ms) 16 13.114519 819657.44
rank_revealing_qr f64 256x128 8 tenferro-rs eager mode (ms) 16 21.658486 1353655.38
rank_revealing_qr f64 768x384 8 tenferro-rs direct API (ms) 16 193.092324 12068270.25
rank_revealing_qr f64 768x384 8 tenferro-rs eager mode (ms) 16 231.406505 14462906.56
rank_revealing_qr_deficient f64 256x128 1 tenferro-rs direct API (ms) 16 8.966633 560414.56
rank_revealing_qr_deficient f64 256x128 1 tenferro-rs eager mode (ms) 16 9.102447 568902.94
rank_revealing_qr_deficient f64 768x384 1 tenferro-rs direct API (ms) 16 181.870668 11366916.75
rank_revealing_qr_deficient f64 768x384 1 tenferro-rs eager mode (ms) 16 183.537016 11471063.50
rank_revealing_qr_deficient f64 256x128 4 tenferro-rs direct API (ms) 16 7.553329 472083.06
rank_revealing_qr_deficient f64 256x128 4 tenferro-rs eager mode (ms) 16 19.205056 1200316.00
rank_revealing_qr_deficient f64 768x384 4 tenferro-rs direct API (ms) 16 124.636582 7789786.38
rank_revealing_qr_deficient f64 768x384 4 tenferro-rs eager mode (ms) 16 126.739229 7921201.81
rank_revealing_qr_deficient f64 256x128 8 tenferro-rs direct API (ms) 16 12.115219 757201.19
rank_revealing_qr_deficient f64 256x128 8 tenferro-rs eager mode (ms) 16 14.378273 898642.06
rank_revealing_qr_deficient f64 768x384 8 tenferro-rs direct API (ms) 16 180.626616 11289163.50
rank_revealing_qr_deficient f64 768x384 8 tenferro-rs eager mode (ms) 16 219.805959 13737872.44
erf f32 1024x64 1 JAX Python (XLA CPU) (ms) 64 3.510872 54857.38
erf f32 1024x64 1 PyTorch Python (ms) 64 4.507287 70426.36
erf f32 1024x64 1 tenferro-rs direct API (ms) 64 3.202142 50033.47
erf f32 1024x64 1 tenferro-rs eager mode (ms) 64 3.208554 50133.66
erf f32 4096x256 1 JAX Python (XLA CPU) (ms) 8 3.156239 394529.88
erf f32 4096x256 1 PyTorch Python (ms) 8 8.919266 1114908.25
erf f32 4096x256 1 tenferro-rs direct API (ms) 8 6.389547 798693.38
erf f32 4096x256 1 tenferro-rs eager mode (ms) 8 6.407371 800921.38
erf f32 1024x64 4 JAX Python (XLA CPU) (ms) 64 2.947947 46061.67
erf f32 1024x64 4 PyTorch Python (ms) 64 4.521987 70656.05
erf f32 1024x64 4 tenferro-rs direct API (ms) 64 0.905090 14142.03
erf f32 1024x64 4 tenferro-rs eager mode (ms) 64 16.842845 263169.45
erf f32 4096x256 4 JAX Python (XLA CPU) (ms) 8 2.880413 360051.62
erf f32 4096x256 4 PyTorch Python (ms) 8 2.660042 332505.25
erf f32 4096x256 4 tenferro-rs direct API (ms) 8 1.653946 206743.25
erf f32 4096x256 4 tenferro-rs eager mode (ms) 8 6.979452 872431.50
erf f32 1024x64 8 JAX Python (XLA CPU) (ms) 64 3.833093 59892.08
erf f32 1024x64 8 PyTorch Python (ms) 64 4.404746 68824.16
erf f32 1024x64 8 tenferro-rs direct API (ms) 64 0.843515 13179.92
erf f32 1024x64 8 tenferro-rs eager mode (ms) 64 0.869283 13582.55
erf f32 4096x256 8 JAX Python (XLA CPU) (ms) 8 3.008608 376076.00
erf f32 4096x256 8 PyTorch Python (ms) 8 2.136557 267069.62
erf f32 4096x256 8 tenferro-rs direct API (ms) 8 1.310862 163857.75
erf f32 4096x256 8 tenferro-rs eager mode (ms) 8 8.074578 1009322.25
gelu f32 1024x64 1 JAX Python (XLA CPU) (ms) 64 5.589369 87333.89
gelu f32 1024x64 1 PyTorch Python (ms) 64 2.699185 42174.77
gelu f32 1024x64 1 tenferro-rs direct API (ms) 64 1.577091 24642.05
gelu f32 1024x64 1 tenferro-rs eager mode (ms) 64 1.597108 24954.81
gelu f32 4096x256 1 JAX Python (XLA CPU) (ms) 8 11.923890 1490486.25
gelu f32 4096x256 1 PyTorch Python (ms) 8 4.770167 596270.88
gelu f32 4096x256 1 tenferro-rs direct API (ms) 8 3.148592 393574.00
gelu f32 4096x256 1 tenferro-rs eager mode (ms) 8 3.205929 400741.12
gelu f32 1024x64 4 JAX Python (XLA CPU) (ms) 64 2.478912 38733.00
gelu f32 1024x64 4 PyTorch Python (ms) 64 1.618885 25295.08
gelu f32 1024x64 4 tenferro-rs direct API (ms) 64 0.442362 6911.91
gelu f32 1024x64 4 tenferro-rs eager mode (ms) 64 0.471164 7361.94
gelu f32 4096x256 4 JAX Python (XLA CPU) (ms) 8 2.785922 348240.25
gelu f32 4096x256 4 PyTorch Python (ms) 8 1.800675 225084.38
gelu f32 4096x256 4 tenferro-rs direct API (ms) 8 0.979564 122445.50
gelu f32 4096x256 4 tenferro-rs eager mode (ms) 8 0.995784 124473.00
gelu f32 1024x64 8 JAX Python (XLA CPU) (ms) 64 2.691696 42057.75
gelu f32 1024x64 8 PyTorch Python (ms) 64 2.057392 32146.75
gelu f32 1024x64 8 tenferro-rs direct API (ms) 64 0.434356 6786.81
gelu f32 1024x64 8 tenferro-rs eager mode (ms) 64 22.136746 345886.66
gelu f32 4096x256 8 JAX Python (XLA CPU) (ms) 8 2.403056 300382.00
gelu f32 4096x256 8 PyTorch Python (ms) 8 1.770827 221353.38
gelu f32 4096x256 8 tenferro-rs direct API (ms) 8 1.006826 125853.25
gelu f32 4096x256 8 tenferro-rs eager mode (ms) 8 4.265738 533217.25
gelu_tanh f32 1024x64 1 JAX Python (XLA CPU) (ms) 64 4.195072 65548.00
gelu_tanh f32 1024x64 1 PyTorch Python (ms) 64 6.299889 98435.77
gelu_tanh f32 1024x64 1 tenferro-rs direct API (ms) 64 4.643080 72548.12
gelu_tanh f32 1024x64 1 tenferro-rs eager mode (ms) 64 4.662627 72853.55
gelu_tanh f32 4096x256 1 JAX Python (XLA CPU) (ms) 8 9.198168 1149771.00
gelu_tanh f32 4096x256 1 PyTorch Python (ms) 8 12.890142 1611267.75
gelu_tanh f32 4096x256 1 tenferro-rs direct API (ms) 8 9.275099 1159387.38
gelu_tanh f32 4096x256 1 tenferro-rs eager mode (ms) 8 9.344810 1168101.25
gelu_tanh f32 1024x64 4 JAX Python (XLA CPU) (ms) 64 2.716676 42448.06
gelu_tanh f32 1024x64 4 PyTorch Python (ms) 64 1.375744 21496.00
gelu_tanh f32 1024x64 4 tenferro-rs direct API (ms) 64 1.243222 19425.34
gelu_tanh f32 1024x64 4 tenferro-rs eager mode (ms) 64 1.224958 19139.97
gelu_tanh f32 4096x256 4 JAX Python (XLA CPU) (ms) 8 3.381416 422677.00
gelu_tanh f32 4096x256 4 PyTorch Python (ms) 8 2.641659 330207.38
gelu_tanh f32 4096x256 4 tenferro-rs direct API (ms) 8 2.427087 303385.88
gelu_tanh f32 4096x256 4 tenferro-rs eager mode (ms) 8 8.505006 1063125.75
gelu_tanh f32 1024x64 8 JAX Python (XLA CPU) (ms) 64 3.753346 58646.03
gelu_tanh f32 1024x64 8 PyTorch Python (ms) 64 1.786104 27907.88
gelu_tanh f32 1024x64 8 tenferro-rs direct API (ms) 64 1.013778 15840.28
gelu_tanh f32 1024x64 8 tenferro-rs eager mode (ms) 64 12.748472 199194.88
gelu_tanh f32 4096x256 8 JAX Python (XLA CPU) (ms) 8 3.691854 461481.75
gelu_tanh f32 4096x256 8 PyTorch Python (ms) 8 2.816303 352037.88
gelu_tanh f32 4096x256 8 tenferro-rs direct API (ms) 8 1.865909 233238.62
gelu_tanh f32 4096x256 8 tenferro-rs eager mode (ms) 8 9.204369 1150546.12
layer_norm f32 1024x64 1 JAX Python (XLA CPU) (ms) 64 4.337697 67776.52
layer_norm f32 1024x64 1 PyTorch Python (ms) 64 4.466059 69782.17
layer_norm f32 1024x64 1 tenferro-rs direct API (ms) 64 1.621695 25338.98
layer_norm f32 1024x64 1 tenferro-rs eager mode (ms) 64 2.461591 38462.36
layer_norm f32 4096x256 1 JAX Python (XLA CPU) (ms) 8 9.671635 1208954.38
layer_norm f32 4096x256 1 PyTorch Python (ms) 8 4.009959 501244.88
layer_norm f32 4096x256 1 tenferro-rs direct API (ms) 8 2.894699 361837.38
layer_norm f32 4096x256 1 tenferro-rs eager mode (ms) 8 3.001879 375234.88
layer_norm f32 1024x64 4 JAX Python (XLA CPU) (ms) 64 3.877669 60588.58
layer_norm f32 1024x64 4 PyTorch Python (ms) 64 0.962895 15045.23
layer_norm f32 1024x64 4 tenferro-rs direct API (ms) 64 1.483227 23175.42
layer_norm f32 1024x64 4 tenferro-rs eager mode (ms) 64 2.295528 35867.62
layer_norm f32 4096x256 4 JAX Python (XLA CPU) (ms) 8 4.211928 526491.00
layer_norm f32 4096x256 4 PyTorch Python (ms) 8 1.134247 141780.88
layer_norm f32 4096x256 4 tenferro-rs direct API (ms) 8 1.600219 200027.38
layer_norm f32 4096x256 4 tenferro-rs eager mode (ms) 8 18.095000 2261875.00
layer_norm f32 1024x64 8 JAX Python (XLA CPU) (ms) 64 5.904440 92256.88
layer_norm f32 1024x64 8 PyTorch Python (ms) 64 1.531547 23930.42
layer_norm f32 1024x64 8 tenferro-rs direct API (ms) 64 2.271593 35493.64
layer_norm f32 1024x64 8 tenferro-rs eager mode (ms) 64 3.562579 55665.30
layer_norm f32 4096x256 8 JAX Python (XLA CPU) (ms) 8 5.548586 693573.25
layer_norm f32 4096x256 8 PyTorch Python (ms) 8 0.995104 124388.00
layer_norm f32 4096x256 8 tenferro-rs direct API (ms) 8 2.710027 338753.38
layer_norm f32 4096x256 8 tenferro-rs eager mode (ms) 8 3.348998 418624.75
log_softmax f32 1024x64 1 JAX Python (XLA CPU) (ms) 64 6.856820 107137.81
log_softmax f32 1024x64 1 PyTorch Python (ms) 64 2.941366 45958.84
log_softmax f32 1024x64 1 tenferro-rs direct API (ms) 64 2.706388 42287.31
log_softmax f32 1024x64 1 tenferro-rs eager mode (ms) 64 3.143603 49118.80
log_softmax f32 4096x256 1 JAX Python (XLA CPU) (ms) 8 15.169141 1896142.62
log_softmax f32 4096x256 1 PyTorch Python (ms) 8 3.546124 443265.50
log_softmax f32 4096x256 1 tenferro-rs direct API (ms) 8 5.055248 631906.00
log_softmax f32 4096x256 1 tenferro-rs eager mode (ms) 8 5.386847 673355.88
log_softmax f32 1024x64 4 JAX Python (XLA CPU) (ms) 64 6.106296 95410.88
log_softmax f32 1024x64 4 PyTorch Python (ms) 64 0.559424 8741.00
log_softmax f32 1024x64 4 tenferro-rs direct API (ms) 64 1.823423 28490.98
log_softmax f32 1024x64 4 tenferro-rs eager mode (ms) 64 2.316997 36203.08
log_softmax f32 4096x256 4 JAX Python (XLA CPU) (ms) 8 6.641751 830218.88
log_softmax f32 4096x256 4 PyTorch Python (ms) 8 1.005313 125664.12
log_softmax f32 4096x256 4 tenferro-rs direct API (ms) 8 2.287543 285942.88
log_softmax f32 4096x256 4 tenferro-rs eager mode (ms) 8 4.819061 602382.62
log_softmax f32 1024x64 8 JAX Python (XLA CPU) (ms) 64 9.362453 146288.33
log_softmax f32 1024x64 8 PyTorch Python (ms) 64 1.292499 20195.30
log_softmax f32 1024x64 8 tenferro-rs direct API (ms) 64 2.735072 42735.50
log_softmax f32 1024x64 8 tenferro-rs eager mode (ms) 64 3.604455 56319.61
log_softmax f32 4096x256 8 JAX Python (XLA CPU) (ms) 8 8.453323 1056665.38
log_softmax f32 4096x256 8 PyTorch Python (ms) 8 0.976299 122037.38
log_softmax f32 4096x256 8 tenferro-rs direct API (ms) 8 3.664907 458113.38
log_softmax f32 4096x256 8 tenferro-rs eager mode (ms) 8 4.555589 569448.62
masked_softmax f32 1024x64 1 JAX Python (XLA CPU) (ms) 64 7.510616 117353.38
masked_softmax f32 1024x64 1 tenferro-rs direct API (ms) 64 3.745947 58530.42
masked_softmax f32 1024x64 1 tenferro-rs eager mode (ms) 64 4.616571 72133.92
masked_softmax f32 4096x256 1 JAX Python (XLA CPU) (ms) 8 18.633251 2329156.38
masked_softmax f32 4096x256 1 tenferro-rs direct API (ms) 8 7.385295 923161.88
masked_softmax f32 4096x256 1 tenferro-rs eager mode (ms) 8 7.452199 931524.88
masked_softmax f32 1024x64 4 JAX Python (XLA CPU) (ms) 64 6.441877 100654.33
masked_softmax f32 1024x64 4 tenferro-rs direct API (ms) 64 2.419533 37805.20
masked_softmax f32 1024x64 4 tenferro-rs eager mode (ms) 64 3.298946 51546.03
masked_softmax f32 4096x256 4 JAX Python (XLA CPU) (ms) 8 8.984437 1123054.62
masked_softmax f32 4096x256 4 tenferro-rs direct API (ms) 8 3.048212 381026.50
masked_softmax f32 4096x256 4 tenferro-rs eager mode (ms) 8 3.509868 438733.50
masked_softmax f32 1024x64 8 JAX Python (XLA CPU) (ms) 64 10.294175 160846.48
masked_softmax f32 1024x64 8 tenferro-rs direct API (ms) 64 3.496948 54639.81
masked_softmax f32 1024x64 8 tenferro-rs eager mode (ms) 64 4.771995 74562.42
masked_softmax f32 4096x256 8 JAX Python (XLA CPU) (ms) 8 11.902462 1487807.75
masked_softmax f32 4096x256 8 tenferro-rs direct API (ms) 8 3.805925 475740.62
masked_softmax f32 4096x256 8 tenferro-rs eager mode (ms) 8 4.701857 587732.12
reduce_mean f32 1024x64 1 JAX Python (XLA CPU) (ms) 64 1.001787 15652.92
reduce_mean f32 1024x64 1 PyTorch Python (ms) 64 0.368358 5755.59
reduce_mean f32 1024x64 1 tenferro-rs direct API (ms) 64 0.271707 4245.42
reduce_mean f32 1024x64 1 tenferro-rs eager mode (ms) 64 0.500523 7820.67
reduce_mean f32 4096x256 1 JAX Python (XLA CPU) (ms) 8 1.280104 160013.00
reduce_mean f32 4096x256 1 PyTorch Python (ms) 8 0.241881 30235.12
reduce_mean f32 4096x256 1 tenferro-rs direct API (ms) 8 0.357667 44708.38
reduce_mean f32 4096x256 1 tenferro-rs eager mode (ms) 8 0.386611 48326.38
reduce_mean f32 1024x64 4 JAX Python (XLA CPU) (ms) 64 0.913032 14266.12
reduce_mean f32 1024x64 4 PyTorch Python (ms) 64 0.245826 3841.03
reduce_mean f32 1024x64 4 tenferro-rs direct API (ms) 64 0.226901 3545.33
reduce_mean f32 1024x64 4 tenferro-rs eager mode (ms) 64 15.511926 242373.84
reduce_mean f32 4096x256 4 JAX Python (XLA CPU) (ms) 8 0.678756 84844.50
reduce_mean f32 4096x256 4 PyTorch Python (ms) 8 0.087198 10899.75
reduce_mean f32 4096x256 4 tenferro-rs direct API (ms) 8 0.145444 18180.50
reduce_mean f32 4096x256 4 tenferro-rs eager mode (ms) 8 2.149714 268714.25
reduce_mean f32 1024x64 8 JAX Python (XLA CPU) (ms) 64 1.432803 22387.55
reduce_mean f32 1024x64 8 PyTorch Python (ms) 64 0.371861 5810.33
reduce_mean f32 1024x64 8 tenferro-rs direct API (ms) 64 0.347927 5436.36
reduce_mean f32 1024x64 8 tenferro-rs eager mode (ms) 64 0.688662 10760.34
reduce_mean f32 4096x256 8 JAX Python (XLA CPU) (ms) 8 0.797365 99670.62
reduce_mean f32 4096x256 8 PyTorch Python (ms) 8 0.086308 10788.50
reduce_mean f32 4096x256 8 tenferro-rs direct API (ms) 8 0.135619 16952.38
reduce_mean f32 4096x256 8 tenferro-rs eager mode (ms) 8 5.783259 722907.38
rms_norm f32 1024x64 1 JAX Python (XLA CPU) (ms) 64 4.468881 69826.27
rms_norm f32 1024x64 1 PyTorch Python (ms) 64 2.286144 35721.00
rms_norm f32 1024x64 1 tenferro-rs direct API (ms) 64 0.949531 14836.42
rms_norm f32 1024x64 1 tenferro-rs eager mode (ms) 64 1.488216 23253.38
rms_norm f32 4096x256 1 JAX Python (XLA CPU) (ms) 8 9.787722 1223465.25
rms_norm f32 4096x256 1 PyTorch Python (ms) 8 2.545046 318130.75
rms_norm f32 4096x256 1 tenferro-rs direct API (ms) 8 1.551614 193951.75
rms_norm f32 4096x256 1 tenferro-rs eager mode (ms) 8 1.643104 205388.00
rms_norm f32 1024x64 4 JAX Python (XLA CPU) (ms) 64 3.259173 50924.58
rms_norm f32 1024x64 4 PyTorch Python (ms) 64 1.023796 15996.81
rms_norm f32 1024x64 4 tenferro-rs direct API (ms) 64 0.860789 13449.83
rms_norm f32 1024x64 4 tenferro-rs eager mode (ms) 64 16.468961 257327.52
rms_norm f32 4096x256 4 JAX Python (XLA CPU) (ms) 8 3.979214 497401.75
rms_norm f32 4096x256 4 PyTorch Python (ms) 8 1.487346 185918.25
rms_norm f32 4096x256 4 tenferro-rs direct API (ms) 8 1.033373 129171.63
rms_norm f32 4096x256 4 tenferro-rs eager mode (ms) 8 8.839373 1104921.62
rms_norm f32 1024x64 8 JAX Python (XLA CPU) (ms) 64 5.236432 81819.25
rms_norm f32 1024x64 8 PyTorch Python (ms) 64 2.849964 44530.69
rms_norm f32 1024x64 8 tenferro-rs direct API (ms) 64 1.362146 21283.53
rms_norm f32 1024x64 8 tenferro-rs eager mode (ms) 64 2.202285 34410.70
rms_norm f32 4096x256 8 JAX Python (XLA CPU) (ms) 8 4.307536 538442.00
rms_norm f32 4096x256 8 PyTorch Python (ms) 8 1.421717 177714.62
rms_norm f32 4096x256 8 tenferro-rs direct API (ms) 8 1.322254 165281.75
rms_norm f32 4096x256 8 tenferro-rs eager mode (ms) 8 13.400199 1675024.88
sigmoid f32 1024x64 1 JAX Python (XLA CPU) (ms) 64 3.734500 58351.56
sigmoid f32 1024x64 1 PyTorch Python (ms) 64 2.280123 35626.92
sigmoid f32 1024x64 1 tenferro-rs direct API (ms) 64 1.089001 17015.64
sigmoid f32 1024x64 1 tenferro-rs eager mode (ms) 64 1.092718 17073.72
sigmoid f32 4096x256 1 JAX Python (XLA CPU) (ms) 8 8.227224 1028403.00
sigmoid f32 4096x256 1 PyTorch Python (ms) 8 4.677644 584705.50
sigmoid f32 4096x256 1 tenferro-rs direct API (ms) 8 2.141935 267741.88
sigmoid f32 4096x256 1 tenferro-rs eager mode (ms) 8 2.209601 276200.12
sigmoid f32 1024x64 4 JAX Python (XLA CPU) (ms) 64 2.614810 40856.41
sigmoid f32 1024x64 4 PyTorch Python (ms) 64 1.728173 27002.70
sigmoid f32 1024x64 4 tenferro-rs direct API (ms) 64 0.319609 4993.89
sigmoid f32 1024x64 4 tenferro-rs eager mode (ms) 64 15.525730 242589.53
sigmoid f32 4096x256 4 JAX Python (XLA CPU) (ms) 8 2.944942 368117.75
sigmoid f32 4096x256 4 PyTorch Python (ms) 8 1.786408 223301.00
sigmoid f32 4096x256 4 tenferro-rs direct API (ms) 8 0.895472 111934.00
sigmoid f32 4096x256 4 tenferro-rs eager mode (ms) 8 4.831653 603956.62
sigmoid f32 1024x64 8 JAX Python (XLA CPU) (ms) 64 3.848231 60128.61
sigmoid f32 1024x64 8 PyTorch Python (ms) 64 2.175558 33993.09
sigmoid f32 1024x64 8 tenferro-rs direct API (ms) 64 0.324815 5075.23
sigmoid f32 1024x64 8 tenferro-rs eager mode (ms) 64 0.355302 5551.59
sigmoid f32 4096x256 8 JAX Python (XLA CPU) (ms) 8 3.151611 393951.38
sigmoid f32 4096x256 8 PyTorch Python (ms) 8 1.651036 206379.50
sigmoid f32 4096x256 8 tenferro-rs direct API (ms) 8 0.975588 121948.50
sigmoid f32 4096x256 8 tenferro-rs eager mode (ms) 8 6.649176 831147.00
silu f32 1024x64 1 JAX Python (XLA CPU) (ms) 64 3.855906 60248.53
silu f32 1024x64 1 PyTorch Python (ms) 64 2.323694 36307.72
silu f32 1024x64 1 tenferro-rs direct API (ms) 64 1.134125 17720.70
silu f32 1024x64 1 tenferro-rs eager mode (ms) 64 1.152510 18007.97
silu f32 4096x256 1 JAX Python (XLA CPU) (ms) 8 8.517112 1064639.00
silu f32 4096x256 1 PyTorch Python (ms) 8 4.666263 583282.88
silu f32 4096x256 1 tenferro-rs direct API (ms) 8 2.262470 282808.75
silu f32 4096x256 1 tenferro-rs eager mode (ms) 8 2.326649 290831.12
silu f32 1024x64 4 JAX Python (XLA CPU) (ms) 64 2.802953 43796.14
silu f32 1024x64 4 PyTorch Python (ms) 64 1.620066 25313.53
silu f32 1024x64 4 tenferro-rs direct API (ms) 64 0.327994 5124.91
silu f32 1024x64 4 tenferro-rs eager mode (ms) 64 0.350475 5476.17
silu f32 4096x256 4 JAX Python (XLA CPU) (ms) 8 3.097659 387207.38
silu f32 4096x256 4 PyTorch Python (ms) 8 1.784555 223069.38
silu f32 4096x256 4 tenferro-rs direct API (ms) 8 0.911552 113944.00
silu f32 4096x256 4 tenferro-rs eager mode (ms) 8 4.857299 607162.38
silu f32 1024x64 8 JAX Python (XLA CPU) (ms) 64 3.872075 60501.17
silu f32 1024x64 8 PyTorch Python (ms) 64 2.242982 35046.59
silu f32 1024x64 8 tenferro-rs direct API (ms) 64 0.332038 5188.09
silu f32 1024x64 8 tenferro-rs eager mode (ms) 64 16.898446 264038.22
silu f32 4096x256 8 JAX Python (XLA CPU) (ms) 8 3.376495 422061.88
silu f32 4096x256 8 PyTorch Python (ms) 8 1.679599 209949.88
silu f32 4096x256 8 tenferro-rs direct API (ms) 8 0.977101 122137.62
silu f32 4096x256 8 tenferro-rs eager mode (ms) 8 6.543593 817949.12
softmax f32 1024x64 1 JAX Python (XLA CPU) (ms) 64 6.791422 106115.97
softmax f32 1024x64 1 PyTorch Python (ms) 64 3.204837 50075.58
softmax f32 1024x64 1 tenferro-rs direct API (ms) 64 2.528706 39511.03
softmax f32 1024x64 1 tenferro-rs eager mode (ms) 64 3.138254 49035.22
softmax f32 4096x256 1 JAX Python (XLA CPU) (ms) 8 14.708477 1838559.62
softmax f32 4096x256 1 PyTorch Python (ms) 8 3.522209 440276.12
softmax f32 4096x256 1 tenferro-rs direct API (ms) 8 5.027698 628462.25
softmax f32 4096x256 1 tenferro-rs eager mode (ms) 8 5.330211 666276.38
softmax f32 1024x64 4 JAX Python (XLA CPU) (ms) 64 5.794708 90542.31
softmax f32 1024x64 4 PyTorch Python (ms) 64 0.617009 9640.77
softmax f32 1024x64 4 tenferro-rs direct API (ms) 64 1.637456 25585.25
softmax f32 1024x64 4 tenferro-rs eager mode (ms) 64 2.281252 35644.56
softmax f32 4096x256 4 JAX Python (XLA CPU) (ms) 8 6.363355 795419.38
softmax f32 4096x256 4 PyTorch Python (ms) 8 1.107378 138422.25
softmax f32 4096x256 4 tenferro-rs direct API (ms) 8 2.384099 298012.38
softmax f32 4096x256 4 tenferro-rs eager mode (ms) 8 3.052199 381524.88
softmax f32 1024x64 8 JAX Python (XLA CPU) (ms) 64 8.947270 139801.09
softmax f32 1024x64 8 PyTorch Python (ms) 64 1.203196 18799.94
softmax f32 1024x64 8 tenferro-rs direct API (ms) 64 2.575630 40244.22
softmax f32 1024x64 8 tenferro-rs eager mode (ms) 64 3.621066 56579.16
softmax f32 4096x256 8 JAX Python (XLA CPU) (ms) 8 7.123280 890410.00
softmax f32 4096x256 8 PyTorch Python (ms) 8 0.996316 124539.50
softmax f32 4096x256 8 tenferro-rs direct API (ms) 8 3.695684 461960.50
softmax f32 4096x256 8 tenferro-rs eager mode (ms) 8 4.112337 514042.12
softplus f32 1024x64 1 JAX Python (XLA CPU) (ms) 64 8.928103 139501.61
softplus f32 1024x64 1 PyTorch Python (ms) 64 5.329020 83265.94
softplus f32 1024x64 1 tenferro-rs direct API (ms) 64 3.877602 60587.53
softplus f32 1024x64 1 tenferro-rs eager mode (ms) 64 3.900525 60945.70
softplus f32 4096x256 1 JAX Python (XLA CPU) (ms) 8 19.319550 2414943.75
softplus f32 4096x256 1 PyTorch Python (ms) 8 10.796286 1349535.75
softplus f32 4096x256 1 tenferro-rs direct API (ms) 8 7.758360 969795.00
softplus f32 4096x256 1 tenferro-rs eager mode (ms) 8 7.807552 975944.00
softplus f32 1024x64 4 JAX Python (XLA CPU) (ms) 64 5.276155 82439.92
softplus f32 1024x64 4 PyTorch Python (ms) 64 3.100110 48439.22
softplus f32 1024x64 4 tenferro-rs direct API (ms) 64 1.027421 16053.45
softplus f32 1024x64 4 tenferro-rs eager mode (ms) 64 10.983172 171612.06
softplus f32 4096x256 4 JAX Python (XLA CPU) (ms) 8 8.488794 1061099.25
softplus f32 4096x256 4 PyTorch Python (ms) 8 3.103426 387928.25
softplus f32 4096x256 4 tenferro-rs direct API (ms) 8 2.025048 253131.00
softplus f32 4096x256 4 tenferro-rs eager mode (ms) 8 7.589509 948688.62
softplus f32 1024x64 8 JAX Python (XLA CPU) (ms) 64 8.000782 125012.22
softplus f32 1024x64 8 PyTorch Python (ms) 64 4.690378 73287.16
softplus f32 1024x64 8 tenferro-rs direct API (ms) 64 0.857101 13392.20
softplus f32 1024x64 8 tenferro-rs eager mode (ms) 64 17.966835 280731.80
softplus f32 4096x256 8 JAX Python (XLA CPU) (ms) 8 9.139675 1142459.38
softplus f32 4096x256 8 PyTorch Python (ms) 8 2.485086 310635.75
softplus f32 4096x256 8 tenferro-rs direct API (ms) 8 1.564558 195569.75
softplus f32 4096x256 8 tenferro-rs eager mode (ms) 8 5.987252 748406.50
take_along_axis f32 1024x64 1 JAX Python (XLA CPU) (ms) 64 3.993162 62393.16
take_along_axis f32 1024x64 1 PyTorch Python (ms) 64 8.238035 128719.30
take_along_axis f32 1024x64 1 tenferro-rs direct API (ms) 64 20.703475 323491.80
take_along_axis f32 1024x64 1 tenferro-rs eager mode (ms) 64 33.385648 521650.75
take_along_axis f32 4096x256 1 JAX Python (XLA CPU) (ms) 8 9.397095 1174636.88
take_along_axis f32 4096x256 1 PyTorch Python (ms) 8 24.461793 3057724.12
take_along_axis f32 4096x256 1 tenferro-rs direct API (ms) 8 53.752364 6719045.50
take_along_axis f32 4096x256 1 tenferro-rs eager mode (ms) 8 97.818152 12227269.00
take_along_axis f32 1024x64 4 JAX Python (XLA CPU) (ms) 64 2.514348 39286.69
take_along_axis f32 1024x64 4 PyTorch Python (ms) 64 5.042341 78786.58
take_along_axis f32 1024x64 4 tenferro-rs direct API (ms) 64 8.498734 132792.72
take_along_axis f32 1024x64 4 tenferro-rs eager mode (ms) 64 21.959938 343124.03
take_along_axis f32 4096x256 4 JAX Python (XLA CPU) (ms) 8 3.298576 412322.00
take_along_axis f32 4096x256 4 PyTorch Python (ms) 8 5.032473 629059.12
take_along_axis f32 4096x256 4 tenferro-rs direct API (ms) 8 30.681173 3835146.62
take_along_axis f32 4096x256 4 tenferro-rs eager mode (ms) 8 71.949502 8993687.75
take_along_axis f32 1024x64 8 JAX Python (XLA CPU) (ms) 64 3.361587 52524.80
take_along_axis f32 1024x64 8 PyTorch Python (ms) 64 7.211050 112672.66
take_along_axis f32 1024x64 8 tenferro-rs direct API (ms) 64 9.542327 149098.86
take_along_axis f32 1024x64 8 tenferro-rs eager mode (ms) 64 31.280305 488754.77
take_along_axis f32 4096x256 8 JAX Python (XLA CPU) (ms) 8 3.881062 485132.75
take_along_axis f32 4096x256 8 PyTorch Python (ms) 8 6.256321 782040.12
take_along_axis f32 4096x256 8 tenferro-rs direct API (ms) 8 31.144791 3893098.88
take_along_axis f32 4096x256 8 tenferro-rs eager mode (ms) 8 82.362975 10295371.88
solve_read_into f64 256x256,rhs=16 1 PyTorch Python (ms) 16 7.110271 444391.94
solve_read_into f64 256x256,rhs=16 1 tenferro-rs direct API (ms) 16 5.915132 369695.75
solve_read_into f64 768x768,rhs=16 1 PyTorch Python (ms) 16 108.835740 6802233.75
solve_read_into f64 768x768,rhs=16 1 tenferro-rs direct API (ms) 16 95.374995 5960937.19
solve_read_into f64 256x256,rhs=16 4 PyTorch Python (ms) 16 3.001991 187624.44
solve_read_into f64 256x256,rhs=16 4 tenferro-rs direct API (ms) 16 2.494181 155886.31
solve_read_into f64 768x768,rhs=16 4 PyTorch Python (ms) 16 35.198957 2199934.81
solve_read_into f64 768x768,rhs=16 4 tenferro-rs direct API (ms) 16 30.440285 1902517.81
solve_read_into f64 256x256,rhs=16 8 PyTorch Python (ms) 16 4.457432 278589.50
solve_read_into f64 256x256,rhs=16 8 tenferro-rs direct API (ms) 16 3.496783 218548.94
solve_read_into f64 768x768,rhs=16 8 PyTorch Python (ms) 16 31.083665 1942729.06
solve_read_into f64 768x768,rhs=16 8 tenferro-rs direct API (ms) 16 29.130441 1820652.56
broadcast_in_dim_view f64 8192x1 -> 8192x4096 1 PyTorch Python (ms) 16 0.011372 710.75
broadcast_in_dim_view f64 8192x1 -> 8192x4096 1 tenferro-rs direct API (ms) 16 0.001072 67.00
broadcast_in_dim_view f64 8192x1 -> 8192x4096 4 PyTorch Python (ms) 16 0.011341 708.81
broadcast_in_dim_view f64 8192x1 -> 8192x4096 4 tenferro-rs direct API (ms) 16 0.001072 67.00
broadcast_in_dim_view f64 8192x1 -> 8192x4096 8 PyTorch Python (ms) 16 0.018033 1127.06
broadcast_in_dim_view f64 8192x1 -> 8192x4096 8 tenferro-rs direct API (ms) 16 0.001733 108.31
reshape_view f64 33554432 -> 8192x4096 1 Julia (Base/LinearAlgebra) (ms) 16 0.000070 4.38
reshape_view f64 33554432 -> 8192x4096 1 PyTorch Python (ms) 16 0.010469 654.31
reshape_view f64 33554432 -> 8192x4096 1 tenferro-rs direct API (ms) 16 0.006973 435.81
reshape_view f64 33554432 -> 8192x4096 4 Julia (Base/LinearAlgebra) (ms) 16 0.000111 6.94
reshape_view f64 33554432 -> 8192x4096 4 PyTorch Python (ms) 16 0.010448 653.00
reshape_view f64 33554432 -> 8192x4096 4 tenferro-rs direct API (ms) 16 0.007414 463.38
reshape_view f64 33554432 -> 8192x4096 8 Julia (Base/LinearAlgebra) (ms) 16 0.000111 6.94
reshape_view f64 33554432 -> 8192x4096 8 PyTorch Python (ms) 16 0.016670 1041.88
reshape_view f64 33554432 -> 8192x4096 8 tenferro-rs direct API (ms) 16 0.008205 512.81
slice_view f64 4194304 -> 2096128 1 Julia (Base/LinearAlgebra) (ms) 16 0.000110 6.88
slice_view f64 4194304 -> 2096128 1 PyTorch Python (ms) 16 0.010920 682.50
slice_view f64 4194304 -> 2096128 1 tenferro-rs direct API (ms) 16 0.005090 318.12
slice_view f64 4194304 -> 2096128 4 Julia (Base/LinearAlgebra) (ms) 16 0.000170 10.62
slice_view f64 4194304 -> 2096128 4 PyTorch Python (ms) 16 0.010840 677.50
slice_view f64 4194304 -> 2096128 4 tenferro-rs direct API (ms) 16 0.005630 351.88
slice_view f64 4194304 -> 2096128 8 Julia (Base/LinearAlgebra) (ms) 16 0.000280 17.50
slice_view f64 4194304 -> 2096128 8 PyTorch Python (ms) 16 0.017241 1077.56
slice_view f64 4194304 -> 2096128 8 tenferro-rs direct API (ms) 16 0.005691 355.69
transpose_view f64 4096x4096 1 Julia (Base/LinearAlgebra) (ms) 16 0.000051 3.19
transpose_view f64 4096x4096 1 PyTorch Python (ms) 16 0.010420 651.25
transpose_view f64 4096x4096 1 tenferro-rs direct API (ms) 16 0.003456 216.00
transpose_view f64 4096x4096 4 Julia (Base/LinearAlgebra) (ms) 16 0.000091 5.69
transpose_view f64 4096x4096 4 PyTorch Python (ms) 16 0.010419 651.19
transpose_view f64 4096x4096 4 tenferro-rs direct API (ms) 16 0.003847 240.44
transpose_view f64 4096x4096 8 Julia (Base/LinearAlgebra) (ms) 16 0.000090 5.62
transpose_view f64 4096x4096 8 PyTorch Python (ms) 16 0.016610 1038.12
transpose_view f64 4096x4096 8 tenferro-rs direct API (ms) 16 0.004017 251.06

Cross-Backend Spread Audit

Rows with a successful cell more than 10x faster than the slowest successful cell are flagged for operation-specific review. This cross-backend spread check is a warning, not a correctness verdict.

Physical Bound Audit

This independent check derives minimum logical bytes from dtype and shape for materializing public API operations, plus conservative operation FLOPs for reductions, Frobenius norms, matrix products, triangular solves, and recognized dense linalg families. Decorated shapes (->, rhs=, and +) are parsed explicitly. Operations whose touched region cannot be inferred conservatively from the reported shape are left unmodeled. It assumes at most 100 GB/s and 50 GFLOP/s per requested CPU thread, capped at 1000 GB/s and 3200 GFLOP/s. A cell more than 10x faster than the resulting lower bound is flagged. These deliberately generous ceilings are a sanity screen, not a performance gate.