<feed xmlns='http://www.w3.org/2005/Atom'>
<title>open-iov.git/tools/cuda-ab/ctaid_probe.cu, branch bigpath</title>
<subtitle>Open-IOV vGPU-IO: host-side GSP emulation for unmodified NVIDIA guest drivers
</subtitle>
<id>https://git.vgpu.io/open-iov.git/atom?h=bigpath</id>
<link rel='self' href='https://git.vgpu.io/open-iov.git/atom?h=bigpath'/>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/'/>
<updated>2026-10-18T20:01:48+00:00</updated>
<entry>
<title>cuda-ab: ctaid_probe ATAG buffer-identity tags</title>
<updated>2026-10-18T20:01:48+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-18T20:01:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=2bc6f58051f162e63f88ce058b0ca8e5dc4f0f04'/>
<id>urn:sha1:2bc6f58051f162e63f88ce058b0ca8e5dc4f0f04</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>cuda-ab: ctaid_probe ground-truth revision - RAWA/RAWA2, 16 values per band, PROBE2B repeat</title>
<updated>2026-10-18T19:11:08+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-18T19:11:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=04524a5b401c373fb72f014bab1026e3451b2227'/>
<id>urn:sha1:04524a5b401c373fb72f014bab1026e3451b2227</id>
<content type='text'>
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 &gt;=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.
</content>
</entry>
<entry>
<title>cuda-ab: ctaid_probe (CTA-coordinate + A-row reader) + GEO geometry print in transformer_mt</title>
<updated>2026-10-18T19:03:17+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-18T19:03:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=e398de4cf68ffd0f43e0b1692b08b2726457fad4'/>
<id>urn:sha1:e398de4cf68ffd0f43e0b1692b08b2726457fad4</id>
<content type='text'>
The vGPU GR engine's failing chains are correct for the by=0 band and
replicate one tile for rows &gt;= 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 &lt;10 s. Built with
nvcc -O2 --cudart=static -arch=sm_75 (deterministic static runtime).
</content>
</entry>
</feed>
