Commit 1bf4e0c
committed
feat(path-c): MLX<->CUDA buffer bridge for fused direct-chain artifact + eager safety fallback
The fused direct-chain runtime now compiles/installs/executes on CUDA (62abb9b),
but the fused artifact call passed MLX arrays straight to the TileLang tvm-ffi
CUDA kernel via DLPack, which MLX (CUDA build) cannot export -> DLPackDeviceError
(tvm_ffi.py:585 guard via has_mlx_arrays).
- run_path_c_direct_fusion_chain_route: on target==cuda, bridge caller-owned MLX
buffer args -> contiguous torch CUDA tensors (reusing _cuda_eager _mlx_to_torch_cuda),
call artifact(*torch_args) (no MLX array reaches the adapter, so the Metal-DLPack
guard is bypassed), torch.cuda.synchronize(), then reflect in-place kernel writes
back into the owning bank buffers (coalesced-bank prefix slicing) -> preserves the
direct-chain caller-owned in/out ABI. Metal keeps the byte-identical zero-copy
artifact(*arrays) else-branch.
- CompiledPretrainingStep._run_fused_value_and_grad_guarded: always-on exception
guard (-> eager _loss_and_grad on any raise, so the run never regresses to
steps_completed=0) + OPT-IN wall-clock watchdog (MLX_PATH_C_FUSED_STEP_TIMEOUT_S)
that disables the fused runtime on timeout. Fallback state surfaced as
training.path_c_fused_runtime_evidence.
Verified gb10: fused tvm-ffi CUDA kernel launches via the bridge (grep -c DLPack==0;
py-spy past artifact into write-back); bridge unit write-back correct; fallback
RAISE/HANG/OK unit tests pass; eager baseline completes (steps 2, finite, decreased).
Metal gated on target==cuda -> byte-for-byte unchanged. Paths B/D/E untouched.
KNOWN REMAINING BLOCKER (next): the fused FORWARD segment-0 CUDA kernel is a runaway
(sm 95%/mem 0%, never returns) -- a TileLang codegen/schedule problem in the generated
fused forward (likely an unbounded/oversized serial scan), NOT the buffer handoff.
Until fixed, --use-path-c-direct-chain-runtime on CUDA hangs on the inline fused call;
set MLX_PATH_C_FUSED_STEP_TIMEOUT_S=<sec> for an interim eager-fallback result.1 parent 62abb9b commit 1bf4e0c
2 files changed
Lines changed: 305 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1716 | 1716 | | |
1717 | 1717 | | |
1718 | 1718 | | |
| 1719 | + | |
| 1720 | + | |
| 1721 | + | |
| 1722 | + | |
| 1723 | + | |
| 1724 | + | |
| 1725 | + | |
1719 | 1726 | | |
1720 | 1727 | | |
1721 | 1728 | | |
| |||
1958 | 1965 | | |
1959 | 1966 | | |
1960 | 1967 | | |
| 1968 | + | |
| 1969 | + | |
| 1970 | + | |
| 1971 | + | |
| 1972 | + | |
| 1973 | + | |
| 1974 | + | |
| 1975 | + | |
| 1976 | + | |
| 1977 | + | |
| 1978 | + | |
| 1979 | + | |
| 1980 | + | |
| 1981 | + | |
| 1982 | + | |
| 1983 | + | |
| 1984 | + | |
| 1985 | + | |
| 1986 | + | |
| 1987 | + | |
| 1988 | + | |
| 1989 | + | |
| 1990 | + | |
| 1991 | + | |
| 1992 | + | |
| 1993 | + | |
| 1994 | + | |
| 1995 | + | |
| 1996 | + | |
| 1997 | + | |
| 1998 | + | |
| 1999 | + | |
| 2000 | + | |
| 2001 | + | |
| 2002 | + | |
| 2003 | + | |
| 2004 | + | |
| 2005 | + | |
| 2006 | + | |
| 2007 | + | |
| 2008 | + | |
| 2009 | + | |
| 2010 | + | |
| 2011 | + | |
| 2012 | + | |
| 2013 | + | |
| 2014 | + | |
| 2015 | + | |
| 2016 | + | |
| 2017 | + | |
| 2018 | + | |
| 2019 | + | |
| 2020 | + | |
| 2021 | + | |
| 2022 | + | |
| 2023 | + | |
| 2024 | + | |
| 2025 | + | |
| 2026 | + | |
| 2027 | + | |
| 2028 | + | |
| 2029 | + | |
| 2030 | + | |
| 2031 | + | |
| 2032 | + | |
| 2033 | + | |
| 2034 | + | |
| 2035 | + | |
| 2036 | + | |
| 2037 | + | |
| 2038 | + | |
| 2039 | + | |
| 2040 | + | |
| 2041 | + | |
| 2042 | + | |
| 2043 | + | |
| 2044 | + | |
| 2045 | + | |
| 2046 | + | |
| 2047 | + | |
| 2048 | + | |
| 2049 | + | |
| 2050 | + | |
| 2051 | + | |
| 2052 | + | |
| 2053 | + | |
| 2054 | + | |
| 2055 | + | |
| 2056 | + | |
| 2057 | + | |
| 2058 | + | |
| 2059 | + | |
| 2060 | + | |
| 2061 | + | |
| 2062 | + | |
| 2063 | + | |
| 2064 | + | |
| 2065 | + | |
| 2066 | + | |
| 2067 | + | |
| 2068 | + | |
| 2069 | + | |
| 2070 | + | |
| 2071 | + | |
| 2072 | + | |
| 2073 | + | |
| 2074 | + | |
| 2075 | + | |
| 2076 | + | |
| 2077 | + | |
| 2078 | + | |
1961 | 2079 | | |
1962 | 2080 | | |
1963 | 2081 | | |
| |||
1966 | 2084 | | |
1967 | 2085 | | |
1968 | 2086 | | |
1969 | | - | |
| 2087 | + | |
1970 | 2088 | | |
1971 | 2089 | | |
1972 | | - | |
1973 | | - | |
1974 | | - | |
1975 | | - | |
1976 | | - | |
| 2090 | + | |
| 2091 | + | |
| 2092 | + | |
| 2093 | + | |
| 2094 | + | |
| 2095 | + | |
| 2096 | + | |
| 2097 | + | |
| 2098 | + | |
| 2099 | + | |
| 2100 | + | |
| 2101 | + | |
| 2102 | + | |
| 2103 | + | |
| 2104 | + | |
1977 | 2105 | | |
1978 | 2106 | | |
1979 | 2107 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6110 | 6110 | | |
6111 | 6111 | | |
6112 | 6112 | | |
| 6113 | + | |
| 6114 | + | |
| 6115 | + | |
| 6116 | + | |
| 6117 | + | |
| 6118 | + | |
| 6119 | + | |
| 6120 | + | |
| 6121 | + | |
| 6122 | + | |
| 6123 | + | |
| 6124 | + | |
| 6125 | + | |
| 6126 | + | |
| 6127 | + | |
| 6128 | + | |
| 6129 | + | |
| 6130 | + | |
| 6131 | + | |
| 6132 | + | |
| 6133 | + | |
| 6134 | + | |
| 6135 | + | |
| 6136 | + | |
| 6137 | + | |
| 6138 | + | |
| 6139 | + | |
| 6140 | + | |
| 6141 | + | |
| 6142 | + | |
| 6143 | + | |
| 6144 | + | |
| 6145 | + | |
| 6146 | + | |
| 6147 | + | |
| 6148 | + | |
| 6149 | + | |
| 6150 | + | |
| 6151 | + | |
| 6152 | + | |
| 6153 | + | |
| 6154 | + | |
| 6155 | + | |
| 6156 | + | |
| 6157 | + | |
| 6158 | + | |
| 6159 | + | |
| 6160 | + | |
| 6161 | + | |
| 6162 | + | |
| 6163 | + | |
| 6164 | + | |
| 6165 | + | |
| 6166 | + | |
| 6167 | + | |
| 6168 | + | |
| 6169 | + | |
| 6170 | + | |
| 6171 | + | |
| 6172 | + | |
| 6173 | + | |
| 6174 | + | |
| 6175 | + | |
| 6176 | + | |
| 6177 | + | |
| 6178 | + | |
| 6179 | + | |
| 6180 | + | |
| 6181 | + | |
| 6182 | + | |
| 6183 | + | |
| 6184 | + | |
| 6185 | + | |
| 6186 | + | |
| 6187 | + | |
| 6188 | + | |
| 6189 | + | |
| 6190 | + | |
| 6191 | + | |
| 6192 | + | |
| 6193 | + | |
| 6194 | + | |
| 6195 | + | |
| 6196 | + | |
| 6197 | + | |
| 6198 | + | |
| 6199 | + | |
| 6200 | + | |
| 6201 | + | |
| 6202 | + | |
| 6203 | + | |
| 6204 | + | |
| 6205 | + | |
| 6206 | + | |
| 6207 | + | |
| 6208 | + | |
| 6209 | + | |
| 6210 | + | |
| 6211 | + | |
| 6212 | + | |
| 6213 | + | |
| 6214 | + | |
| 6215 | + | |
| 6216 | + | |
| 6217 | + | |
| 6218 | + | |
| 6219 | + | |
| 6220 | + | |
| 6221 | + | |
| 6222 | + | |
| 6223 | + | |
| 6224 | + | |
| 6225 | + | |
| 6226 | + | |
| 6227 | + | |
| 6228 | + | |
| 6229 | + | |
| 6230 | + | |
| 6231 | + | |
| 6232 | + | |
| 6233 | + | |
| 6234 | + | |
6113 | 6235 | | |
6114 | 6236 | | |
6115 | 6237 | | |
| |||
6234 | 6356 | | |
6235 | 6357 | | |
6236 | 6358 | | |
| 6359 | + | |
| 6360 | + | |
| 6361 | + | |
| 6362 | + | |
| 6363 | + | |
6237 | 6364 | | |
6238 | 6365 | | |
| 6366 | + | |
| 6367 | + | |
| 6368 | + | |
| 6369 | + | |
6239 | 6370 | | |
6240 | 6371 | | |
6241 | 6372 | | |
| |||
6256 | 6387 | | |
6257 | 6388 | | |
6258 | 6389 | | |
6259 | | - | |
6260 | | - | |
| 6390 | + | |
| 6391 | + | |
| 6392 | + | |
| 6393 | + | |
| 6394 | + | |
| 6395 | + | |
| 6396 | + | |
| 6397 | + | |
| 6398 | + | |
| 6399 | + | |
| 6400 | + | |
| 6401 | + | |
| 6402 | + | |
| 6403 | + | |
| 6404 | + | |
| 6405 | + | |
| 6406 | + | |
| 6407 | + | |
| 6408 | + | |
6261 | 6409 | | |
6262 | 6410 | | |
6263 | 6411 | | |
| |||
11352 | 11500 | | |
11353 | 11501 | | |
11354 | 11502 | | |
| 11503 | + | |
| 11504 | + | |
| 11505 | + | |
| 11506 | + | |
| 11507 | + | |
| 11508 | + | |
| 11509 | + | |
| 11510 | + | |
| 11511 | + | |
| 11512 | + | |
| 11513 | + | |
| 11514 | + | |
| 11515 | + | |
| 11516 | + | |
| 11517 | + | |
| 11518 | + | |
| 11519 | + | |
| 11520 | + | |
| 11521 | + | |
| 11522 | + | |
| 11523 | + | |
11355 | 11524 | | |
11356 | 11525 | | |
11357 | 11526 | | |
| |||
0 commit comments