{"status": "success", "solver": "dense", "n": 64, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004392327042296529, "first_solve_seconds": 0.00021340500097721815, "warm_seconds": [5.30470279045403e-05, 4.048703704029322e-05, 3.376300446689129e-05, 3.296299837529659e-05, 3.208301495760679e-05, 3.1445990316569805e-05, 2.8664013370871544e-05], "warm_median_seconds": 3.296299837529659e-05, "operator_storage_bytes": 32768, "max_error": 2.384185791015625e-07, "residual_norms": [2.6226043701171875e-06], "residual_limits": [0.0012068966132915881], "peak_rss_mib": 61.15625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.24186242901487276}
{"status": "success", "solver": "dense", "n": 64, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.00418049399740994, "first_solve_seconds": 0.00020669202785938978, "warm_seconds": [5.186500493437052e-05, 4.0150946006178856e-05, 3.3719989005476236e-05, 3.359699621796608e-05, 3.2614043448120356e-05, 3.714999184012413e-05, 3.0231021810323e-05], "warm_median_seconds": 3.3719989005476236e-05, "operator_storage_bytes": 32768, "max_error": 2.384185791015625e-07, "residual_norms": [2.6226043701171875e-06], "residual_limits": [0.0012068966132915881], "peak_rss_mib": 61.3125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.25060796103207394}
{"status": "success", "solver": "dense", "n": 64, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004148099047597498, "first_solve_seconds": 0.0001991629833355546, "warm_seconds": [5.1006965804845095e-05, 4.0345010347664356e-05, 4.0440005250275135e-05, 3.2803975045681e-05, 3.192899748682976e-05, 3.0316004995256662e-05, 2.8613023459911346e-05], "warm_median_seconds": 3.2803975045681e-05, "operator_storage_bytes": 32768, "max_error": 2.384185791015625e-07, "residual_norms": [2.6226043701171875e-06], "residual_limits": [0.0012068966132915881], "peak_rss_mib": 61.32421875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.24835641600657254}
{"status": "success", "solver": "csr", "n": 64, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004518513043876737, "first_solve_seconds": 0.0002967999898828566, "warm_seconds": [3.378302790224552e-05, 2.3155007511377335e-05, 1.5833997167646885e-05, 1.4210992958396673e-05, 1.3681012205779552e-05, 1.3464014045894146e-05, 1.238600816577673e-05], "warm_median_seconds": 1.4210992958396673e-05, "operator_storage_bytes": 2552, "max_error": 4.76837158203125e-07, "residual_norms": [3.3927558590788143e-06], "residual_limits": [0.0012068966132915881], "peak_rss_mib": 62.12890625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.24128912400919944}
{"status": "success", "solver": "csr", "n": 64, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004767810984048992, "first_solve_seconds": 0.0002733679721131921, "warm_seconds": [3.076100256294012e-05, 2.0686013158410788e-05, 1.5342957340180874e-05, 1.3937009498476982e-05, 1.3326003681868315e-05, 1.1966039892286062e-05, 1.1980009730905294e-05], "warm_median_seconds": 1.3937009498476982e-05, "operator_storage_bytes": 2552, "max_error": 4.76837158203125e-07, "residual_norms": [3.3927558590788143e-06], "residual_limits": [0.0012068966132915881], "peak_rss_mib": 62.1484375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.23538079799618572}
{"status": "success", "solver": "csr", "n": 64, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.00649500300642103, "first_solve_seconds": 0.00027874798979610205, "warm_seconds": [3.045395715162158e-05, 2.0487001165747643e-05, 1.4672987163066864e-05, 1.4373974408954382e-05, 1.289701322093606e-05, 1.2255972251296043e-05, 1.1561030987650156e-05], "warm_median_seconds": 1.4373974408954382e-05, "operator_storage_bytes": 2552, "max_error": 4.76837158203125e-07, "residual_norms": [3.3927558590788143e-06], "residual_limits": [0.0012068966132915881], "peak_rss_mib": 61.9921875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.2509454649989493}
{"status": "success", "solver": "banded", "n": 64, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.0049644740065559745, "first_solve_seconds": 0.0003049509832635522, "warm_seconds": [9.006803156808019e-05, 6.939901504665613e-05, 5.80649939365685e-05, 5.980202695354819e-05, 5.587999476119876e-05, 5.143397720530629e-05, 5.3387018851935863e-05], "warm_median_seconds": 5.80649939365685e-05, "operator_storage_bytes": 768, "max_error": 4.76837158203125e-07, "residual_norms": [3.3927558590788143e-06], "residual_limits": [0.0012068966132915881], "peak_rss_mib": 60.9921875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.27349394001066685}
{"status": "success", "solver": "banded", "n": 64, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004451766959391534, "first_solve_seconds": 0.00029134697979316115, "warm_seconds": [8.957501268014312e-05, 7.236900273710489e-05, 6.38319761492312e-05, 5.980301648378372e-05, 5.5262993555516005e-05, 5.153502570465207e-05, 6.342300912365317e-05], "warm_median_seconds": 6.342300912365317e-05, "operator_storage_bytes": 768, "max_error": 4.76837158203125e-07, "residual_norms": [3.3927558590788143e-06], "residual_limits": [0.0012068966132915881], "peak_rss_mib": 60.6796875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.26074145996244624}
{"status": "success", "solver": "banded", "n": 64, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004419920966029167, "first_solve_seconds": 0.00031166098779067397, "warm_seconds": [0.00010659400140866637, 7.763999747112393e-05, 6.0331018175929785e-05, 6.255804328247905e-05, 5.940999835729599e-05, 5.6290009524673223e-05, 5.5962009355425835e-05], "warm_median_seconds": 6.0331018175929785e-05, "operator_storage_bytes": 768, "max_error": 4.76837158203125e-07, "residual_norms": [3.3927558590788143e-06], "residual_limits": [0.0012068966132915881], "peak_rss_mib": 61.0078125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.24575056502362713}
{"status": "success", "solver": "gmres", "n": 64, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004175828013103455, "first_solve_seconds": 0.0015048740315251052, "warm_seconds": [0.0023960419930517673, 0.0023535690270364285, 0.002158300019800663, 0.0019844159833155572, 0.002007347997277975, 0.0020122110145166516, 0.0019503060029819608], "warm_median_seconds": 0.0020122110145166516, "operator_storage_bytes": 764, "max_error": 0.00017142295837402344, "residual_norms": [0.00066212488141896], "residual_limits": [0.0012068966132915881], "peak_rss_mib": 61.08984375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.260395564022474}
{"status": "success", "solver": "gmres", "n": 64, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.0043596429750323296, "first_solve_seconds": 0.0013594100018963218, "warm_seconds": [0.0010225209989584982, 0.000987800012808293, 0.00102336797863245, 0.0010524110402911901, 0.0010549610015004873, 0.0012836980167776346, 0.0010441920021548867], "warm_median_seconds": 0.0010441920021548867, "operator_storage_bytes": 764, "max_error": 0.00017142295837402344, "residual_norms": [0.00066212488141896], "residual_limits": [0.0012068966132915881], "peak_rss_mib": 60.8125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.25304901599884033}
{"status": "success", "solver": "gmres", "n": 64, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004184478020761162, "first_solve_seconds": 0.0014943779679015279, "warm_seconds": [0.0010245140292681754, 0.0009641859796829522, 0.0009885139879770577, 0.0011619990109466016, 0.0010232299682684243, 0.0010320310248062015, 0.0010130939772352576], "warm_median_seconds": 0.0010232299682684243, "operator_storage_bytes": 764, "max_error": 0.00017142295837402344, "residual_norms": [0.00066212488141896], "residual_limits": [0.0012068966132915881], "peak_rss_mib": 61.0078125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.2480173289659433}
{"status": "success", "solver": "gmres-jacobi", "n": 64, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004146571038290858, "first_solve_seconds": 0.0007413820130750537, "warm_seconds": [0.00043213600292801857, 0.00038818694883957505, 0.0005710120312869549, 0.0004130100132897496, 0.00039690901758149266, 0.0003839359851554036, 0.00037825998151674867], "warm_median_seconds": 0.00039690901758149266, "operator_storage_bytes": 1020, "max_error": 5.841255187988281e-05, "residual_norms": [0.00047964704641057665], "residual_limits": [0.0012068966132915881], "peak_rss_mib": 60.99609375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.2464045250089839}
{"status": "success", "solver": "gmres-jacobi", "n": 64, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004997706040740013, "first_solve_seconds": 0.0009384370059706271, "warm_seconds": [0.000494678970426321, 0.00041407602839171886, 0.00043685303535312414, 0.000428729981649667, 0.0004431449924595654, 0.0004149479791522026, 0.0004055880126543343], "warm_median_seconds": 0.000428729981649667, "operator_storage_bytes": 1020, "max_error": 5.841255187988281e-05, "residual_norms": [0.00047964704641057665], "residual_limits": [0.0012068966132915881], "peak_rss_mib": 60.80078125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.2564683639793657}
{"status": "success", "solver": "gmres-jacobi", "n": 64, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004059689992573112, "first_solve_seconds": 0.000728701998014003, "warm_seconds": [0.0004118969663977623, 0.00038108701119199395, 0.00038597400998696685, 0.0003768230089917779, 0.0003672440070658922, 0.00038710597436875105, 0.00038573797792196274], "warm_median_seconds": 0.00038573797792196274, "operator_storage_bytes": 1020, "max_error": 5.841255187988281e-05, "residual_norms": [0.00047964704641057665], "residual_limits": [0.0012068966132915881], "peak_rss_mib": 60.765625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.24036975897615775}
{"status": "success", "solver": "dense", "n": 64, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004076249955687672, "first_solve_seconds": 0.00019501498900353909, "warm_seconds": [4.652695497497916e-05, 3.6487996112555265e-05, 3.091798862442374e-05, 2.9563962016254663e-05, 2.8213020414114e-05, 2.706801751628518e-05, 2.4991983082145452e-05], "warm_median_seconds": 2.9563962016254663e-05, "operator_storage_bytes": 65536, "max_error": 8.881784197001252e-16, "residual_norms": [6.09713622601137e-15], "residual_limits": [6.0344830502613425e-09], "peak_rss_mib": 61.40625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.2262768640066497}
{"status": "success", "solver": "dense", "n": 64, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.0040993160218931735, "first_solve_seconds": 0.00020262104226276278, "warm_seconds": [4.7087029088288546e-05, 3.6115001421421766e-05, 3.090099198743701e-05, 2.9820948839187622e-05, 2.810999285429716e-05, 2.8105976525694132e-05, 2.4320965167135e-05], "warm_median_seconds": 2.9820948839187622e-05, "operator_storage_bytes": 65536, "max_error": 8.881784197001252e-16, "residual_norms": [6.09713622601137e-15], "residual_limits": [6.0344830502613425e-09], "peak_rss_mib": 61.3515625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.22203916596481577}
{"status": "success", "solver": "dense", "n": 64, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004148845036979765, "first_solve_seconds": 0.00019727199105545878, "warm_seconds": [4.369899397715926e-05, 3.537896554917097e-05, 2.9170012567192316e-05, 2.7984031476080418e-05, 2.662197221070528e-05, 2.5271030608564615e-05, 2.5315035600215197e-05], "warm_median_seconds": 2.7984031476080418e-05, "operator_storage_bytes": 65536, "max_error": 8.881784197001252e-16, "residual_norms": [6.09713622601137e-15], "residual_limits": [6.0344830502613425e-09], "peak_rss_mib": 61.4921875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.2267526499927044}
{"status": "success", "solver": "csr", "n": 64, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.0045768480049446225, "first_solve_seconds": 0.00029513001209124923, "warm_seconds": [2.922298153862357e-05, 2.065300941467285e-05, 1.930800499394536e-05, 1.4024029951542616e-05, 1.4297023881226778e-05, 1.2360978871583939e-05, 1.1880998499691486e-05], "warm_median_seconds": 1.4297023881226778e-05, "operator_storage_bytes": 3568, "max_error": 8.881784197001252e-16, "residual_norms": [6.335084731329091e-15], "residual_limits": [6.0344830502613425e-09], "peak_rss_mib": 62.12890625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.2365166520467028}
{"status": "success", "solver": "csr", "n": 64, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.005220064020249993, "first_solve_seconds": 0.00033546402119100094, "warm_seconds": [2.892198972404003e-05, 2.0513019990175962e-05, 1.3644981663674116e-05, 1.342798350378871e-05, 1.2876000255346298e-05, 1.2086005881428719e-05, 1.1655036360025406e-05], "warm_median_seconds": 1.342798350378871e-05, "operator_storage_bytes": 3568, "max_error": 8.881784197001252e-16, "residual_norms": [6.335084731329091e-15], "residual_limits": [6.0344830502613425e-09], "peak_rss_mib": 61.96875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.23784403898753226}
{"status": "success", "solver": "csr", "n": 64, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004397828015498817, "first_solve_seconds": 0.0002798879868350923, "warm_seconds": [2.7663016226142645e-05, 1.937296474352479e-05, 1.3154989574104548e-05, 1.3372045941650867e-05, 1.2274016626179218e-05, 1.1685013305395842e-05, 1.0726973414421082e-05], "warm_median_seconds": 1.3154989574104548e-05, "operator_storage_bytes": 3568, "max_error": 8.881784197001252e-16, "residual_norms": [6.335084731329091e-15], "residual_limits": [6.0344830502613425e-09], "peak_rss_mib": 62.21875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.23219745099777356}
{"status": "success", "solver": "banded", "n": 64, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.00817938701948151, "first_solve_seconds": 0.0004607229493558407, "warm_seconds": [0.00016758899437263608, 0.00011896999785676599, 9.847298497334123e-05, 0.00010990403825417161, 0.00010547100100666285, 0.00010335299884900451, 0.00011931895278394222], "warm_median_seconds": 0.00010990403825417161, "operator_storage_bytes": 1536, "max_error": 8.881784197001252e-16, "residual_norms": [6.015728885763879e-15], "residual_limits": [6.0344830502613425e-09], "peak_rss_mib": 61.0703125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.2776572540169582}
{"status": "success", "solver": "banded", "n": 64, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.0042832299950532615, "first_solve_seconds": 0.0002993300440721214, "warm_seconds": [9.433203376829624e-05, 7.412000559270382e-05, 6.230000872164965e-05, 6.032001692801714e-05, 5.764304660260677e-05, 5.4051983170211315e-05, 5.1318027544766665e-05], "warm_median_seconds": 6.032001692801714e-05, "operator_storage_bytes": 1536, "max_error": 8.881784197001252e-16, "residual_norms": [6.015728885763879e-15], "residual_limits": [6.0344830502613425e-09], "peak_rss_mib": 60.78125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.24354264402063563}
{"status": "success", "solver": "banded", "n": 64, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004260057001374662, "first_solve_seconds": 0.00029008800629526377, "warm_seconds": [9.217404294759035e-05, 7.497100159525871e-05, 6.146199302747846e-05, 6.031402153894305e-05, 5.573296220973134e-05, 5.2396964747458696e-05, 5.174701800569892e-05], "warm_median_seconds": 6.031402153894305e-05, "operator_storage_bytes": 1536, "max_error": 8.881784197001252e-16, "residual_norms": [6.015728885763879e-15], "residual_limits": [6.0344830502613425e-09], "peak_rss_mib": 61.03125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.23552313703112304}
{"status": "success", "solver": "gmres", "n": 64, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004172076005488634, "first_solve_seconds": 0.0022569660213775933, "warm_seconds": [0.0018542349571362138, 0.0018518709694035351, 0.0018107839860022068, 0.001895132998470217, 0.0018921379814855754, 0.0018699420033954084, 0.0018155329744331539], "warm_median_seconds": 0.0018542349571362138, "operator_storage_bytes": 1528, "max_error": 1.0105962733319984e-09, "residual_norms": [3.3165353356235277e-09], "residual_limits": [6.0344830502613425e-09], "peak_rss_mib": 60.75390625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.24688915495062247}
{"status": "success", "solver": "gmres", "n": 64, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.003913256980013102, "first_solve_seconds": 0.0024819879909045994, "warm_seconds": [0.0019476789748296142, 0.0027860970003530383, 0.0019452529959380627, 0.0019488779944367707, 0.0018561090109869838, 0.0018860570271499455, 0.0019753410015255213], "warm_median_seconds": 0.0019476789748296142, "operator_storage_bytes": 1528, "max_error": 1.0105962733319984e-09, "residual_norms": [3.3165353356235277e-09], "residual_limits": [6.0344830502613425e-09], "peak_rss_mib": 60.94921875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.2570995570276864}
{"status": "success", "solver": "gmres", "n": 64, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.0038869999698363245, "first_solve_seconds": 0.002240717993117869, "warm_seconds": [0.001881078991573304, 0.0019173580221831799, 0.0018777719815261662, 0.0018481240258552134, 0.0018514200346544385, 0.0018005919991992414, 0.0018102609901688993], "warm_median_seconds": 0.0018514200346544385, "operator_storage_bytes": 1528, "max_error": 1.0105962733319984e-09, "residual_norms": [3.3165353356235277e-09], "residual_limits": [6.0344830502613425e-09], "peak_rss_mib": 60.703125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.26941462204558775}
{"status": "success", "solver": "gmres-jacobi", "n": 64, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004562619025819004, "first_solve_seconds": 0.001272926980163902, "warm_seconds": [0.0011371720465831459, 0.0009303859551437199, 0.0008882340043783188, 0.0009396169916726649, 0.000854621990583837, 0.0008306559757329524, 0.000820361019577831], "warm_median_seconds": 0.0008882340043783188, "operator_storage_bytes": 2040, "max_error": 1.1438983094080868e-10, "residual_norms": [1.3536474126386539e-09], "residual_limits": [6.0344830502613425e-09], "peak_rss_mib": 60.50390625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.26856136100832373}
{"status": "success", "solver": "gmres-jacobi", "n": 64, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004258350003510714, "first_solve_seconds": 0.0012909889919683337, "warm_seconds": [0.0009059159783646464, 0.0008625710033811629, 0.0008511699852533638, 0.0008543580188415945, 0.0008423880208283663, 0.0008526050369255245, 0.0008786499965935946], "warm_median_seconds": 0.0008543580188415945, "operator_storage_bytes": 2040, "max_error": 1.1438983094080868e-10, "residual_norms": [1.3536474126386539e-09], "residual_limits": [6.0344830502613425e-09], "peak_rss_mib": 60.94921875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.23792998399585485}
{"status": "success", "solver": "gmres-jacobi", "n": 64, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.00409864797256887, "first_solve_seconds": 0.001188512018416077, "warm_seconds": [0.0008652029791846871, 0.0008780760108493268, 0.0008901900146156549, 0.0009029229986481369, 0.0008241489995270967, 0.000820207002107054, 0.0008092719945125282], "warm_median_seconds": 0.0008652029791846871, "operator_storage_bytes": 2040, "max_error": 1.1438983094080868e-10, "residual_norms": [1.3536474126386539e-09], "residual_limits": [6.0344830502613425e-09], "peak_rss_mib": 60.83984375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.26015409000683576}
{"status": "success", "solver": "dense", "n": 64, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.004086924949660897, "first_solve_seconds": 0.0002798719797283411, "warm_seconds": [5.405303090810776e-05, 4.039495252072811e-05, 3.3795018680393696e-05, 3.313500201329589e-05, 3.206799738109112e-05, 3.144895890727639e-05, 2.9766990337520838e-05], "warm_median_seconds": 3.313500201329589e-05, "operator_storage_bytes": 32768, "max_error": 2.384185791015625e-07, "residual_norms": [2.6226043701171875e-06, 3.359080029393523e-06, 3.339988166361308e-06, 3.829569436123135e-06], "residual_limits": [0.0012068966132915881, 0.001309538191227269, 0.0014340294762142038, 0.0014496685032731674], "peak_rss_mib": 61.578125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.23165508400416002}
{"status": "success", "solver": "dense", "n": 64, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.004320523992646486, "first_solve_seconds": 0.0002821640227921307, "warm_seconds": [5.3386029321700335e-05, 4.0996994357556105e-05, 3.5186996683478355e-05, 3.457401180639863e-05, 3.0961004085838795e-05, 3.2212992664426565e-05, 2.929900074377656e-05], "warm_median_seconds": 3.457401180639863e-05, "operator_storage_bytes": 32768, "max_error": 2.384185791015625e-07, "residual_norms": [2.6226043701171875e-06, 3.359080029393523e-06, 3.339988166361308e-06, 3.829569436123135e-06], "residual_limits": [0.0012068966132915881, 0.001309538191227269, 0.0014340294762142038, 0.0014496685032731674], "peak_rss_mib": 61.41015625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.23342523199971765}
{"status": "success", "solver": "dense", "n": 64, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.004180450981948525, "first_solve_seconds": 0.0002727429964579642, "warm_seconds": [5.130597855895758e-05, 4.058796912431717e-05, 3.517000004649162e-05, 3.422697773203254e-05, 3.417301923036575e-05, 2.9215007089078426e-05, 2.9072980396449566e-05], "warm_median_seconds": 3.422697773203254e-05, "operator_storage_bytes": 32768, "max_error": 2.384185791015625e-07, "residual_norms": [2.6226043701171875e-06, 3.359080029393523e-06, 3.339988166361308e-06, 3.829569436123135e-06], "residual_limits": [0.0012068966132915881, 0.001309538191227269, 0.0014340294762142038, 0.0014496685032731674], "peak_rss_mib": 61.4609375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.23419805499725044}
{"status": "success", "solver": "csr", "n": 64, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.004573704034555703, "first_solve_seconds": 0.00028085598023608327, "warm_seconds": [3.8278987631201744e-05, 2.853601472452283e-05, 3.251101588830352e-05, 2.3792032152414322e-05, 2.221501199528575e-05, 2.165097976103425e-05, 2.047803718596697e-05], "warm_median_seconds": 2.3792032152414322e-05, "operator_storage_bytes": 2552, "max_error": 4.76837158203125e-07, "residual_norms": [3.3927558590788143e-06, 3.957317512678583e-06, 5.619298815437639e-06, 5.276273721773799e-06], "residual_limits": [0.0012068966132915881, 0.001309538191227269, 0.0014340294762142038, 0.0014496685032731674], "peak_rss_mib": 61.8671875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.2301607660483569}
{"status": "success", "solver": "csr", "n": 64, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.004444997990503907, "first_solve_seconds": 0.00030029501067474484, "warm_seconds": [3.818102413788438e-05, 2.7430010959506035e-05, 2.3111002519726753e-05, 2.4111999664455652e-05, 2.182403113692999e-05, 2.107099862769246e-05, 2.0188046619296074e-05], "warm_median_seconds": 2.3111002519726753e-05, "operator_storage_bytes": 2552, "max_error": 4.76837158203125e-07, "residual_norms": [3.3927558590788143e-06, 3.957317512678583e-06, 5.619298815437639e-06, 5.276273721773799e-06], "residual_limits": [0.0012068966132915881, 0.001309538191227269, 0.0014340294762142038, 0.0014496685032731674], "peak_rss_mib": 61.8828125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.2460262490203604}
{"status": "success", "solver": "csr", "n": 64, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.004280137014575303, "first_solve_seconds": 0.0002707219682633877, "warm_seconds": [3.559503238648176e-05, 2.8875016141682863e-05, 2.3015018086880445e-05, 2.2066989913582802e-05, 2.736598253250122e-05, 2.5429995730519295e-05, 2.1099986042827368e-05], "warm_median_seconds": 2.5429995730519295e-05, "operator_storage_bytes": 2552, "max_error": 4.76837158203125e-07, "residual_norms": [3.3927558590788143e-06, 3.957317512678583e-06, 5.619298815437639e-06, 5.276273721773799e-06], "residual_limits": [0.0012068966132915881, 0.001309538191227269, 0.0014340294762142038, 0.0014496685032731674], "peak_rss_mib": 62.04296875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.23351463302969933}
{"status": "success", "solver": "banded", "n": 64, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.00441978796152398, "first_solve_seconds": 0.00033257697941735387, "warm_seconds": [0.00011603196617215872, 8.712999988347292e-05, 7.864600047469139e-05, 7.597397780045867e-05, 7.2818947955966e-05, 6.851099897176027e-05, 7.140403613448143e-05], "warm_median_seconds": 7.597397780045867e-05, "operator_storage_bytes": 768, "max_error": 4.76837158203125e-07, "residual_norms": [3.3927558590788143e-06, 4.288221776152837e-06, 5.274926874598881e-06, 5.281657675951891e-06], "residual_limits": [0.0012068966132915881, 0.001309538191227269, 0.0014340294762142038, 0.0014496685032731674], "peak_rss_mib": 61.0390625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.23865147796459496}
{"status": "success", "solver": "banded", "n": 64, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.004215102002490312, "first_solve_seconds": 0.00030385900754481554, "warm_seconds": [0.00010980298975482583, 8.475099457427859e-05, 7.626001024618745e-05, 7.65960430726409e-05, 7.277203258126974e-05, 6.648601265624166e-05, 6.727600703015924e-05], "warm_median_seconds": 7.626001024618745e-05, "operator_storage_bytes": 768, "max_error": 4.76837158203125e-07, "residual_norms": [3.3927558590788143e-06, 4.288221776152837e-06, 5.274926874598881e-06, 5.281657675951891e-06], "residual_limits": [0.0012068966132915881, 0.001309538191227269, 0.0014340294762142038, 0.0014496685032731674], "peak_rss_mib": 61.0859375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.2318120429990813}
{"status": "success", "solver": "banded", "n": 64, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.004511988023295999, "first_solve_seconds": 0.0003417340340092778, "warm_seconds": [0.00010575703345239162, 8.549803169444203e-05, 7.462798384949565e-05, 7.612700574100018e-05, 7.114099571481347e-05, 6.807799218222499e-05, 7.111398736014962e-05], "warm_median_seconds": 7.462798384949565e-05, "operator_storage_bytes": 768, "max_error": 4.76837158203125e-07, "residual_norms": [3.3927558590788143e-06, 4.288221776152837e-06, 5.274926874598881e-06, 5.281657675951891e-06], "residual_limits": [0.0012068966132915881, 0.001309538191227269, 0.0014340294762142038, 0.0014496685032731674], "peak_rss_mib": 61.1484375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.22737718402640894}
{"solver": "gmres", "n": 64, "rhs": 4, "dtype": "float32", "trial": 0, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 11 / 256 (4.3%)\nFirst 5 mismatches are at indices:\n [0, 2]: 2.9089837074279785 (ACTUAL), 2.909297466278076 (DESIRED)\n [0, 3]: 2.1408584117889404 (ACTUAL), 2.141119956970215 (DESIRED)\n [4, 2]: 1.9418827295303345 (ACTUAL), 1.9416258335113525 (DESIRED)\n [4, 3]: 1.1286152601242065 (ACTUAL), 1.1284242868423462 (DESIRED)\n [5, 2]: 1.6494649648666382 (ACTUAL), 1.6492167711257935 (DESIRED)\nMax absolute difference among violations: 0.00031376\nMax relative difference among violations: 0.00024463\n ACTUAL: array([[1.999829, 2.841336, 2.908984, 2.140858],\n       [2.295444, 2.963506, 2.74556 , 1.842105],\n       [2.564678, 2.999619, 2.515558, 1.557472],...\n DESIRED: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n"}
{"solver": "gmres", "n": 64, "rhs": 4, "dtype": "float32", "trial": 1, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 11 / 256 (4.3%)\nFirst 5 mismatches are at indices:\n [0, 2]: 2.9089837074279785 (ACTUAL), 2.909297466278076 (DESIRED)\n [0, 3]: 2.1408584117889404 (ACTUAL), 2.141119956970215 (DESIRED)\n [4, 2]: 1.9418827295303345 (ACTUAL), 1.9416258335113525 (DESIRED)\n [4, 3]: 1.1286152601242065 (ACTUAL), 1.1284242868423462 (DESIRED)\n [5, 2]: 1.6494649648666382 (ACTUAL), 1.6492167711257935 (DESIRED)\nMax absolute difference among violations: 0.00031376\nMax relative difference among violations: 0.00024463\n ACTUAL: array([[1.999829, 2.841336, 2.908984, 2.140858],\n       [2.295444, 2.963506, 2.74556 , 1.842105],\n       [2.564678, 2.999619, 2.515558, 1.557472],...\n DESIRED: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n"}
{"solver": "gmres", "n": 64, "rhs": 4, "dtype": "float32", "trial": 2, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 11 / 256 (4.3%)\nFirst 5 mismatches are at indices:\n [0, 2]: 2.9089837074279785 (ACTUAL), 2.909297466278076 (DESIRED)\n [0, 3]: 2.1408584117889404 (ACTUAL), 2.141119956970215 (DESIRED)\n [4, 2]: 1.9418827295303345 (ACTUAL), 1.9416258335113525 (DESIRED)\n [4, 3]: 1.1286152601242065 (ACTUAL), 1.1284242868423462 (DESIRED)\n [5, 2]: 1.6494649648666382 (ACTUAL), 1.6492167711257935 (DESIRED)\nMax absolute difference among violations: 0.00031376\nMax relative difference among violations: 0.00024463\n ACTUAL: array([[1.999829, 2.841336, 2.908984, 2.140858],\n       [2.295444, 2.963506, 2.74556 , 1.842105],\n       [2.564678, 2.999619, 2.515558, 1.557472],...\n DESIRED: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n"}
{"status": "success", "solver": "gmres-jacobi", "n": 64, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.0040339630213566124, "first_solve_seconds": 0.0017523500137031078, "warm_seconds": [0.0014076699735596776, 0.0013333779643289745, 0.0013060159981250763, 0.0012825409648939967, 0.0012811520136892796, 0.00133716402342543, 0.0012969060335308313], "warm_median_seconds": 0.0013060159981250763, "operator_storage_bytes": 1020, "max_error": 6.67572021484375e-05, "residual_norms": [0.00047964704641057665, 0.00055628349178515, 0.0006026173555935241, 0.0005814661216318086], "residual_limits": [0.0012068966132915881, 0.001309538191227269, 0.0014340294762142038, 0.0014496685032731674], "peak_rss_mib": 60.8984375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.25423772499198094}
{"status": "success", "solver": "gmres-jacobi", "n": 64, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.0045150130172260106, "first_solve_seconds": 0.0017280799802392721, "warm_seconds": [0.0013230069889687002, 0.001295082038268447, 0.0013222669949755073, 0.00129063701024279, 0.0012688359711319208, 0.0012680800282396376, 0.0012928200303576887], "warm_median_seconds": 0.0012928200303576887, "operator_storage_bytes": 1020, "max_error": 6.67572021484375e-05, "residual_norms": [0.00047964704641057665, 0.00055628349178515, 0.0006026173555935241, 0.0005814661216318086], "residual_limits": [0.0012068966132915881, 0.001309538191227269, 0.0014340294762142038, 0.0014496685032731674], "peak_rss_mib": 60.7734375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.2585312220035121}
{"status": "success", "solver": "gmres-jacobi", "n": 64, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.0041193009819835424, "first_solve_seconds": 0.0017526120063848794, "warm_seconds": [0.0018598469905555248, 0.0015514849801547825, 0.0013141839881427586, 0.0012900049914605916, 0.0012815099908038974, 0.0012857060064561665, 0.0012694509932771325], "warm_median_seconds": 0.0012900049914605916, "operator_storage_bytes": 1020, "max_error": 6.67572021484375e-05, "residual_norms": [0.00047964704641057665, 0.00055628349178515, 0.0006026173555935241, 0.0005814661216318086], "residual_limits": [0.0012068966132915881, 0.001309538191227269, 0.0014340294762142038, 0.0014496685032731674], "peak_rss_mib": 60.80078125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.240135767031461}
{"status": "success", "solver": "dense", "n": 64, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.00421170296613127, "first_solve_seconds": 0.0002680629841051996, "warm_seconds": [5.12239639647305e-05, 4.010496195405722e-05, 3.1193019822239876e-05, 3.0866998713463545e-05, 2.9170012567192316e-05, 2.829800359904766e-05, 2.801598748192191e-05], "warm_median_seconds": 3.0866998713463545e-05, "operator_storage_bytes": 65536, "max_error": 8.881784197001252e-16, "residual_norms": [6.2764433761864106e-15, 8.616932905850419e-15, 8.414289408119131e-15, 1.0293390128256926e-14], "residual_limits": [6.0344830502613425e-09, 6.5476908079835056e-09, 7.170147249792901e-09, 7.248342459312886e-09], "peak_rss_mib": 61.5, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.23200287099462003}
{"status": "success", "solver": "dense", "n": 64, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.004052362986840308, "first_solve_seconds": 0.0002458110102452338, "warm_seconds": [4.658295074477792e-05, 3.7759949918836355e-05, 3.3165968488901854e-05, 3.312196349725127e-05, 2.984103048220277e-05, 2.8519949410110712e-05, 2.821005182340741e-05], "warm_median_seconds": 3.312196349725127e-05, "operator_storage_bytes": 65536, "max_error": 8.881784197001252e-16, "residual_norms": [6.2764433761864106e-15, 8.616932905850419e-15, 8.414289408119131e-15, 1.0293390128256926e-14], "residual_limits": [6.0344830502613425e-09, 6.5476908079835056e-09, 7.170147249792901e-09, 7.248342459312886e-09], "peak_rss_mib": 61.1015625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.23516122699948028}
{"status": "success", "solver": "dense", "n": 64, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.004020207037683576, "first_solve_seconds": 0.00024866004241630435, "warm_seconds": [4.9572030548006296e-05, 3.862602170556784e-05, 3.3168005757033825e-05, 3.315601497888565e-05, 2.9444985557347536e-05, 2.7664995286613703e-05, 2.7375994250178337e-05], "warm_median_seconds": 3.315601497888565e-05, "operator_storage_bytes": 65536, "max_error": 8.881784197001252e-16, "residual_norms": [6.2764433761864106e-15, 8.616932905850419e-15, 8.414289408119131e-15, 1.0293390128256926e-14], "residual_limits": [6.0344830502613425e-09, 6.5476908079835056e-09, 7.170147249792901e-09, 7.248342459312886e-09], "peak_rss_mib": 61.5546875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.23464085900923237}
{"status": "success", "solver": "csr", "n": 64, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.004429482971318066, "first_solve_seconds": 0.0003041069721803069, "warm_seconds": [3.772304626181722e-05, 2.8893991839140654e-05, 2.3120956029742956e-05, 2.3692031390964985e-05, 2.237095031887293e-05, 3.0773982871323824e-05, 2.2984982933849096e-05], "warm_median_seconds": 2.3692031390964985e-05, "operator_storage_bytes": 3568, "max_error": 8.881784197001252e-16, "residual_norms": [6.335084731329091e-15, 9.052233234392087e-15, 9.650641979819567e-15, 1.159106867033638e-14], "residual_limits": [6.0344830502613425e-09, 6.5476908079835056e-09, 7.170147249792901e-09, 7.248342459312886e-09], "peak_rss_mib": 61.97265625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.2552693620091304}
{"status": "success", "solver": "csr", "n": 64, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.004762483004014939, "first_solve_seconds": 0.0003067040233872831, "warm_seconds": [5.011394387111068e-05, 2.9237999115139246e-05, 2.37500062212348e-05, 2.232799306511879e-05, 2.2055988665670156e-05, 2.044701250270009e-05, 2.0316976588219404e-05], "warm_median_seconds": 2.232799306511879e-05, "operator_storage_bytes": 3568, "max_error": 8.881784197001252e-16, "residual_norms": [6.335084731329091e-15, 9.052233234392087e-15, 9.650641979819567e-15, 1.159106867033638e-14], "residual_limits": [6.0344830502613425e-09, 6.5476908079835056e-09, 7.170147249792901e-09, 7.248342459312886e-09], "peak_rss_mib": 61.93359375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.2298840990406461}
{"status": "success", "solver": "csr", "n": 64, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.004975041025318205, "first_solve_seconds": 0.0003007659688591957, "warm_seconds": [3.636302426457405e-05, 2.811802551150322e-05, 2.2705004084855318e-05, 2.265401417389512e-05, 2.34440085478127e-05, 2.2782012820243835e-05, 2.1267973352223635e-05], "warm_median_seconds": 2.2782012820243835e-05, "operator_storage_bytes": 3568, "max_error": 8.881784197001252e-16, "residual_norms": [6.335084731329091e-15, 9.052233234392087e-15, 9.650641979819567e-15, 1.159106867033638e-14], "residual_limits": [6.0344830502613425e-09, 6.5476908079835056e-09, 7.170147249792901e-09, 7.248342459312886e-09], "peak_rss_mib": 61.875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.2722460780059919}
{"status": "success", "solver": "banded", "n": 64, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.007706133997999132, "first_solve_seconds": 0.0005485420115292072, "warm_seconds": [0.00021546799689531326, 0.00016231503104791045, 0.00014135398669168353, 0.0001359590096399188, 0.00013032800052314997, 0.00013750098878517747, 0.0001302559976466], "warm_median_seconds": 0.00013750098878517747, "operator_storage_bytes": 1536, "max_error": 8.881784197001252e-16, "residual_norms": [6.015728885763879e-15, 8.361387308647542e-15, 8.287351963130584e-15, 1.2123310084460833e-14], "residual_limits": [6.0344830502613425e-09, 6.5476908079835056e-09, 7.170147249792901e-09, 7.248342459312886e-09], "peak_rss_mib": 60.9609375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.325015538954176}
{"status": "success", "solver": "banded", "n": 64, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.004148566978983581, "first_solve_seconds": 0.0002920280094258487, "warm_seconds": [0.00010910496348515153, 8.621800225228071e-05, 7.567898137494922e-05, 7.488997653126717e-05, 7.151201134547591e-05, 6.585998926311731e-05, 6.76639610901475e-05], "warm_median_seconds": 7.488997653126717e-05, "operator_storage_bytes": 1536, "max_error": 8.881784197001252e-16, "residual_norms": [6.015728885763879e-15, 8.361387308647542e-15, 8.287351963130584e-15, 1.2123310084460833e-14], "residual_limits": [6.0344830502613425e-09, 6.5476908079835056e-09, 7.170147249792901e-09, 7.248342459312886e-09], "peak_rss_mib": 61.21484375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.3148175120004453}
{"status": "success", "solver": "banded", "n": 64, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.004093392053619027, "first_solve_seconds": 0.00030286097899079323, "warm_seconds": [0.00011017505312338471, 8.674903074279428e-05, 7.250998169183731e-05, 7.216597441583872e-05, 6.863201269879937e-05, 6.42049708403647e-05, 6.373098585754633e-05], "warm_median_seconds": 7.216597441583872e-05, "operator_storage_bytes": 1536, "max_error": 8.881784197001252e-16, "residual_norms": [6.015728885763879e-15, 8.361387308647542e-15, 8.287351963130584e-15, 1.2123310084460833e-14], "residual_limits": [6.0344830502613425e-09, 6.5476908079835056e-09, 7.170147249792901e-09, 7.248342459312886e-09], "peak_rss_mib": 61.10546875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.23346084303921089}
{"status": "success", "solver": "gmres", "n": 64, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.003905058023519814, "first_solve_seconds": 0.007251960050780326, "warm_seconds": [0.006902134977281094, 0.006705745996441692, 0.00690110499272123, 0.007014575996436179, 0.006692594033665955, 0.007079128990881145, 0.006862908019684255], "warm_median_seconds": 0.00690110499272123, "operator_storage_bytes": 1528, "max_error": 1.7569665722305672e-09, "residual_norms": [3.3165353356235277e-09, 6.006453046555729e-09, 6.574940395973302e-09, 3.680978861060416e-09], "residual_limits": [6.0344830502613425e-09, 6.5476908079835056e-09, 7.170147249792901e-09, 7.248342459312886e-09], "peak_rss_mib": 61.0859375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.27345821901690215}
{"status": "success", "solver": "gmres", "n": 64, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.003836457966826856, "first_solve_seconds": 0.007223834982141852, "warm_seconds": [0.007260550046339631, 0.006784187979064882, 0.007166385010350496, 0.006880553963128477, 0.00684874301077798, 0.007336633978411555, 0.00691566796740517], "warm_median_seconds": 0.00691566796740517, "operator_storage_bytes": 1528, "max_error": 1.7569665722305672e-09, "residual_norms": [3.3165353356235277e-09, 6.006453046555729e-09, 6.574940395973302e-09, 3.680978861060416e-09], "residual_limits": [6.0344830502613425e-09, 6.5476908079835056e-09, 7.170147249792901e-09, 7.248342459312886e-09], "peak_rss_mib": 61.0859375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.28316777403233573}
{"status": "success", "solver": "gmres", "n": 64, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.003929976955987513, "first_solve_seconds": 0.007722179987467825, "warm_seconds": [0.0072318430175073445, 0.007392394007183611, 0.006998192984610796, 0.0072819089982658625, 0.007042601006105542, 0.007119603978935629, 0.007139480963815004], "warm_median_seconds": 0.007139480963815004, "operator_storage_bytes": 1528, "max_error": 1.7569665722305672e-09, "residual_norms": [3.3165353356235277e-09, 6.006453046555729e-09, 6.574940395973302e-09, 3.680978861060416e-09], "residual_limits": [6.0344830502613425e-09, 6.5476908079835056e-09, 7.170147249792901e-09, 7.248342459312886e-09], "peak_rss_mib": 60.9921875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.2804955309838988}
{"status": "success", "solver": "gmres-jacobi", "n": 64, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.00438430201029405, "first_solve_seconds": 0.0038543969858437777, "warm_seconds": [0.0034209819859825075, 0.003317627008073032, 0.0032466630218550563, 0.0032617980032227933, 0.0033700549975037575, 0.0033432539785280824, 0.003255235031247139], "warm_median_seconds": 0.003317627008073032, "operator_storage_bytes": 2040, "max_error": 2.0245560783394012e-10, "residual_norms": [1.3536474126386539e-09, 1.4800676879038467e-09, 1.6383182410164883e-09, 1.767178134612978e-09], "residual_limits": [6.0344830502613425e-09, 6.5476908079835056e-09, 7.170147249792901e-09, 7.248342459312886e-09], "peak_rss_mib": 60.8515625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.2870400169631466}
{"status": "success", "solver": "gmres-jacobi", "n": 64, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.004224218020681292, "first_solve_seconds": 0.0035548399901017547, "warm_seconds": [0.003612004977185279, 0.00336694298312068, 0.003168608993291855, 0.003364162053912878, 0.003207929024938494, 0.00331830297363922, 0.0031525790109299123], "warm_median_seconds": 0.00331830297363922, "operator_storage_bytes": 2040, "max_error": 2.0245560783394012e-10, "residual_norms": [1.3536474126386539e-09, 1.4800676879038467e-09, 1.6383182410164883e-09, 1.767178134612978e-09], "residual_limits": [6.0344830502613425e-09, 6.5476908079835056e-09, 7.170147249792901e-09, 7.248342459312886e-09], "peak_rss_mib": 61.11328125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.2529768989770673}
{"status": "success", "solver": "gmres-jacobi", "n": 64, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.004295910010114312, "first_solve_seconds": 0.0034145990503020585, "warm_seconds": [0.0030290220165625215, 0.003010322980117053, 0.002994813024997711, 0.0033374240156263113, 0.0031137099722400308, 0.003024415986146778, 0.0030079930438660085], "warm_median_seconds": 0.003024415986146778, "operator_storage_bytes": 2040, "max_error": 2.0245560783394012e-10, "residual_norms": [1.3536474126386539e-09, 1.4800676879038467e-09, 1.6383182410164883e-09, 1.767178134612978e-09], "residual_limits": [6.0344830502613425e-09, 6.5476908079835056e-09, 7.170147249792901e-09, 7.248342459312886e-09], "peak_rss_mib": 61.05078125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.25360959302634}
{"status": "success", "solver": "dense", "n": 512, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.005857248033862561, "first_solve_seconds": 0.00456189300166443, "warm_seconds": [0.0035965550341643393, 0.0037177279591560364, 0.0037299730465747416, 0.003568908025044948, 0.003449638024903834, 0.0034238480147905648, 0.0035537140211090446], "warm_median_seconds": 0.003568908025044948, "operator_storage_bytes": 2097152, "max_error": 2.384185791015625e-07, "residual_norms": [9.363811915710201e-06], "residual_limits": [0.0037865354945775314], "peak_rss_mib": 69.15625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.2546868549543433}
{"status": "success", "solver": "dense", "n": 512, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004962026956491172, "first_solve_seconds": 0.0044768539955839515, "warm_seconds": [0.0037583449739031494, 0.003521357022691518, 0.003396080050151795, 0.0034975800081156194, 0.003410850011277944, 0.003569384978618473, 0.0036959569551981986], "warm_median_seconds": 0.003521357022691518, "operator_storage_bytes": 2097152, "max_error": 2.384185791015625e-07, "residual_norms": [9.363811915710201e-06], "residual_limits": [0.0037865354945775314], "peak_rss_mib": 69.26171875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.2600452550104819}
{"status": "success", "solver": "dense", "n": 512, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.005036087008193135, "first_solve_seconds": 0.004838939988985658, "warm_seconds": [0.0036810519522987306, 0.003480989020317793, 0.0034974539885297418, 0.003738739003892988, 0.003572249028366059, 0.003483616979792714, 0.003366619988810271], "warm_median_seconds": 0.0034974539885297418, "operator_storage_bytes": 2097152, "max_error": 2.384185791015625e-07, "residual_norms": [9.363811915710201e-06], "residual_limits": [0.0037865354945775314], "peak_rss_mib": 69.296875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.25301032001152635}
{"status": "success", "solver": "csr", "n": 512, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004629792005289346, "first_solve_seconds": 0.0003796310047619045, "warm_seconds": [3.392196958884597e-05, 2.4814973585307598e-05, 1.908303238451481e-05, 1.8713995814323425e-05, 1.770298695191741e-05, 1.751899253576994e-05, 1.700397115200758e-05], "warm_median_seconds": 1.8713995814323425e-05, "operator_storage_bytes": 20472, "max_error": 4.76837158203125e-07, "residual_norms": [1.2505048791831359e-05], "residual_limits": [0.0037865354945775314], "peak_rss_mib": 62.24609375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.22132862702710554}
{"status": "success", "solver": "csr", "n": 512, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004308726987801492, "first_solve_seconds": 0.0003531399997882545, "warm_seconds": [3.354501677677035e-05, 2.5308982003480196e-05, 2.0175997633486986e-05, 2.0025006961077452e-05, 1.876795431599021e-05, 1.6965961549431086e-05, 1.6901991330087185e-05], "warm_median_seconds": 2.0025006961077452e-05, "operator_storage_bytes": 20472, "max_error": 4.76837158203125e-07, "residual_norms": [1.2505048791831359e-05], "residual_limits": [0.0037865354945775314], "peak_rss_mib": 62.3359375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.21521283400943503}
{"status": "success", "solver": "csr", "n": 512, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004402208956889808, "first_solve_seconds": 0.00036003702552989125, "warm_seconds": [3.401900175958872e-05, 2.572301309555769e-05, 1.9953004084527493e-05, 1.9391009118407965e-05, 1.8244958482682705e-05, 1.746596535667777e-05, 1.6741978470236063e-05], "warm_median_seconds": 1.9391009118407965e-05, "operator_storage_bytes": 20472, "max_error": 4.76837158203125e-07, "residual_norms": [1.2505048791831359e-05], "residual_limits": [0.0037865354945775314], "peak_rss_mib": 62.1875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.2224412810173817}
{"status": "success", "solver": "banded", "n": 512, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.0039104369934648275, "first_solve_seconds": 0.0002947759930975735, "warm_seconds": [0.00011319899931550026, 9.033799869939685e-05, 7.766502676531672e-05, 7.635797373950481e-05, 7.629598258063197e-05, 6.938999285921454e-05, 6.964098429307342e-05], "warm_median_seconds": 7.635797373950481e-05, "operator_storage_bytes": 6144, "max_error": 4.76837158203125e-07, "residual_norms": [1.2637871503704854e-05], "residual_limits": [0.0037865354945775314], "peak_rss_mib": 61.2109375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.2114752159686759}
{"status": "success", "solver": "banded", "n": 512, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004162355966400355, "first_solve_seconds": 0.0003183690132573247, "warm_seconds": [0.00011002901010215282, 8.881796384230256e-05, 7.986999116837978e-05, 8.090899791568518e-05, 8.267699740827084e-05, 7.506401743739843e-05, 7.270299829542637e-05], "warm_median_seconds": 8.090899791568518e-05, "operator_storage_bytes": 6144, "max_error": 4.76837158203125e-07, "residual_norms": [1.2637871503704854e-05], "residual_limits": [0.0037865354945775314], "peak_rss_mib": 60.9375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.26853347901487723}
{"status": "success", "solver": "banded", "n": 512, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004153251007664949, "first_solve_seconds": 0.00031586800469085574, "warm_seconds": [0.00011537800310179591, 9.048200445249677e-05, 8.284795330837369e-05, 8.00300040282309e-05, 7.71320192143321e-05, 7.137301145121455e-05, 7.134897168725729e-05], "warm_median_seconds": 8.00300040282309e-05, "operator_storage_bytes": 6144, "max_error": 4.76837158203125e-07, "residual_norms": [1.2637871503704854e-05], "residual_limits": [0.0037865354945775314], "peak_rss_mib": 61.09375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.2314838920137845}
{"solver": "gmres", "n": 512, "rhs": 1, "dtype": "float32", "trial": 0, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 3 / 512 (0.586%)\nMismatch at indices:\n [0, 0]: 1.9995867013931274 (ACTUAL), 2.0 (DESIRED)\n [1, 0]: 2.295135974884033 (ACTUAL), 2.295520305633545 (DESIRED)\n [2, 0]: 2.564305543899536 (ACTUAL), 2.5646424293518066 (DESIRED)\nMax absolute difference among violations: 0.0004133\nMax relative difference among violations: 0.00020665\n ACTUAL: array([[1.999587],\n       [2.295136],\n       [2.564306],...\n DESIRED: array([[2.      ],\n       [2.29552 ],\n       [2.564642],...\n"}
{"solver": "gmres", "n": 512, "rhs": 1, "dtype": "float32", "trial": 1, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 3 / 512 (0.586%)\nMismatch at indices:\n [0, 0]: 1.9995867013931274 (ACTUAL), 2.0 (DESIRED)\n [1, 0]: 2.295135974884033 (ACTUAL), 2.295520305633545 (DESIRED)\n [2, 0]: 2.564305543899536 (ACTUAL), 2.5646424293518066 (DESIRED)\nMax absolute difference among violations: 0.0004133\nMax relative difference among violations: 0.00020665\n ACTUAL: array([[1.999587],\n       [2.295136],\n       [2.564306],...\n DESIRED: array([[2.      ],\n       [2.29552 ],\n       [2.564642],...\n"}
{"solver": "gmres", "n": 512, "rhs": 1, "dtype": "float32", "trial": 2, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 3 / 512 (0.586%)\nMismatch at indices:\n [0, 0]: 1.9995867013931274 (ACTUAL), 2.0 (DESIRED)\n [1, 0]: 2.295135974884033 (ACTUAL), 2.295520305633545 (DESIRED)\n [2, 0]: 2.564305543899536 (ACTUAL), 2.5646424293518066 (DESIRED)\nMax absolute difference among violations: 0.0004133\nMax relative difference among violations: 0.00020665\n ACTUAL: array([[1.999587],\n       [2.295136],\n       [2.564306],...\n DESIRED: array([[2.      ],\n       [2.29552 ],\n       [2.564642],...\n"}
{"status": "success", "solver": "gmres-jacobi", "n": 512, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.00461703899782151, "first_solve_seconds": 0.0007510559516958892, "warm_seconds": [0.00044497603084892035, 0.0004042779910378158, 0.0004091460141353309, 0.0003984500071965158, 0.00038671400398015976, 0.0003971309633925557, 0.00039114197716116905], "warm_median_seconds": 0.0003984500071965158, "operator_storage_bytes": 8188, "max_error": 0.00012135505676269531, "residual_norms": [0.000870078201366419], "residual_limits": [0.0037865354945775314], "peak_rss_mib": 60.90625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.23279254202498123}
{"status": "success", "solver": "gmres-jacobi", "n": 512, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.00413398101227358, "first_solve_seconds": 0.0007680900162085891, "warm_seconds": [0.0004468559636734426, 0.0004235079977661371, 0.00041110499296337366, 0.00041225296445190907, 0.0004169690073467791, 0.00042552402010187507, 0.0004349369555711746], "warm_median_seconds": 0.0004235079977661371, "operator_storage_bytes": 8188, "max_error": 0.00012135505676269531, "residual_norms": [0.000870078201366419], "residual_limits": [0.0037865354945775314], "peak_rss_mib": 61.0703125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.21869993495056406}
{"status": "success", "solver": "gmres-jacobi", "n": 512, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004259781970176846, "first_solve_seconds": 0.0008080110419541597, "warm_seconds": [0.0004653169889934361, 0.00043680903036147356, 0.00042716600000858307, 0.00042716501047834754, 0.0005325370002537966, 0.0004643599968403578, 0.00041995698120445013], "warm_median_seconds": 0.00043680903036147356, "operator_storage_bytes": 8188, "max_error": 0.00012135505676269531, "residual_norms": [0.000870078201366419], "residual_limits": [0.0037865354945775314], "peak_rss_mib": 61.16796875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.22237149497959763}
{"status": "success", "solver": "dense", "n": 512, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.006726977007929236, "first_solve_seconds": 0.003915270033758134, "warm_seconds": [0.0030645179795101285, 0.0025946570094674826, 0.0026450789882801473, 0.003118935041129589, 0.0028569339774549007, 0.002596778969746083, 0.002598549996037036], "warm_median_seconds": 0.0026450789882801473, "operator_storage_bytes": 4194304, "max_error": 8.881784197001252e-16, "residual_norms": [2.7459117137511146e-14], "residual_limits": [1.8932677433944857e-08], "peak_rss_mib": 69.484375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.2591603079927154}
{"status": "success", "solver": "dense", "n": 512, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.006192917993757874, "first_solve_seconds": 0.003968026023358107, "warm_seconds": [0.003826628962997347, 0.0031084310030564666, 0.0028923979843966663, 0.0028138060006313026, 0.0029134980286471546, 0.003072755003813654, 0.0029733600094914436], "warm_median_seconds": 0.0029733600094914436, "operator_storage_bytes": 4194304, "max_error": 8.881784197001252e-16, "residual_norms": [2.7459117137511146e-14], "residual_limits": [1.8932677433944857e-08], "peak_rss_mib": 69.40625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.2506457529962063}
{"status": "success", "solver": "dense", "n": 512, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.006012371042743325, "first_solve_seconds": 0.003899214032571763, "warm_seconds": [0.0031555280438624322, 0.003016926988493651, 0.0029405400273390114, 0.002868392039090395, 0.0026554630021564662, 0.0026498300139792264, 0.003002482990268618], "warm_median_seconds": 0.0029405400273390114, "operator_storage_bytes": 4194304, "max_error": 8.881784197001252e-16, "residual_norms": [2.7459117137511146e-14], "residual_limits": [1.8932677433944857e-08], "peak_rss_mib": 69.50390625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.24574710399610922}
{"status": "success", "solver": "csr", "n": 512, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004304098023567349, "first_solve_seconds": 0.00039780099177733064, "warm_seconds": [3.66420135833323e-05, 2.6408990379422903e-05, 2.063601277768612e-05, 2.0453997422009706e-05, 1.9620987586677074e-05, 1.784402411431074e-05, 1.92869920283556e-05], "warm_median_seconds": 2.0453997422009706e-05, "operator_storage_bytes": 28656, "max_error": 1.3322676295501878e-15, "residual_norms": [2.8266897413330158e-14], "residual_limits": [1.8932677433944857e-08], "peak_rss_mib": 62.40625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.22413627500645816}
{"status": "success", "solver": "csr", "n": 512, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004333207034505904, "first_solve_seconds": 0.0003974389983341098, "warm_seconds": [3.4514989238232374e-05, 3.0448019970208406e-05, 2.165097976103425e-05, 2.12379964068532e-05, 1.942197559401393e-05, 1.807801891118288e-05, 1.8084014300256968e-05], "warm_median_seconds": 2.12379964068532e-05, "operator_storage_bytes": 28656, "max_error": 1.3322676295501878e-15, "residual_norms": [2.8266897413330158e-14], "residual_limits": [1.8932677433944857e-08], "peak_rss_mib": 62.16796875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.22990029799984768}
{"status": "success", "solver": "csr", "n": 512, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004209947015624493, "first_solve_seconds": 0.000390652974601835, "warm_seconds": [3.535900032147765e-05, 2.762500662356615e-05, 1.947605051100254e-05, 1.996604260057211e-05, 1.9468017853796482e-05, 1.7643964383751154e-05, 1.693196827545762e-05], "warm_median_seconds": 1.947605051100254e-05, "operator_storage_bytes": 28656, "max_error": 1.3322676295501878e-15, "residual_norms": [2.8266897413330158e-14], "residual_limits": [1.8932677433944857e-08], "peak_rss_mib": 62.27734375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.2351254749810323}
{"status": "success", "solver": "banded", "n": 512, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004563012043945491, "first_solve_seconds": 0.00031592498999089, "warm_seconds": [0.00012216699542477727, 9.251298615708947e-05, 8.448801236227155e-05, 8.312397403642535e-05, 7.982895476743579e-05, 7.39379902370274e-05, 7.365801138803363e-05], "warm_median_seconds": 8.312397403642535e-05, "operator_storage_bytes": 12288, "max_error": 8.881784197001252e-16, "residual_norms": [2.763808740283634e-14], "residual_limits": [1.8932677433944857e-08], "peak_rss_mib": 60.78515625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.2218406909960322}
{"status": "success", "solver": "banded", "n": 512, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.00475618097698316, "first_solve_seconds": 0.0004068790003657341, "warm_seconds": [0.0001088420394808054, 9.095401037484407e-05, 7.934501627460122e-05, 8.001405512914062e-05, 7.486500544473529e-05, 7.228599861264229e-05, 7.510802242904902e-05], "warm_median_seconds": 7.934501627460122e-05, "operator_storage_bytes": 12288, "max_error": 8.881784197001252e-16, "residual_norms": [2.763808740283634e-14], "residual_limits": [1.8932677433944857e-08], "peak_rss_mib": 60.921875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.22598943999037147}
{"status": "success", "solver": "banded", "n": 512, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.0039244869840331376, "first_solve_seconds": 0.0003012689994648099, "warm_seconds": [0.00011830701259896159, 9.62279736995697e-05, 8.225894998759031e-05, 8.206802885979414e-05, 7.887702668085694e-05, 7.349101360887289e-05, 7.625599391758442e-05], "warm_median_seconds": 8.206802885979414e-05, "operator_storage_bytes": 12288, "max_error": 8.881784197001252e-16, "residual_norms": [2.763808740283634e-14], "residual_limits": [1.8932677433944857e-08], "peak_rss_mib": 61.25, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.21559142600744963}
{"status": "success", "solver": "gmres", "n": 512, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.003959149995353073, "first_solve_seconds": 0.0025616600178182125, "warm_seconds": [0.002323797030840069, 0.0022445570211857557, 0.0022518549812957644, 0.0020647909841500223, 0.0020751890260726213, 0.002292999008204788, 0.002179614966735244], "warm_median_seconds": 0.0022445570211857557, "operator_storage_bytes": 12280, "max_error": 2.760989881167575e-09, "residual_norms": [1.5020067986713994e-08], "residual_limits": [1.8932677433944857e-08], "peak_rss_mib": 61.31640625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.23552036000182852}
{"status": "success", "solver": "gmres", "n": 512, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.003856315976008773, "first_solve_seconds": 0.002541938971262425, "warm_seconds": [0.002243891009129584, 0.0020871960441581905, 0.002056822006125003, 0.0020287350052967668, 0.0020555999944917858, 0.002164683013688773, 0.002092941023875028], "warm_median_seconds": 0.0020871960441581905, "operator_storage_bytes": 12280, "max_error": 2.760989881167575e-09, "residual_norms": [1.5020067986713994e-08], "residual_limits": [1.8932677433944857e-08], "peak_rss_mib": 61.18359375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.2307628890266642}
{"status": "success", "solver": "gmres", "n": 512, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.003778792975936085, "first_solve_seconds": 0.0025512150023132563, "warm_seconds": [0.00212236400693655, 0.002050094015430659, 0.0020569220068864524, 0.0021145520149730146, 0.002181897987611592, 0.002063527994323522, 0.002076879027299583], "warm_median_seconds": 0.002076879027299583, "operator_storage_bytes": 12280, "max_error": 2.760989881167575e-09, "residual_norms": [1.5020067986713994e-08], "residual_limits": [1.8932677433944857e-08], "peak_rss_mib": 61.26953125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.23693860496859998}
{"status": "success", "solver": "gmres-jacobi", "n": 512, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.003988469019532204, "first_solve_seconds": 0.0013229760224930942, "warm_seconds": [0.0009357240051031113, 0.0008959880215115845, 0.000926362001337111, 0.0008885510032996535, 0.0008715270087122917, 0.0008741449564695358, 0.0008726310334168375], "warm_median_seconds": 0.0008885510032996535, "operator_storage_bytes": 16376, "max_error": 6.47696341005144e-10, "residual_norms": [6.536192372123527e-09], "residual_limits": [1.8932677433944857e-08], "peak_rss_mib": 61.21484375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.2217868699808605}
{"status": "success", "solver": "gmres-jacobi", "n": 512, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.003995425009634346, "first_solve_seconds": 0.0013082539662718773, "warm_seconds": [0.0009482360328547657, 0.0009136500302702188, 0.0009030320215970278, 0.0008962510037235916, 0.0009020759607665241, 0.0009534459677524865, 0.0009379550465382636], "warm_median_seconds": 0.0009136500302702188, "operator_storage_bytes": 16376, "max_error": 6.47696341005144e-10, "residual_norms": [6.536192372123527e-09], "residual_limits": [1.8932677433944857e-08], "peak_rss_mib": 61.08203125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.21806592197390273}
{"status": "success", "solver": "gmres-jacobi", "n": 512, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.0039053570362739265, "first_solve_seconds": 0.001316489011514932, "warm_seconds": [0.0009682769887149334, 0.0009430270292796195, 0.0009507639915682375, 0.0009413239895366132, 0.0009256039629690349, 0.0009642259683459997, 0.0009701619856059551], "warm_median_seconds": 0.0009507639915682375, "operator_storage_bytes": 16376, "max_error": 6.47696341005144e-10, "residual_norms": [6.536192372123527e-09], "residual_limits": [1.8932677433944857e-08], "peak_rss_mib": 61.19140625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.21954481897410005}
{"status": "success", "solver": "dense", "n": 512, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.005194300028961152, "first_solve_seconds": 0.004749001003801823, "warm_seconds": [0.0037189399590715766, 0.0037263939739204943, 0.004009928030427545, 0.003924997989088297, 0.0037058599991723895, 0.0037598100025206804, 0.0038216630346141756], "warm_median_seconds": 0.0037598100025206804, "operator_storage_bytes": 2097152, "max_error": 4.76837158203125e-07, "residual_norms": [9.363811915710201e-06, 1.0075829796369285e-05, 8.952609708556455e-06, 8.148196931188139e-06], "residual_limits": [0.0037865354945775314, 0.003779831517388523, 0.003743510966110652, 0.003706592736145682], "peak_rss_mib": 69.4140625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.25027877202956006}
{"status": "success", "solver": "dense", "n": 512, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.005316668015439063, "first_solve_seconds": 0.00447094498667866, "warm_seconds": [0.0036197130102664232, 0.0038419869961217046, 0.003822894999757409, 0.0037194460164755583, 0.003601947973947972, 0.003599064948502928, 0.003768178983591497], "warm_median_seconds": 0.0037194460164755583, "operator_storage_bytes": 2097152, "max_error": 4.76837158203125e-07, "residual_norms": [9.363811915710201e-06, 1.0075829796369285e-05, 8.952609708556455e-06, 8.148196931188139e-06], "residual_limits": [0.0037865354945775314, 0.003779831517388523, 0.003743510966110652, 0.003706592736145682], "peak_rss_mib": 69.4296875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.24768958997447044}
{"status": "success", "solver": "dense", "n": 512, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.005278033029753715, "first_solve_seconds": 0.004691592010203749, "warm_seconds": [0.004151115019340068, 0.0040273480117321014, 0.0038198649999685585, 0.0037936129956506193, 0.0036958630080334842, 0.004090650996658951, 0.0038435060414485633], "warm_median_seconds": 0.0038435060414485633, "operator_storage_bytes": 2097152, "max_error": 4.76837158203125e-07, "residual_norms": [9.363811915710201e-06, 1.0075829796369285e-05, 8.952609708556455e-06, 8.148196931188139e-06], "residual_limits": [0.0037865354945775314, 0.003779831517388523, 0.003743510966110652, 0.003706592736145682], "peak_rss_mib": 69.2265625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.2531842720345594}
{"status": "success", "solver": "csr", "n": 512, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.004469756968319416, "first_solve_seconds": 0.0004158660303801298, "warm_seconds": [5.660200258716941e-05, 4.884501686319709e-05, 4.3221982195973396e-05, 4.3101957999169827e-05, 4.2154977563768625e-05, 4.110799636691809e-05, 4.0718994569033384e-05], "warm_median_seconds": 4.3101957999169827e-05, "operator_storage_bytes": 20472, "max_error": 4.76837158203125e-07, "residual_norms": [1.2505048791831359e-05, 1.3853945423002007e-05, 1.315251817897067e-05, 1.1680077279964344e-05], "residual_limits": [0.0037865354945775314, 0.003779831517388523, 0.003743510966110652, 0.003706592736145682], "peak_rss_mib": 62.46875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.22082188300555572}
{"status": "success", "solver": "csr", "n": 512, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.00470218004193157, "first_solve_seconds": 0.0004144409904256463, "warm_seconds": [5.9843005146831274e-05, 4.949700087308884e-05, 4.3876993004232645e-05, 4.453799920156598e-05, 4.361994797363877e-05, 4.1315972339361906e-05, 4.0203973185271025e-05], "warm_median_seconds": 4.3876993004232645e-05, "operator_storage_bytes": 20472, "max_error": 4.76837158203125e-07, "residual_norms": [1.2505048791831359e-05, 1.3853945423002007e-05, 1.315251817897067e-05, 1.1680077279964344e-05], "residual_limits": [0.0037865354945775314, 0.003779831517388523, 0.003743510966110652, 0.003706592736145682], "peak_rss_mib": 62.5, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.2239486559992656}
{"status": "success", "solver": "csr", "n": 512, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.004432437010109425, "first_solve_seconds": 0.00041163305286318064, "warm_seconds": [5.601299926638603e-05, 4.653597716242075e-05, 4.0970975533127785e-05, 4.112295573577285e-05, 4.10540378652513e-05, 3.881496377289295e-05, 3.9647973608225584e-05], "warm_median_seconds": 4.10540378652513e-05, "operator_storage_bytes": 20472, "max_error": 4.76837158203125e-07, "residual_norms": [1.2505048791831359e-05, 1.3853945423002007e-05, 1.315251817897067e-05, 1.1680077279964344e-05], "residual_limits": [0.0037865354945775314, 0.003779831517388523, 0.003743510966110652, 0.003706592736145682], "peak_rss_mib": 62.23046875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.2260386889684014}
{"status": "success", "solver": "banded", "n": 512, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.004233674961142242, "first_solve_seconds": 0.00040234497282654047, "warm_seconds": [0.00016458204481750727, 0.00014059001114219427, 0.00013164395932108164, 0.00013118400238454342, 0.00013311102520674467, 0.0001236309763044119, 0.00012429500930011272], "warm_median_seconds": 0.00013164395932108164, "operator_storage_bytes": 6144, "max_error": 4.76837158203125e-07, "residual_norms": [1.2637871503704854e-05, 1.3863686739937074e-05, 1.3189741598056529e-05, 1.1726825703446342e-05], "residual_limits": [0.0037865354945775314, 0.003779831517388523, 0.003743510966110652, 0.003706592736145682], "peak_rss_mib": 61.15625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.22059946996159852}
{"status": "success", "solver": "banded", "n": 512, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.004781557014212012, "first_solve_seconds": 0.00037556199822574854, "warm_seconds": [0.00018754496704787016, 0.0001553730107843876, 0.0001367749646306038, 0.0001429819967597723, 0.00016086798859760165, 0.0001609619939699769, 0.00015091296518221498], "warm_median_seconds": 0.0001553730107843876, "operator_storage_bytes": 6144, "max_error": 4.76837158203125e-07, "residual_norms": [1.2637871503704854e-05, 1.3863686739937074e-05, 1.3189741598056529e-05, 1.1726825703446342e-05], "residual_limits": [0.0037865354945775314, 0.003779831517388523, 0.003743510966110652, 0.003706592736145682], "peak_rss_mib": 61.015625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.22928541799774393}
{"status": "success", "solver": "banded", "n": 512, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.004167314036749303, "first_solve_seconds": 0.0003838050179183483, "warm_seconds": [0.00017645402112975717, 0.0001397969899699092, 0.0001284320023842156, 0.00012874399544671178, 0.00012348400196060538, 0.0001240459969267249, 0.00012155203148722649], "warm_median_seconds": 0.0001284320023842156, "operator_storage_bytes": 6144, "max_error": 4.76837158203125e-07, "residual_norms": [1.2637871503704854e-05, 1.3863686739937074e-05, 1.3189741598056529e-05, 1.1726825703446342e-05], "residual_limits": [0.0037865354945775314, 0.003779831517388523, 0.003743510966110652, 0.003706592736145682], "peak_rss_mib": 61.08203125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.22686696704477072}
{"solver": "gmres", "n": 512, "rhs": 4, "dtype": "float32", "trial": 0, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 25 / 2048 (1.22%)\nFirst 5 mismatches are at indices:\n [0, 0]: 1.9995867013931274 (ACTUAL), 2.0 (DESIRED)\n [0, 1]: 2.841045618057251 (ACTUAL), 2.841470956802368 (DESIRED)\n [0, 2]: 2.9089176654815674 (ACTUAL), 2.909297466278076 (DESIRED)\n [0, 3]: 2.140742778778076 (ACTUAL), 2.141119956970215 (DESIRED)\n [1, 0]: 2.295135974884033 (ACTUAL), 2.295520305633545 (DESIRED)\nMax absolute difference among violations: 0.00042534\nMax relative difference among violations: 0.00026411\n ACTUAL: array([[1.999587, 2.841046, 2.908918, 2.140743],\n       [2.295136, 2.963163, 2.745345, 1.841889],\n       [2.564306, 2.999229, 2.515175, 1.557134],...\n DESIRED: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n"}
{"solver": "gmres", "n": 512, "rhs": 4, "dtype": "float32", "trial": 1, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 25 / 2048 (1.22%)\nFirst 5 mismatches are at indices:\n [0, 0]: 1.9995867013931274 (ACTUAL), 2.0 (DESIRED)\n [0, 1]: 2.841045618057251 (ACTUAL), 2.841470956802368 (DESIRED)\n [0, 2]: 2.9089176654815674 (ACTUAL), 2.909297466278076 (DESIRED)\n [0, 3]: 2.140742778778076 (ACTUAL), 2.141119956970215 (DESIRED)\n [1, 0]: 2.295135974884033 (ACTUAL), 2.295520305633545 (DESIRED)\nMax absolute difference among violations: 0.00042534\nMax relative difference among violations: 0.00026411\n ACTUAL: array([[1.999587, 2.841046, 2.908918, 2.140743],\n       [2.295136, 2.963163, 2.745345, 1.841889],\n       [2.564306, 2.999229, 2.515175, 1.557134],...\n DESIRED: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n"}
{"solver": "gmres", "n": 512, "rhs": 4, "dtype": "float32", "trial": 2, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 25 / 2048 (1.22%)\nFirst 5 mismatches are at indices:\n [0, 0]: 1.9995867013931274 (ACTUAL), 2.0 (DESIRED)\n [0, 1]: 2.841045618057251 (ACTUAL), 2.841470956802368 (DESIRED)\n [0, 2]: 2.9089176654815674 (ACTUAL), 2.909297466278076 (DESIRED)\n [0, 3]: 2.140742778778076 (ACTUAL), 2.141119956970215 (DESIRED)\n [1, 0]: 2.295135974884033 (ACTUAL), 2.295520305633545 (DESIRED)\nMax absolute difference among violations: 0.00042534\nMax relative difference among violations: 0.00026411\n ACTUAL: array([[1.999587, 2.841046, 2.908918, 2.140743],\n       [2.295136, 2.963163, 2.745345, 1.841889],\n       [2.564306, 2.999229, 2.515175, 1.557134],...\n DESIRED: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n"}
{"solver": "gmres-jacobi", "n": 512, "rhs": 4, "dtype": "float32", "trial": 0, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 1 / 2048 (0.0488%)\nMismatch at index:\n [4, 3]: 1.1282836198806763 (ACTUAL), 1.1284242868423462 (DESIRED)\nMax absolute difference among violations: 0.00014067\nMax relative difference among violations: 0.00012466\n ACTUAL: array([[2.000082, 2.841559, 2.909375, 2.1412  ],\n       [2.295469, 2.963512, 2.745665, 1.842201],\n       [2.564594, 2.999545, 2.515484, 1.557442],...\n DESIRED: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n"}
{"solver": "gmres-jacobi", "n": 512, "rhs": 4, "dtype": "float32", "trial": 1, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 1 / 2048 (0.0488%)\nMismatch at index:\n [4, 3]: 1.1282836198806763 (ACTUAL), 1.1284242868423462 (DESIRED)\nMax absolute difference among violations: 0.00014067\nMax relative difference among violations: 0.00012466\n ACTUAL: array([[2.000082, 2.841559, 2.909375, 2.1412  ],\n       [2.295469, 2.963512, 2.745665, 1.842201],\n       [2.564594, 2.999545, 2.515484, 1.557442],...\n DESIRED: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n"}
{"solver": "gmres-jacobi", "n": 512, "rhs": 4, "dtype": "float32", "trial": 2, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 1 / 2048 (0.0488%)\nMismatch at index:\n [4, 3]: 1.1282836198806763 (ACTUAL), 1.1284242868423462 (DESIRED)\nMax absolute difference among violations: 0.00014067\nMax relative difference among violations: 0.00012466\n ACTUAL: array([[2.000082, 2.841559, 2.909375, 2.1412  ],\n       [2.295469, 2.963512, 2.745665, 1.842201],\n       [2.564594, 2.999545, 2.515484, 1.557442],...\n DESIRED: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n"}
{"status": "success", "solver": "dense", "n": 512, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.006131492031272501, "first_solve_seconds": 0.004161780001595616, "warm_seconds": [0.0035908499849028885, 0.0031954890000633895, 0.002999474003445357, 0.00289520196383819, 0.0030327410204336047, 0.0031953679863363504, 0.0028962589567527175], "warm_median_seconds": 0.0030327410204336047, "operator_storage_bytes": 4194304, "max_error": 8.881784197001252e-16, "residual_norms": [2.726631803827255e-14, 2.5635335727383775e-14, 2.796440015639356e-14, 2.442591581455988e-14], "residual_limits": [1.8932677433944857e-08, 1.88991575400399e-08, 1.8717554886836355e-08, 1.8532963671875685e-08], "peak_rss_mib": 69.73828125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.255978083005175}
{"status": "success", "solver": "dense", "n": 512, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.006043441011570394, "first_solve_seconds": 0.00432480702875182, "warm_seconds": [0.0037551060086116195, 0.0029751030378974974, 0.0028581669903360307, 0.002961115969810635, 0.0030656129820272326, 0.0035780700272880495, 0.0030066589824855328], "warm_median_seconds": 0.0030066589824855328, "operator_storage_bytes": 4194304, "max_error": 8.881784197001252e-16, "residual_norms": [2.726631803827255e-14, 2.5635335727383775e-14, 2.796440015639356e-14, 2.442591581455988e-14], "residual_limits": [1.8932677433944857e-08, 1.88991575400399e-08, 1.8717554886836355e-08, 1.8532963671875685e-08], "peak_rss_mib": 69.66796875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.2665421020356007}
{"status": "success", "solver": "dense", "n": 512, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.006545519980136305, "first_solve_seconds": 0.004176490008831024, "warm_seconds": [0.0035725340130738914, 0.003440042957663536, 0.0033425400033593178, 0.0032061170204542577, 0.0031158129568211734, 0.003005379985552281, 0.0034037139848805964], "warm_median_seconds": 0.0033425400033593178, "operator_storage_bytes": 4194304, "max_error": 8.881784197001252e-16, "residual_norms": [2.726631803827255e-14, 2.5635335727383775e-14, 2.796440015639356e-14, 2.442591581455988e-14], "residual_limits": [1.8932677433944857e-08, 1.88991575400399e-08, 1.8717554886836355e-08, 1.8532963671875685e-08], "peak_rss_mib": 69.7578125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.25598490703850985}
{"status": "success", "solver": "csr", "n": 512, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.004598955041728914, "first_solve_seconds": 0.0004484649980440736, "warm_seconds": [6.387598114088178e-05, 5.157198756933212e-05, 4.684203304350376e-05, 4.55170520581305e-05, 4.528101999312639e-05, 4.4549000449478626e-05, 5.6397984735667706e-05], "warm_median_seconds": 4.684203304350376e-05, "operator_storage_bytes": 28656, "max_error": 1.3322676295501878e-15, "residual_norms": [2.8266897413330158e-14, 2.5381164999387017e-14, 2.6258593545156617e-14, 2.264310677860001e-14], "residual_limits": [1.8932677433944857e-08, 1.88991575400399e-08, 1.8717554886836355e-08, 1.8532963671875685e-08], "peak_rss_mib": 62.203125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.23091983800986782}
{"status": "success", "solver": "csr", "n": 512, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.004494849010370672, "first_solve_seconds": 0.00044151698239147663, "warm_seconds": [5.9813959524035454e-05, 5.1106035243719816e-05, 4.588998854160309e-05, 4.506896948441863e-05, 4.5644002966582775e-05, 4.716700641438365e-05, 4.4155982322990894e-05], "warm_median_seconds": 4.588998854160309e-05, "operator_storage_bytes": 28656, "max_error": 1.3322676295501878e-15, "residual_norms": [2.8266897413330158e-14, 2.5381164999387017e-14, 2.6258593545156617e-14, 2.264310677860001e-14], "residual_limits": [1.8932677433944857e-08, 1.88991575400399e-08, 1.8717554886836355e-08, 1.8532963671875685e-08], "peak_rss_mib": 62.375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.22394676500698552}
{"status": "success", "solver": "csr", "n": 512, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.00469649099977687, "first_solve_seconds": 0.0004577680374495685, "warm_seconds": [6.335304351523519e-05, 5.360203795135021e-05, 4.7963985707610846e-05, 4.657101817429066e-05, 4.5915949158370495e-05, 4.6127999667078257e-05, 4.416500451043248e-05], "warm_median_seconds": 4.657101817429066e-05, "operator_storage_bytes": 28656, "max_error": 1.3322676295501878e-15, "residual_norms": [2.8266897413330158e-14, 2.5381164999387017e-14, 2.6258593545156617e-14, 2.264310677860001e-14], "residual_limits": [1.8932677433944857e-08, 1.88991575400399e-08, 1.8717554886836355e-08, 1.8532963671875685e-08], "peak_rss_mib": 62.44921875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.2288389719906263}
{"status": "success", "solver": "banded", "n": 512, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.004502826021052897, "first_solve_seconds": 0.00043265102431178093, "warm_seconds": [0.00018128100782632828, 0.0001493319869041443, 0.00013824703637510538, 0.0001365200150758028, 0.00013087905244901776, 0.00012958497973158956, 0.00013279903214424849], "warm_median_seconds": 0.0001365200150758028, "operator_storage_bytes": 12288, "max_error": 8.881784197001252e-16, "residual_norms": [2.763808740283634e-14, 2.5688171348256313e-14, 2.603798464226606e-14, 2.2392403017119562e-14], "residual_limits": [1.8932677433944857e-08, 1.88991575400399e-08, 1.8717554886836355e-08, 1.8532963671875685e-08], "peak_rss_mib": 61.2890625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.23481876199366525}
{"status": "success", "solver": "banded", "n": 512, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.004089579044375569, "first_solve_seconds": 0.00038072001188993454, "warm_seconds": [0.00017265998758375645, 0.00015235395403578877, 0.00015071401139721274, 0.00015222502406686544, 0.0001358920126222074, 0.00012895098188892007, 0.0001307910424657166], "warm_median_seconds": 0.00015071401139721274, "operator_storage_bytes": 12288, "max_error": 8.881784197001252e-16, "residual_norms": [2.763808740283634e-14, 2.5688171348256313e-14, 2.603798464226606e-14, 2.2392403017119562e-14], "residual_limits": [1.8932677433944857e-08, 1.88991575400399e-08, 1.8717554886836355e-08, 1.8532963671875685e-08], "peak_rss_mib": 61.23046875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.23366141901351511}
{"status": "success", "solver": "banded", "n": 512, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.005386150965932757, "first_solve_seconds": 0.0006517370347864926, "warm_seconds": [0.00020200404105708003, 0.00016818399308249354, 0.00015640200581401587, 0.00017009099246934056, 0.00015595601871609688, 0.00014614500105381012, 0.000150020990986377], "warm_median_seconds": 0.00015640200581401587, "operator_storage_bytes": 12288, "max_error": 8.881784197001252e-16, "residual_norms": [2.763808740283634e-14, 2.5688171348256313e-14, 2.603798464226606e-14, 2.2392403017119562e-14], "residual_limits": [1.8932677433944857e-08, 1.88991575400399e-08, 1.8717554886836355e-08, 1.8532963671875685e-08], "peak_rss_mib": 61.06640625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.2795879449695349}
{"status": "success", "solver": "gmres", "n": 512, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.004251453967299312, "first_solve_seconds": 0.00871844298671931, "warm_seconds": [0.00880042597418651, 0.008122225990518928, 0.008412508992478251, 0.008159428020007908, 0.008903776004444808, 0.008673744043335319, 0.009012540976982564], "warm_median_seconds": 0.008673744043335319, "operator_storage_bytes": 12280, "max_error": 3.313628038625893e-09, "residual_norms": [1.5020067986713994e-08, 1.4938147372550215e-08, 1.4201191715190352e-08, 1.5970792990907503e-08], "residual_limits": [1.8932677433944857e-08, 1.88991575400399e-08, 1.8717554886836355e-08, 1.8532963671875685e-08], "peak_rss_mib": 60.94921875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.3341349649708718}
{"status": "success", "solver": "gmres", "n": 512, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.003985262999776751, "first_solve_seconds": 0.009282865037675947, "warm_seconds": [0.008718130993656814, 0.008797419024631381, 0.008531896979548037, 0.008957432000897825, 0.008488366031087935, 0.008789358020294458, 0.009055808011908084], "warm_median_seconds": 0.008789358020294458, "operator_storage_bytes": 12280, "max_error": 3.313628038625893e-09, "residual_norms": [1.5020067986713994e-08, 1.4938147372550215e-08, 1.4201191715190352e-08, 1.5970792990907503e-08], "residual_limits": [1.8932677433944857e-08, 1.88991575400399e-08, 1.8717554886836355e-08, 1.8532963671875685e-08], "peak_rss_mib": 61.30078125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.29437665501609445}
{"status": "success", "solver": "gmres", "n": 512, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.004221104027237743, "first_solve_seconds": 0.00891567295184359, "warm_seconds": [0.008639066014438868, 0.008264894015155733, 0.008451270987279713, 0.008302406989969313, 0.008530961989890784, 0.00841839099302888, 0.008681187988258898], "warm_median_seconds": 0.008451270987279713, "operator_storage_bytes": 12280, "max_error": 3.313628038625893e-09, "residual_norms": [1.5020067986713994e-08, 1.4938147372550215e-08, 1.4201191715190352e-08, 1.5970792990907503e-08], "residual_limits": [1.8932677433944857e-08, 1.88991575400399e-08, 1.8717554886836355e-08, 1.8532963671875685e-08], "peak_rss_mib": 61.19140625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.2864911640062928}
{"status": "success", "solver": "gmres-jacobi", "n": 512, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.0040672189788892865, "first_solve_seconds": 0.003770290990360081, "warm_seconds": [0.0035547949955798686, 0.0035176429664716125, 0.0033809649758040905, 0.0033198200399056077, 0.0033229960245080292, 0.0034441740135662258, 0.0036012769560329616], "warm_median_seconds": 0.0034441740135662258, "operator_storage_bytes": 16376, "max_error": 8.081597613340818e-10, "residual_norms": [6.536192372123527e-09, 7.78086129421583e-09, 7.4465817605701005e-09, 7.830095196257163e-09], "residual_limits": [1.8932677433944857e-08, 1.88991575400399e-08, 1.8717554886836355e-08, 1.8532963671875685e-08], "peak_rss_mib": 61.1796875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.24921104294480756}
{"status": "success", "solver": "gmres-jacobi", "n": 512, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.004166604019701481, "first_solve_seconds": 0.0038515609921887517, "warm_seconds": [0.0037211020244285464, 0.003504640015307814, 0.0034546590177342296, 0.003417057974729687, 0.0032911880407482386, 0.0033926450414583087, 0.0035481389495544136], "warm_median_seconds": 0.0034546590177342296, "operator_storage_bytes": 16376, "max_error": 8.081597613340818e-10, "residual_norms": [6.536192372123527e-09, 7.78086129421583e-09, 7.4465817605701005e-09, 7.830095196257163e-09], "residual_limits": [1.8932677433944857e-08, 1.88991575400399e-08, 1.8717554886836355e-08, 1.8532963671875685e-08], "peak_rss_mib": 61.28515625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.24448254599701613}
{"status": "success", "solver": "gmres-jacobi", "n": 512, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.004363010986708105, "first_solve_seconds": 0.0038249059580266476, "warm_seconds": [0.0034046999644488096, 0.0034272389602847397, 0.003398236003704369, 0.0033388030133210123, 0.003297210030723363, 0.003465832967776805, 0.003678229986689985], "warm_median_seconds": 0.0034046999644488096, "operator_storage_bytes": 16376, "max_error": 8.081597613340818e-10, "residual_norms": [6.536192372123527e-09, 7.78086129421583e-09, 7.4465817605701005e-09, 7.830095196257163e-09], "residual_limits": [1.8932677433944857e-08, 1.88991575400399e-08, 1.8717554886836355e-08, 1.8532963671875685e-08], "peak_rss_mib": 61.34375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.24880163901252672}
{"status": "success", "solver": "dense", "n": 2048, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.014122024003881961, "first_solve_seconds": 0.20098859298741445, "warm_seconds": [0.1940336069674231, 0.1916744260233827, 0.19299075903836638, 0.19456048298161477, 0.19159347895765677, 0.1982467569760047, 0.1984201820450835], "warm_median_seconds": 0.1940336069674231, "operator_storage_bytes": 33554432, "max_error": 2.384185791015625e-07, "residual_norms": [1.9611015115775896e-05], "residual_limits": [0.007477712016941039], "peak_rss_mib": 162.77734375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 1.805348209978547}
{"status": "success", "solver": "dense", "n": 2048, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.013209194992668927, "first_solve_seconds": 0.24674429703736678, "warm_seconds": [0.2039793930016458, 0.1962400790071115, 0.19728149403817952, 0.19160156702855602, 0.19186215195804834, 0.19047409197082743, 0.1914497609832324], "warm_median_seconds": 0.19186215195804834, "operator_storage_bytes": 33554432, "max_error": 2.384185791015625e-07, "residual_norms": [1.9611015115775896e-05], "residual_limits": [0.007477712016941039], "peak_rss_mib": 162.58984375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 1.8498020800179802}
{"status": "success", "solver": "dense", "n": 2048, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.012486599967814982, "first_solve_seconds": 0.19270378502551466, "warm_seconds": [0.20768951100762933, 0.19410398497711867, 0.19065482704900205, 0.1928975079790689, 0.2188583659590222, 0.25455830397550017, 0.2548370040021837], "warm_median_seconds": 0.20768951100762933, "operator_storage_bytes": 33554432, "max_error": 2.384185791015625e-07, "residual_norms": [1.9611015115775896e-05], "residual_limits": [0.007477712016941039], "peak_rss_mib": 162.58203125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 1.953476649010554}
{"status": "success", "solver": "csr", "n": 2048, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.008076140016783029, "first_solve_seconds": 0.0011884149862453341, "warm_seconds": [9.451195364817977e-05, 6.820401176810265e-05, 6.17379555478692e-05, 6.010499782860279e-05, 5.885603604838252e-05, 5.764700472354889e-05, 5.6774006225168705e-05], "warm_median_seconds": 6.010499782860279e-05, "operator_storage_bytes": 81912, "max_error": 4.76837158203125e-07, "residual_norms": [2.5505565059639057e-05], "residual_limits": [0.007477712016941039], "peak_rss_mib": 62.26953125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.33215154201025143}
{"status": "success", "solver": "csr", "n": 2048, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.007775931968353689, "first_solve_seconds": 0.0012632550206035376, "warm_seconds": [0.00012273399624973536, 7.570197340101004e-05, 6.515200948342681e-05, 6.199401104822755e-05, 6.0605001635849476e-05, 6.021599983796477e-05, 5.7680997997522354e-05], "warm_median_seconds": 6.199401104822755e-05, "operator_storage_bytes": 81912, "max_error": 4.76837158203125e-07, "residual_norms": [2.5505565059639057e-05], "residual_limits": [0.007477712016941039], "peak_rss_mib": 62.5703125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.3225038350210525}
{"status": "success", "solver": "csr", "n": 2048, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.007722979004029185, "first_solve_seconds": 0.0012397529790177941, "warm_seconds": [0.0001110740122385323, 8.699099998921156e-05, 7.073901360854506e-05, 6.402703002095222e-05, 6.26110122539103e-05, 6.10299757681787e-05, 5.8952951803803444e-05], "warm_median_seconds": 6.402703002095222e-05, "operator_storage_bytes": 81912, "max_error": 4.76837158203125e-07, "residual_norms": [2.5505565059639057e-05], "residual_limits": [0.007477712016941039], "peak_rss_mib": 62.92578125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.38592957600485533}
{"status": "success", "solver": "banded", "n": 2048, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.006447669991757721, "first_solve_seconds": 0.00068583496613428, "warm_seconds": [0.0003444970352575183, 0.0002601550077088177, 0.00024332397151738405, 0.00024823599960654974, 0.0002484139986336231, 0.00023470900487154722, 0.0002392960013821721], "warm_median_seconds": 0.00024823599960654974, "operator_storage_bytes": 24576, "max_error": 4.76837158203125e-07, "residual_norms": [2.5328046830881528e-05], "residual_limits": [0.007477712016941039], "peak_rss_mib": 61.296875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.3735364769818261}
{"status": "success", "solver": "banded", "n": 2048, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.008080744999460876, "first_solve_seconds": 0.0007083950331434608, "warm_seconds": [0.0003808779874816537, 0.00027619098545983434, 0.00024971499806270003, 0.0002469430328346789, 0.00023660098668187857, 0.00022615003399550915, 0.00023134297225624323], "warm_median_seconds": 0.0002469430328346789, "operator_storage_bytes": 24576, "max_error": 4.76837158203125e-07, "residual_norms": [2.5328046830881528e-05], "residual_limits": [0.007477712016941039], "peak_rss_mib": 61.3671875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.40631290298188105}
{"status": "success", "solver": "banded", "n": 2048, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.007943486969452351, "first_solve_seconds": 0.0006645420216955245, "warm_seconds": [0.00036505196476355195, 0.0002935220254585147, 0.0002731580170802772, 0.0002883010311052203, 0.00026644597528502345, 0.00025296001695096493, 0.000266638002358377], "warm_median_seconds": 0.0002731580170802772, "operator_storage_bytes": 24576, "max_error": 4.76837158203125e-07, "residual_norms": [2.5328046830881528e-05], "residual_limits": [0.007477712016941039], "peak_rss_mib": 61.2421875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.4401740289758891}
{"solver": "gmres", "n": 2048, "rhs": 1, "dtype": "float32", "trial": 0, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 20 / 2048 (0.977%)\nFirst 5 mismatches are at indices:\n [0, 0]: 1.9995238780975342 (ACTUAL), 2.0 (DESIRED)\n [1, 0]: 2.2950546741485596 (ACTUAL), 2.295520305633545 (DESIRED)\n [2, 0]: 2.5641956329345703 (ACTUAL), 2.5646424293518066 (DESIRED)\n [3, 0]: 2.782904624938965 (ACTUAL), 2.7833268642425537 (DESIRED)\n [4, 0]: 2.9316399097442627 (ACTUAL), 2.9320390224456787 (DESIRED)\nMax absolute difference among violations: 0.00047612\nMax relative difference among violations: 0.00023806\n ACTUAL: array([[1.999524],\n       [2.295055],\n       [2.564196],...\n DESIRED: array([[2.      ],\n       [2.29552 ],\n       [2.564642],...\n"}
{"solver": "gmres", "n": 2048, "rhs": 1, "dtype": "float32", "trial": 1, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 20 / 2048 (0.977%)\nFirst 5 mismatches are at indices:\n [0, 0]: 1.9995238780975342 (ACTUAL), 2.0 (DESIRED)\n [1, 0]: 2.2950546741485596 (ACTUAL), 2.295520305633545 (DESIRED)\n [2, 0]: 2.5641956329345703 (ACTUAL), 2.5646424293518066 (DESIRED)\n [3, 0]: 2.782904624938965 (ACTUAL), 2.7833268642425537 (DESIRED)\n [4, 0]: 2.9316399097442627 (ACTUAL), 2.9320390224456787 (DESIRED)\nMax absolute difference among violations: 0.00047612\nMax relative difference among violations: 0.00023806\n ACTUAL: array([[1.999524],\n       [2.295055],\n       [2.564196],...\n DESIRED: array([[2.      ],\n       [2.29552 ],\n       [2.564642],...\n"}
{"solver": "gmres", "n": 2048, "rhs": 1, "dtype": "float32", "trial": 2, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 20 / 2048 (0.977%)\nFirst 5 mismatches are at indices:\n [0, 0]: 1.9995238780975342 (ACTUAL), 2.0 (DESIRED)\n [1, 0]: 2.2950546741485596 (ACTUAL), 2.295520305633545 (DESIRED)\n [2, 0]: 2.5641956329345703 (ACTUAL), 2.5646424293518066 (DESIRED)\n [3, 0]: 2.782904624938965 (ACTUAL), 2.7833268642425537 (DESIRED)\n [4, 0]: 2.9316399097442627 (ACTUAL), 2.9320390224456787 (DESIRED)\nMax absolute difference among violations: 0.00047612\nMax relative difference among violations: 0.00023806\n ACTUAL: array([[1.999524],\n       [2.295055],\n       [2.564196],...\n DESIRED: array([[2.      ],\n       [2.29552 ],\n       [2.564642],...\n"}
{"status": "success", "solver": "gmres-jacobi", "n": 2048, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.006667962996289134, "first_solve_seconds": 0.0016043370123952627, "warm_seconds": [0.001103067013900727, 0.0010314740356989205, 0.0009729470475576818, 0.0010338890133425593, 0.000987227016594261, 0.0009996159933507442, 0.0009800500120036304], "warm_median_seconds": 0.0009996159933507442, "operator_storage_bytes": 32764, "max_error": 0.00017714500427246094, "residual_norms": [0.0012864370288899701], "residual_limits": [0.007477712016941039], "peak_rss_mib": 61.1171875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.3616613080375828}
{"status": "success", "solver": "gmres-jacobi", "n": 2048, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004595218051690608, "first_solve_seconds": 0.0010091839940287173, "warm_seconds": [0.0005974990199320018, 0.0005521929706446826, 0.0005547990440391004, 0.0005317420000210404, 0.000526517047546804, 0.0005174090038053691, 0.0005374210304580629], "warm_median_seconds": 0.0005374210304580629, "operator_storage_bytes": 32764, "max_error": 0.00017714500427246094, "residual_norms": [0.0012864370288899701], "residual_limits": [0.007477712016941039], "peak_rss_mib": 60.92578125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.3179144710302353}
{"status": "success", "solver": "gmres-jacobi", "n": 2048, "rhs": 1, "dtype": "float32", "preparation_seconds": 0.004173921013716608, "first_solve_seconds": 0.0008931340416893363, "warm_seconds": [0.0005465340218506753, 0.0006555140134878457, 0.0005473449709825218, 0.0005243780324235559, 0.0005228579975664616, 0.0005083279684185982, 0.000491425977088511], "warm_median_seconds": 0.0005243780324235559, "operator_storage_bytes": 32764, "max_error": 0.00017714500427246094, "residual_norms": [0.0012864370288899701], "residual_limits": [0.007477712016941039], "peak_rss_mib": 60.9609375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.24743910098914057}
{"status": "success", "solver": "dense", "n": 2048, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.021144717000424862, "first_solve_seconds": 0.1943606180138886, "warm_seconds": [0.19421266799326986, 0.18674304598243907, 0.18943509203381836, 0.18788519501686096, 0.1875253530452028, 0.19230476598022506, 0.1976483900216408], "warm_median_seconds": 0.18943509203381836, "operator_storage_bytes": 67108864, "max_error": 8.881784197001252e-16, "residual_norms": [4.9090064982459624e-14], "residual_limits": [3.738856007220536e-08], "peak_rss_mib": 161.390625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 1.7841043160296977}
{"status": "success", "solver": "dense", "n": 2048, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.04274423699826002, "first_solve_seconds": 0.20188498799689114, "warm_seconds": [0.19729535200167447, 0.2000211370177567, 0.19190012197941542, 0.19657977600581944, 0.19713700201828033, 0.19919484300771728, 0.20563077402766794], "warm_median_seconds": 0.19729535200167447, "operator_storage_bytes": 67108864, "max_error": 8.881784197001252e-16, "residual_norms": [4.9090064982459624e-14], "residual_limits": [3.738856007220536e-08], "peak_rss_mib": 161.15625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 1.8846764680347405}
{"status": "success", "solver": "dense", "n": 2048, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.03338181402068585, "first_solve_seconds": 0.2075104009709321, "warm_seconds": [0.22889958001906052, 0.21008869598153979, 0.1950413350132294, 0.2218209360144101, 0.18776376795722172, 0.1897606540005654, 0.20533261896343902], "warm_median_seconds": 0.20533261896343902, "operator_storage_bytes": 67108864, "max_error": 8.881784197001252e-16, "residual_norms": [4.9090064982459624e-14], "residual_limits": [3.738856007220536e-08], "peak_rss_mib": 161.0390625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 1.9398525090073235}
{"status": "success", "solver": "csr", "n": 2048, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004326624039094895, "first_solve_seconds": 0.0008681910112500191, "warm_seconds": [5.7608995120972395e-05, 4.2490020859986544e-05, 3.648601705208421e-05, 3.706500865519047e-05, 3.689998993650079e-05, 3.516301512718201e-05, 3.462197491899133e-05], "warm_median_seconds": 3.689998993650079e-05, "operator_storage_bytes": 114672, "max_error": 8.881784197001252e-16, "residual_norms": [4.898537498338244e-14], "residual_limits": [3.738856007220536e-08], "peak_rss_mib": 62.71484375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.22941596404416487}
{"status": "success", "solver": "csr", "n": 2048, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004694444010965526, "first_solve_seconds": 0.0009194089798256755, "warm_seconds": [5.948200123384595e-05, 4.442298086360097e-05, 3.7946971133351326e-05, 3.813504008576274e-05, 3.679801011458039e-05, 3.571400884538889e-05, 3.430899232625961e-05], "warm_median_seconds": 3.7946971133351326e-05, "operator_storage_bytes": 114672, "max_error": 8.881784197001252e-16, "residual_norms": [4.898537498338244e-14], "residual_limits": [3.738856007220536e-08], "peak_rss_mib": 62.85546875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.23074084997642785}
{"status": "success", "solver": "csr", "n": 2048, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.0044404860236682, "first_solve_seconds": 0.0010317019768990576, "warm_seconds": [5.80810010433197e-05, 4.3508014641702175e-05, 3.849499626085162e-05, 3.7416000850498676e-05, 3.697705687955022e-05, 3.509898670017719e-05, 3.51310009136796e-05], "warm_median_seconds": 3.7416000850498676e-05, "operator_storage_bytes": 114672, "max_error": 8.881784197001252e-16, "residual_norms": [4.898537498338244e-14], "residual_limits": [3.738856007220536e-08], "peak_rss_mib": 62.6484375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.23739092302275822}
{"status": "success", "solver": "banded", "n": 2048, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004451301007065922, "first_solve_seconds": 0.0004172310000285506, "warm_seconds": [0.0001845689839683473, 0.00015815097140148282, 0.0001500910148024559, 0.00014407100388780236, 0.00014125998131930828, 0.00013641599798575044, 0.00013960996875539422], "warm_median_seconds": 0.00014407100388780236, "operator_storage_bytes": 49152, "max_error": 8.881784197001252e-16, "residual_norms": [4.891738901837246e-14], "residual_limits": [3.738856007220536e-08], "peak_rss_mib": 61.33203125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.2391150549519807}
{"status": "success", "solver": "banded", "n": 2048, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.0055243270471692085, "first_solve_seconds": 0.00040002900641411543, "warm_seconds": [0.0001801180187612772, 0.00015911401715129614, 0.00014770397683605552, 0.00014748802641406655, 0.00014157197438180447, 0.000147483020555228, 0.0001389369717799127], "warm_median_seconds": 0.00014748802641406655, "operator_storage_bytes": 49152, "max_error": 8.881784197001252e-16, "residual_norms": [4.891738901837246e-14], "residual_limits": [3.738856007220536e-08], "peak_rss_mib": 61.19140625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.2388008360285312}
{"status": "success", "solver": "banded", "n": 2048, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004868814023211598, "first_solve_seconds": 0.00041465600952506065, "warm_seconds": [0.0001854900037869811, 0.00016261503333225846, 0.00014347501564770937, 0.0001430360134691, 0.00013881397899240255, 0.00013633299386128783, 0.00013863597996532917], "warm_median_seconds": 0.0001430360134691, "operator_storage_bytes": 49152, "max_error": 8.881784197001252e-16, "residual_norms": [4.891738901837246e-14], "residual_limits": [3.738856007220536e-08], "peak_rss_mib": 61.0390625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.2398081129649654}
{"status": "success", "solver": "gmres", "n": 2048, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004437981988303363, "first_solve_seconds": 0.0031261640251614153, "warm_seconds": [0.002672353992238641, 0.002643302024807781, 0.002583788998890668, 0.002751498017460108, 0.003024690959136933, 0.0026467330171726644, 0.0026622499572113156], "warm_median_seconds": 0.0026622499572113156, "operator_storage_bytes": 49144, "max_error": 4.000993092390104e-09, "residual_norms": [3.1825918811687404e-08], "residual_limits": [3.738856007220536e-08], "peak_rss_mib": 61.48046875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.2694470420246944}
{"status": "success", "solver": "gmres", "n": 2048, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004181381955277175, "first_solve_seconds": 0.0033082430018112063, "warm_seconds": [0.0028479669708758593, 0.0026650549843907356, 0.0026209820061922073, 0.002634438977111131, 0.0025994579773396254, 0.002862940018530935, 0.002867590985260904], "warm_median_seconds": 0.0026650549843907356, "operator_storage_bytes": 49144, "max_error": 4.000993092390104e-09, "residual_norms": [3.1825918811687404e-08], "residual_limits": [3.738856007220536e-08], "peak_rss_mib": 61.47265625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.2555911139934324}
{"status": "success", "solver": "gmres", "n": 2048, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004267754964530468, "first_solve_seconds": 0.0031612670281901956, "warm_seconds": [0.002653922012541443, 0.0026328060193918645, 0.0026650550425983965, 0.0026080469833686948, 0.002741312957368791, 0.002811857033520937, 0.0026334190042689443], "warm_median_seconds": 0.002653922012541443, "operator_storage_bytes": 49144, "max_error": 4.000993092390104e-09, "residual_norms": [3.1825918811687404e-08], "residual_limits": [3.738856007220536e-08], "peak_rss_mib": 61.58984375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.24761695897905156}
{"status": "success", "solver": "gmres-jacobi", "n": 2048, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.0046854710089974105, "first_solve_seconds": 0.0016450389521196485, "warm_seconds": [0.0012065860209986567, 0.0011486050207167864, 0.001137432991527021, 0.0011885309941135347, 0.0012085020425729454, 0.0011383490054868162, 0.0011178410495631397], "warm_median_seconds": 0.0011486050207167864, "operator_storage_bytes": 65528, "max_error": 1.0128946570375774e-09, "residual_norms": [8.990506649628212e-09], "residual_limits": [3.738856007220536e-08], "peak_rss_mib": 61.359375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.2401669709943235}
{"status": "success", "solver": "gmres-jacobi", "n": 2048, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004107184999156743, "first_solve_seconds": 0.0015765320276841521, "warm_seconds": [0.0011973799555562437, 0.001347472018096596, 0.001282788987737149, 0.0011716189910657704, 0.0011474799830466509, 0.0011324490187689662, 0.001111765974201262], "warm_median_seconds": 0.0011716189910657704, "operator_storage_bytes": 65528, "max_error": 1.0128946570375774e-09, "residual_norms": [8.990506649628212e-09], "residual_limits": [3.738856007220536e-08], "peak_rss_mib": 61.54296875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.23669718799646944}
{"status": "success", "solver": "gmres-jacobi", "n": 2048, "rhs": 1, "dtype": "float64", "preparation_seconds": 0.004315709986258298, "first_solve_seconds": 0.0017052070470526814, "warm_seconds": [0.0012158430181443691, 0.0011515080113895237, 0.0011362569639459252, 0.0011349499691277742, 0.0011332100257277489, 0.0011562390136532485, 0.001128238975070417], "warm_median_seconds": 0.0011362569639459252, "operator_storage_bytes": 65528, "max_error": 1.0128946570375774e-09, "residual_norms": [8.990506649628212e-09], "residual_limits": [3.738856007220536e-08], "peak_rss_mib": 61.48828125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.2419566239695996}
{"status": "success", "solver": "dense", "n": 2048, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.013278904021717608, "first_solve_seconds": 0.22711435600649565, "warm_seconds": [0.19623511604731902, 0.19727742997929454, 0.19855033204657957, 0.2073661460308358, 0.19478443096159026, 0.20646907499758527, 0.19883366604335606], "warm_median_seconds": 0.19855033204657957, "operator_storage_bytes": 33554432, "max_error": 4.76837158203125e-07, "residual_norms": [1.9611015115775896e-05, 1.867376517243657e-05, 1.8540398180891947e-05, 1.9109680435062864e-05], "residual_limits": [0.007477712016941039, 0.007460163147298682, 0.00745745770226874, 0.00747681032162603], "peak_rss_mib": 163.0078125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 1.8733074719784781}
{"status": "success", "solver": "dense", "n": 2048, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.01300508703570813, "first_solve_seconds": 0.19975250400602818, "warm_seconds": [0.19736521795857698, 0.19646765798097476, 0.19378406804753467, 0.19529733899980783, 0.19491787697188556, 0.19363303104182705, 0.19409101200290024], "warm_median_seconds": 0.19491787697188556, "operator_storage_bytes": 33554432, "max_error": 4.76837158203125e-07, "residual_norms": [1.9611015115775896e-05, 1.867376517243657e-05, 1.8540398180891947e-05, 1.9109680435062864e-05], "residual_limits": [0.007477712016941039, 0.007460163147298682, 0.00745745770226874, 0.00747681032162603], "peak_rss_mib": 163.1015625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 1.7999143209890462}
{"status": "success", "solver": "dense", "n": 2048, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.01296412100782618, "first_solve_seconds": 0.20013258600374684, "warm_seconds": [0.21513616701122373, 0.19251747598173097, 0.20238398702349514, 0.19323393504600972, 0.19570708699757233, 0.20070679095806554, 0.2112841489724815], "warm_median_seconds": 0.20070679095806554, "operator_storage_bytes": 33554432, "max_error": 4.76837158203125e-07, "residual_norms": [1.9611015115775896e-05, 1.867376517243657e-05, 1.8540398180891947e-05, 1.9109680435062864e-05], "residual_limits": [0.007477712016941039, 0.007460163147298682, 0.00745745770226874, 0.00747681032162603], "peak_rss_mib": 163.11328125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 1.8732270700274967}
{"status": "success", "solver": "csr", "n": 2048, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.0047748389770276845, "first_solve_seconds": 0.0008127299952320755, "warm_seconds": [0.00013413903070613742, 0.00011885701678693295, 0.0001134999911300838, 0.00011338398326188326, 0.00011283799540251493, 0.00011195201659575105, 0.0001119950320571661], "warm_median_seconds": 0.00011338398326188326, "operator_storage_bytes": 81912, "max_error": 7.152557373046875e-07, "residual_norms": [2.5505565059639057e-05, 2.7261160250183846e-05, 2.5327415617157206e-05, 2.5848425445346125e-05], "residual_limits": [0.007477712016941039, 0.007460163147298682, 0.00745745770226874, 0.00747681032162603], "peak_rss_mib": 62.81640625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.24419280898291618}
{"status": "success", "solver": "csr", "n": 2048, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.004883919027633965, "first_solve_seconds": 0.000836240011267364, "warm_seconds": [0.0001314579858444631, 0.00011909502791240811, 0.00012246001278981566, 0.00011368200648576021, 0.00011199002619832754, 0.00011104700388386846, 0.00011084601283073425], "warm_median_seconds": 0.00011368200648576021, "operator_storage_bytes": 81912, "max_error": 7.152557373046875e-07, "residual_norms": [2.5505565059639057e-05, 2.7261160250183846e-05, 2.5327415617157206e-05, 2.5848425445346125e-05], "residual_limits": [0.007477712016941039, 0.007460163147298682, 0.00745745770226874, 0.00747681032162603], "peak_rss_mib": 62.890625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.23543815704761073}
{"status": "success", "solver": "csr", "n": 2048, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.004803661024197936, "first_solve_seconds": 0.0008438020013272762, "warm_seconds": [0.00013154000043869019, 0.00011473702033981681, 0.00011211202945560217, 0.00011044996790587902, 0.00010966794798150659, 0.00010875199222937226, 0.00011066201841458678], "warm_median_seconds": 0.00011066201841458678, "operator_storage_bytes": 81912, "max_error": 7.152557373046875e-07, "residual_norms": [2.5505565059639057e-05, 2.7261160250183846e-05, 2.5327415617157206e-05, 2.5848425445346125e-05], "residual_limits": [0.007477712016941039, 0.007460163147298682, 0.00745745770226874, 0.00747681032162603], "peak_rss_mib": 62.83203125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.2316198039916344}
{"status": "success", "solver": "banded", "n": 2048, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.004490678024012595, "first_solve_seconds": 0.0006252459716051817, "warm_seconds": [0.00035117799416184425, 0.0003250660374760628, 0.0003060509916394949, 0.0003045200137421489, 0.0002973639639094472, 0.0003036180278286338, 0.00029761699261143804], "warm_median_seconds": 0.0003045200137421489, "operator_storage_bytes": 24576, "max_error": 7.152557373046875e-07, "residual_norms": [2.5328046830881528e-05, 2.7163570296196258e-05, 2.5263089599541e-05, 2.5940075625920865e-05], "residual_limits": [0.007477712016941039, 0.007460163147298682, 0.00745745770226874, 0.00747681032162603], "peak_rss_mib": 61.9453125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.23570272896904498}
{"status": "success", "solver": "banded", "n": 2048, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.004016212013084441, "first_solve_seconds": 0.0006264919647946954, "warm_seconds": [0.0003572109853848815, 0.00031312997452914715, 0.00031816097907721996, 0.0002932000206783414, 0.0002913070493377745, 0.0002928570029325783, 0.0002901629777625203], "warm_median_seconds": 0.0002932000206783414, "operator_storage_bytes": 24576, "max_error": 7.152557373046875e-07, "residual_norms": [2.5328046830881528e-05, 2.7163570296196258e-05, 2.5263089599541e-05, 2.5940075625920865e-05], "residual_limits": [0.007477712016941039, 0.007460163147298682, 0.00745745770226874, 0.00747681032162603], "peak_rss_mib": 61.9609375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.22491256200009957}
{"status": "success", "solver": "banded", "n": 2048, "rhs": 4, "dtype": "float32", "preparation_seconds": 0.003903940028976649, "first_solve_seconds": 0.0005655289860442281, "warm_seconds": [0.000327959016431123, 0.0003085380303673446, 0.00029175402596592903, 0.0002896619844250381, 0.0002943070139735937, 0.00029599101981148124, 0.000297093007247895], "warm_median_seconds": 0.00029599101981148124, "operator_storage_bytes": 24576, "max_error": 7.152557373046875e-07, "residual_norms": [2.5328046830881528e-05, 2.7163570296196258e-05, 2.5263089599541e-05, 2.5940075625920865e-05], "residual_limits": [0.007477712016941039, 0.007460163147298682, 0.00745745770226874, 0.00747681032162603], "peak_rss_mib": 61.97265625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.23755876498762518}
{"solver": "gmres", "n": 2048, "rhs": 4, "dtype": "float32", "trial": 0, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 96 / 8192 (1.17%)\nFirst 5 mismatches are at indices:\n [0, 0]: 1.9995238780975342 (ACTUAL), 2.0 (DESIRED)\n [0, 1]: 2.8408899307250977 (ACTUAL), 2.841470956802368 (DESIRED)\n [0, 2]: 2.908796787261963 (ACTUAL), 2.909297466278076 (DESIRED)\n [0, 3]: 2.1408162117004395 (ACTUAL), 2.141119956970215 (DESIRED)\n [1, 0]: 2.2950546741485596 (ACTUAL), 2.295520305633545 (DESIRED)\nMax absolute difference among violations: 0.00058103\nMax relative difference among violations: 0.00028821\n ACTUAL: array([[1.999524, 2.84089 , 2.908797, 2.140816],\n       [2.295055, 2.962994, 2.745217, 1.841951],\n       [2.564196, 2.999039, 2.515035, 1.557176],...\n DESIRED: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n"}
{"solver": "gmres", "n": 2048, "rhs": 4, "dtype": "float32", "trial": 1, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 96 / 8192 (1.17%)\nFirst 5 mismatches are at indices:\n [0, 0]: 1.9995238780975342 (ACTUAL), 2.0 (DESIRED)\n [0, 1]: 2.8408899307250977 (ACTUAL), 2.841470956802368 (DESIRED)\n [0, 2]: 2.908796787261963 (ACTUAL), 2.909297466278076 (DESIRED)\n [0, 3]: 2.1408162117004395 (ACTUAL), 2.141119956970215 (DESIRED)\n [1, 0]: 2.2950546741485596 (ACTUAL), 2.295520305633545 (DESIRED)\nMax absolute difference among violations: 0.00058103\nMax relative difference among violations: 0.00028821\n ACTUAL: array([[1.999524, 2.84089 , 2.908797, 2.140816],\n       [2.295055, 2.962994, 2.745217, 1.841951],\n       [2.564196, 2.999039, 2.515035, 1.557176],...\n DESIRED: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n"}
{"solver": "gmres", "n": 2048, "rhs": 4, "dtype": "float32", "trial": 2, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 96 / 8192 (1.17%)\nFirst 5 mismatches are at indices:\n [0, 0]: 1.9995238780975342 (ACTUAL), 2.0 (DESIRED)\n [0, 1]: 2.8408899307250977 (ACTUAL), 2.841470956802368 (DESIRED)\n [0, 2]: 2.908796787261963 (ACTUAL), 2.909297466278076 (DESIRED)\n [0, 3]: 2.1408162117004395 (ACTUAL), 2.141119956970215 (DESIRED)\n [1, 0]: 2.2950546741485596 (ACTUAL), 2.295520305633545 (DESIRED)\nMax absolute difference among violations: 0.00058103\nMax relative difference among violations: 0.00028821\n ACTUAL: array([[1.999524, 2.84089 , 2.908797, 2.140816],\n       [2.295055, 2.962994, 2.745217, 1.841951],\n       [2.564196, 2.999039, 2.515035, 1.557176],...\n DESIRED: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n"}
{"solver": "gmres-jacobi", "n": 2048, "rhs": 4, "dtype": "float32", "trial": 0, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 4 / 8192 (0.0488%)\nMismatch at indices:\n [3, 2]: 2.2395143508911133 (ACTUAL), 2.2392492294311523 (DESIRED)\n [3, 3]: 1.31247079372406 (ACTUAL), 1.312233805656433 (DESIRED)\n [4, 2]: 1.941400170326233 (ACTUAL), 1.9416258335113525 (DESIRED)\n [4, 3]: 1.1282079219818115 (ACTUAL), 1.1284242868423462 (DESIRED)\nMax absolute difference among violations: 0.00026512\nMax relative difference among violations: 0.00019174\n ACTUAL: array([[2.000115, 2.841637, 2.909473, 2.14128 ],\n       [2.295456, 2.963469, 2.745608, 1.842157],\n       [2.56457 , 2.99949 , 2.515414, 1.557385],...\n DESIRED: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n"}
{"solver": "gmres-jacobi", "n": 2048, "rhs": 4, "dtype": "float32", "trial": 1, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 4 / 8192 (0.0488%)\nMismatch at indices:\n [3, 2]: 2.2395143508911133 (ACTUAL), 2.2392492294311523 (DESIRED)\n [3, 3]: 1.31247079372406 (ACTUAL), 1.312233805656433 (DESIRED)\n [4, 2]: 1.941400170326233 (ACTUAL), 1.9416258335113525 (DESIRED)\n [4, 3]: 1.1282079219818115 (ACTUAL), 1.1284242868423462 (DESIRED)\nMax absolute difference among violations: 0.00026512\nMax relative difference among violations: 0.00019174\n ACTUAL: array([[2.000115, 2.841637, 2.909473, 2.14128 ],\n       [2.295456, 2.963469, 2.745608, 1.842157],\n       [2.56457 , 2.99949 , 2.515414, 1.557385],...\n DESIRED: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n"}
{"solver": "gmres-jacobi", "n": 2048, "rhs": 4, "dtype": "float32", "trial": 2, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=0.0001, atol=1e-05\n\nMismatched elements: 4 / 8192 (0.0488%)\nMismatch at indices:\n [3, 2]: 2.2395143508911133 (ACTUAL), 2.2392492294311523 (DESIRED)\n [3, 3]: 1.31247079372406 (ACTUAL), 1.312233805656433 (DESIRED)\n [4, 2]: 1.941400170326233 (ACTUAL), 1.9416258335113525 (DESIRED)\n [4, 3]: 1.1282079219818115 (ACTUAL), 1.1284242868423462 (DESIRED)\nMax absolute difference among violations: 0.00026512\nMax relative difference among violations: 0.00019174\n ACTUAL: array([[2.000115, 2.841637, 2.909473, 2.14128 ],\n       [2.295456, 2.963469, 2.745608, 1.842157],\n       [2.56457 , 2.99949 , 2.515414, 1.557385],...\n DESIRED: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n"}
{"status": "success", "solver": "dense", "n": 2048, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.030266723013482988, "first_solve_seconds": 0.17660813097609207, "warm_seconds": [0.17736811598297209, 0.17835879605263472, 0.17708216700702906, 0.17850678402464837, 0.17805099295219406, 0.17760343197733164, 0.17719547101296484], "warm_median_seconds": 0.17760343197733164, "operator_storage_bytes": 67108864, "max_error": 1.3322676295501878e-15, "residual_norms": [5.1007952094145366e-14, 5.3586406847362513e-14, 5.18225659747931e-14, 5.190717119803743e-14], "residual_limits": [3.738856007220536e-08, 3.730081570564971e-08, 3.728728860453894e-08, 3.738405155795879e-08], "peak_rss_mib": 161.39453125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 1.6475059789954685}
{"status": "success", "solver": "dense", "n": 2048, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.01990673301042989, "first_solve_seconds": 0.17518598202150315, "warm_seconds": [0.1778589389869012, 0.1793393329717219, 0.17857288900995627, 0.17852179502369836, 0.177663600014057, 0.17863779002800584, 0.1783934140112251], "warm_median_seconds": 0.17852179502369836, "operator_storage_bytes": 67108864, "max_error": 1.3322676295501878e-15, "residual_norms": [5.1007952094145366e-14, 5.3586406847362513e-14, 5.18225659747931e-14, 5.190717119803743e-14], "residual_limits": [3.738856007220536e-08, 3.730081570564971e-08, 3.728728860453894e-08, 3.738405155795879e-08], "peak_rss_mib": 162.03125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 1.6385898010339588}
{"status": "success", "solver": "dense", "n": 2048, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.02014252496883273, "first_solve_seconds": 0.17399448802461848, "warm_seconds": [0.17725976300425828, 0.17834682698594406, 0.17590905202087015, 0.17799921397818252, 0.1760629920172505, 0.17896125599509105, 0.17689038900425658], "warm_median_seconds": 0.17725976300425828, "operator_storage_bytes": 67108864, "max_error": 1.3322676295501878e-15, "residual_norms": [5.1007952094145366e-14, 5.3586406847362513e-14, 5.18225659747931e-14, 5.190717119803743e-14], "residual_limits": [3.738856007220536e-08, 3.730081570564971e-08, 3.728728860453894e-08, 3.738405155795879e-08], "peak_rss_mib": 161.84765625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 1.6405125209712423}
{"status": "success", "solver": "csr", "n": 2048, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.0039053689688444138, "first_solve_seconds": 0.0008870299789123237, "warm_seconds": [0.0001279480056837201, 0.0001115810009650886, 0.00010584999108687043, 0.00010307302000001073, 0.00010228302562609315, 0.00014953699428588152, 0.00010459002805873752], "warm_median_seconds": 0.00010584999108687043, "operator_storage_bytes": 114672, "max_error": 1.3322676295501878e-15, "residual_norms": [4.898537498338244e-14, 4.8312436360933445e-14, 4.787276017777136e-14, 4.596108781090957e-14], "residual_limits": [3.738856007220536e-08, 3.730081570564971e-08, 3.728728860453894e-08, 3.738405155795879e-08], "peak_rss_mib": 62.765625, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.20005754800513387}
{"status": "success", "solver": "csr", "n": 2048, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.004429985012393445, "first_solve_seconds": 0.0008939569815993309, "warm_seconds": [0.0001273480011150241, 0.00010864395881071687, 0.00010448897955939174, 0.00010356499115005136, 0.00010364101035520434, 0.0001033719745464623, 0.0001095089828595519], "warm_median_seconds": 0.00010448897955939174, "operator_storage_bytes": 114672, "max_error": 1.3322676295501878e-15, "residual_norms": [4.898537498338244e-14, 4.8312436360933445e-14, 4.787276017777136e-14, 4.596108781090957e-14], "residual_limits": [3.738856007220536e-08, 3.730081570564971e-08, 3.728728860453894e-08, 3.738405155795879e-08], "peak_rss_mib": 63.1328125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.23010363394860178}
{"status": "success", "solver": "csr", "n": 2048, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.004567256022710353, "first_solve_seconds": 0.0010330600198358297, "warm_seconds": [0.0001529310247860849, 0.0001227709581144154, 0.00011834799079224467, 0.00011205900227651, 0.00011043105041608214, 0.0001085170079022646, 0.00010609696619212627], "warm_median_seconds": 0.00011205900227651, "operator_storage_bytes": 114672, "max_error": 1.3322676295501878e-15, "residual_norms": [4.898537498338244e-14, 4.8312436360933445e-14, 4.787276017777136e-14, 4.596108781090957e-14], "residual_limits": [3.738856007220536e-08, 3.730081570564971e-08, 3.728728860453894e-08, 3.738405155795879e-08], "peak_rss_mib": 62.80078125, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.2834331199992448}
{"status": "success", "solver": "banded", "n": 2048, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.0038327359943650663, "first_solve_seconds": 0.0006537229637615383, "warm_seconds": [0.0003575930022634566, 0.00032912701135501266, 0.00032986700534820557, 0.0003161150380037725, 0.00031253998167812824, 0.0003184619708918035, 0.00032272195676341653], "warm_median_seconds": 0.00032272195676341653, "operator_storage_bytes": 49152, "max_error": 1.3322676295501878e-15, "residual_norms": [4.891738901837246e-14, 4.830988499361555e-14, 4.777017594200096e-14, 4.597127760990652e-14], "residual_limits": [3.738856007220536e-08, 3.730081570564971e-08, 3.728728860453894e-08, 3.738405155795879e-08], "peak_rss_mib": 62.09375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.2069583929842338}
{"status": "success", "solver": "banded", "n": 2048, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.003852551046293229, "first_solve_seconds": 0.0006559800240211189, "warm_seconds": [0.0003552670241333544, 0.0003148140385746956, 0.0002963349688798189, 0.0002942620194517076, 0.0002995320246554911, 0.0002905380097217858, 0.0002911380142904818], "warm_median_seconds": 0.0002963349688798189, "operator_storage_bytes": 49152, "max_error": 1.3322676295501878e-15, "residual_norms": [4.891738901837246e-14, 4.830988499361555e-14, 4.777017594200096e-14, 4.597127760990652e-14], "residual_limits": [3.738856007220536e-08, 3.730081570564971e-08, 3.728728860453894e-08, 3.738405155795879e-08], "peak_rss_mib": 62.09375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.2052725109970197}
{"status": "success", "solver": "banded", "n": 2048, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.0037679350352846086, "first_solve_seconds": 0.0006781730335205793, "warm_seconds": [0.00034865998895838857, 0.0003077159635722637, 0.00029641197761520743, 0.00030357600189745426, 0.0002944560255855322, 0.0002890650066547096, 0.0002909249742515385], "warm_median_seconds": 0.00029641197761520743, "operator_storage_bytes": 49152, "max_error": 1.3322676295501878e-15, "residual_norms": [4.891738901837246e-14, 4.830988499361555e-14, 4.777017594200096e-14, 4.597127760990652e-14], "residual_limits": [3.738856007220536e-08, 3.730081570564971e-08, 3.728728860453894e-08, 3.738405155795879e-08], "peak_rss_mib": 62.09375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.20235323900124058}
{"solver": "gmres", "n": 2048, "rhs": 4, "dtype": "float64", "trial": 0, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=2e-09, atol=2e-10\n\nMismatched elements: 10 / 8192 (0.122%)\nFirst 5 mismatches are at indices:\n [2, 3]: 1.5574795530059355 (ACTUAL), 1.5574795567051476 (DESIRED)\n [3, 3]: 1.31223383735634 (ACTUAL), 1.3122338408160261 (DESIRED)\n [4, 3]: 1.1284242243804707 (ACTUAL), 1.1284242275864118 (DESIRED)\n [5, 3]: 1.0224698793639118 (ACTUAL), 1.022469882334903 (DESIRED)\n [6, 2]: 1.3881421058377197 (ACTUAL), 1.3881421090572812 (DESIRED)\nMax absolute difference among violations: 3.69921205e-09\nMax relative difference among violations: 2.90570048e-09\n ACTUAL: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n DESIRED: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n"}
{"solver": "gmres", "n": 2048, "rhs": 4, "dtype": "float64", "trial": 1, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=2e-09, atol=2e-10\n\nMismatched elements: 10 / 8192 (0.122%)\nFirst 5 mismatches are at indices:\n [2, 3]: 1.5574795530059355 (ACTUAL), 1.5574795567051476 (DESIRED)\n [3, 3]: 1.31223383735634 (ACTUAL), 1.3122338408160261 (DESIRED)\n [4, 3]: 1.1284242243804707 (ACTUAL), 1.1284242275864118 (DESIRED)\n [5, 3]: 1.0224698793639118 (ACTUAL), 1.022469882334903 (DESIRED)\n [6, 2]: 1.3881421058377197 (ACTUAL), 1.3881421090572812 (DESIRED)\nMax absolute difference among violations: 3.69921205e-09\nMax relative difference among violations: 2.90570048e-09\n ACTUAL: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n DESIRED: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n"}
{"solver": "gmres", "n": 2048, "rhs": 4, "dtype": "float64", "trial": 2, "status": "error", "stderr": "Traceback (most recent call last):\n  File \"<frozen runpy>\", line 198, in _run_module_as_main\n  File \"<frozen runpy>\", line 88, in _run_code\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 303, in <module>\n    raise SystemExit(main())\n                     ^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 243, in main\n    row = _worker(\n          ^^^^^^^^\n  File \"/tmp/op-stack-delivery/engine-operator-adapters/scripts/benchmark_linear_operators.py\", line 150, in _worker\n    np.testing.assert_allclose(\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 1780, in assert_allclose\n    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),\n  File \"/tmp/op-stack-delivery/venv/lib/python3.12/site-packages/numpy/testing/_private/utils.py\", line 988, in assert_array_compare\n    raise AssertionError(msg)\nAssertionError: \nNot equal to tolerance rtol=2e-09, atol=2e-10\n\nMismatched elements: 10 / 8192 (0.122%)\nFirst 5 mismatches are at indices:\n [2, 3]: 1.5574795530059355 (ACTUAL), 1.5574795567051476 (DESIRED)\n [3, 3]: 1.31223383735634 (ACTUAL), 1.3122338408160261 (DESIRED)\n [4, 3]: 1.1284242243804707 (ACTUAL), 1.1284242275864118 (DESIRED)\n [5, 3]: 1.0224698793639118 (ACTUAL), 1.022469882334903 (DESIRED)\n [6, 2]: 1.3881421058377197 (ACTUAL), 1.3881421090572812 (DESIRED)\nMax absolute difference among violations: 3.69921205e-09\nMax relative difference among violations: 2.90570048e-09\n ACTUAL: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n DESIRED: array([[2.      , 2.841471, 2.909297, 2.14112 ],\n       [2.29552 , 2.963558, 2.745705, 1.842254],\n       [2.564642, 2.999574, 2.515501, 1.55748 ],...\n"}
{"status": "success", "solver": "gmres-jacobi", "n": 2048, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.0039383190451189876, "first_solve_seconds": 0.0041464699897915125, "warm_seconds": [0.003726129012648016, 0.0036792730097658932, 0.0037898339796811342, 0.0037762700230814517, 0.003731352975592017, 0.003764136985410005, 0.003720086009707302], "warm_median_seconds": 0.003731352975592017, "operator_storage_bytes": 65528, "max_error": 1.1195260274377006e-09, "residual_norms": [8.990506649628212e-09, 1.2482475613669854e-08, 1.371465044706084e-08, 1.2520029455723762e-08], "residual_limits": [3.738856007220536e-08, 3.730081570564971e-08, 3.728728860453894e-08, 3.738405155795879e-08], "peak_rss_mib": 62.09375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 0, "worker_wall_seconds": 0.24564450699836016}
{"status": "success", "solver": "gmres-jacobi", "n": 2048, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.0036434759967960417, "first_solve_seconds": 0.004328943032305688, "warm_seconds": [0.0037590989959426224, 0.0036508190096355975, 0.0036283049848861992, 0.0036916989483870566, 0.0037266809958964586, 0.0037392560043372214, 0.0037363439914770424], "warm_median_seconds": 0.0037266809958964586, "operator_storage_bytes": 65528, "max_error": 1.1195260274377006e-09, "residual_norms": [8.990506649628212e-09, 1.2482475613669854e-08, 1.371465044706084e-08, 1.2520029455723762e-08], "residual_limits": [3.738856007220536e-08, 3.730081570564971e-08, 3.728728860453894e-08, 3.738405155795879e-08], "peak_rss_mib": 62.10546875, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 1, "worker_wall_seconds": 0.22709054994629696}
{"status": "success", "solver": "gmres-jacobi", "n": 2048, "rhs": 4, "dtype": "float64", "preparation_seconds": 0.0038897540071047843, "first_solve_seconds": 0.004065520013682544, "warm_seconds": [0.0036472099600359797, 0.0037356580141931772, 0.003716372011695057, 0.003606020996812731, 0.0036322809755802155, 0.003673524013720453, 0.0038295529666356742], "warm_median_seconds": 0.003673524013720453, "operator_storage_bytes": 65528, "max_error": 1.1195260274377006e-09, "residual_norms": [8.990506649628212e-09, 1.2482475613669854e-08, 1.371465044706084e-08, 1.2520029455723762e-08], "residual_limits": [3.738856007220536e-08, 3.730081570564971e-08, 3.728728860453894e-08, 3.738405155795879e-08], "peak_rss_mib": 62.09375, "python": "3.12.14", "numpy": "2.5.4", "scipy": "1.18.1", "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39", "cpu": "Intel(R) Core(TM) Ultra 7 265U", "cpu_affinity": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "threads": {"OMP_NUM_THREADS": "1", "OPENBLAS_NUM_THREADS": "1", "MKL_NUM_THREADS": "1"}, "source_sha256": {"scripts/benchmark_linear_operators.py": "f871cc802472437700c3d342843e137078108dff7351ddb7fbb054fc4f94fa01", "src/op_engine/__init__.py": "c05479f332906c8697564984da37e77eeb8fa39a39ae07a50230979ec725096d", "src/op_engine/scipy_operator.py": "70404544b56de140a4be20b83b0f744353eb03c0d5a81d8027d8b2620514db68", "src/op_engine/linear_operator.py": "5b8b0eeec170876b79fe41461ddcc1d1a617c4f3bc7c092ccdb0e75770dd58a7", "src/op_engine/matrix_ops.py": "1ae1c8e78558db5be13863888951fd45b5bd3575a94bff90595d29a9b771db81", "src/op_engine/core_solver.py": "923aea17b01f529bf7df5553e21341464393576a1a256d9c9f5bbcefcb0f9652"}, "notes": "CSR warm solves reuse the historical LU cache; new adapters are uncached and include original-residual checks. Storage excludes cached LU/Krylov workspace, working arrays, RHS, truth and allocator overhead; peak RSS includes the whole fresh worker.", "trial": 2, "worker_wall_seconds": 0.24497401900589466}
