summaryrefslogtreecommitdiffstats
path: root/tools/cuda-ab/ctaid_probe.cu
Commit message (Collapse)AuthorAge
* cuda-ab: ctaid_probe ATAG buffer-identity tagsArthur Hanson Rasmusson3 days
| | | | | | | | The r235 A-TRACE lines could not be attributed to buffers. The probe now prints ATAG lines with the host buffers' VAs (h_A, h_out) next to the device VAs (A, out, out2) and one ATAG line per phase (RAWA/PROBE1/ PROBE2/PROBE2B/RAWA2 naming src/dst/buf) right before its copies, so every host trace event maps 1:1 to a client buffer and phase.
* cuda-ab: ctaid_probe ground-truth revision - RAWA/RAWA2, 16 values per band, ↵Arthur Hanson Rasmusson3 days
| | | | | | | | | | | | | | | | | | | | PROBE2B repeat r229 first run: PROBE1 (coordinate map) perfect; PROBE2 (flat A read) wrong at every element - band 0 read A's own values at wrong offsets (16382/16383 = A's last elements), bands >=1 read float-typed data. Before concluding engine-side, the probe now records ground truth in-band: - RAWA: A uploaded then copied straight back D2H with no kernel, first8/ last8 printed (the buffer itself must hold i); - RAWA2: same readback after both phases (input-corruption check); - every band prints its raw first 16 values; - PROBE2B: the same arow_read runs a second time into a fresh output buffer, so a first-attempt-only failure is the engine's per-launch lottery rather than addressing. The probe's own math re-checked: A is int32 everywhere, expected is row*256+col, and PROBE1's exact pass over the same output pipeline proves the harness itself is sound. Committed binary rebuilt static sm_75.
* cuda-ab: ctaid_probe (CTA-coordinate + A-row reader) + GEO geometry print in ↵Arthur Hanson Rasmusson3 days
transformer_mt The vGPU GR engine's failing chains are correct for the by=0 band and replicate one tile for rows >= 16 with the QMD geometry and the input recs proven clean, so the remaining hypothesis is engine-side CTA-coordinate behaviour. ctaid_probe reads it directly in two phases on the exact (16,4,1)/(16,16,1) geometry: Phase 1 coord_map writes by*10000+bx*100+ty*10+tx per element (int32 64x256) and reports per-band row0 plus a bad count - a collapsed or wrong CTAID.Y shows instantly. Phase 2 arow_read writes A[(by*16+ty)*256+(bx*16+tx)] with A[i]=i, so a correct engine reads each band's own rows; a collapsed row register reads one band's rows everywhere. transformer_mt prints its per-chain geometry (GEO lines) for the host-side GRID-WIT comparison. Runtime <10 s. Built with nvcc -O2 --cudart=static -arch=sm_75 (deterministic static runtime).