Files
automatic/cli
CalamitousFelicitousness 2cf5a2f207 feat(sdnq): compare quantized matmul backends in a single run
The linear layers bind their scaled-mm function at import, so
SDNQ_USE_TRITON_MM freezes the backend per process and comparing triton
against the torch fallback meant two runs, carrying clock drift into the
delta. --mm-backends rebinds the function on the consuming modules
between benches, so both rows measure the same quantized layer under the
same clock state.

- swap targets are the four linear modules that from-import a scaled-mm
  function; every swap resets dynamo, since the layer forwards are
  compiled and the traced graph pins the previous function
- the torch row is captured from kernel_wrappers rather than
  reimplemented, so it is unavailable where triton is the device default
  (rerun with SDNQ_USE_TRITON_MM=0) and says so
- rounds alternate order and keep the fastest per row, so drift cancels
  instead of favouring whichever backend runs second
- flag output error when backends disagree past 1e-4: they are meant to
  be numerically equivalent
2026-07-14 08:06:45 +01:00
..
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2025-04-25 12:25:30 -04:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2024-11-27 15:36:22 -05:00
2026-03-20 18:42:44 -07:00
2026-06-04 12:36:10 +02:00
2026-02-18 17:53:08 +01:00
2026-02-18 17:53:08 +01:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-27 19:17:37 +01:00
2026-04-06 01:06:19 -07:00
2026-02-05 10:33:42 +01:00
2026-03-27 19:17:37 +01:00
2026-07-04 15:26:36 +02:00
2026-03-12 14:11:47 +01:00
2025-02-07 11:03:24 -05:00
2026-04-06 01:06:19 -07:00
2024-09-07 11:58:58 -04:00
2026-03-20 18:42:44 -07:00
2024-11-01 14:50:36 -04:00
2026-03-27 19:17:37 +01:00
2026-06-04 12:36:10 +02:00
2025-04-25 12:25:30 -04:00
2025-06-18 00:38:17 +00:00
2026-03-05 20:06:09 -08:00
2025-02-22 14:25:58 -05:00
2026-03-20 18:42:44 -07:00
2026-03-27 19:17:37 +01:00
2025-04-05 22:26:07 +09:00