You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Land the permanent submit and wait path that gpu() will use: bind a GpuPack, dispatch a compute pipeline, wait on a fence, write results back into Python.
Work
Descriptor set layout for option 5: binding 0 = scalar SSBO, bindings 1..N = list SSBOs.
Pipeline layout and compute pipeline created from SPIR-V. Build SPIR-V with the library (committed bytes or shaderc). Do not require glslangValidator on the user PATH.
Command recording: barriers after upload if needed, bind descriptor set, dispatch, submit with a fence.
GpuJob with join(): wait, download, write back into the same Python objects. No mid-run sync.
Wire this to GpuPack from Issue 2. Same types later used by the public gpu() entry.
End-to-end proof only through _ext.gpu.testing (same idea as pack round-trips). Keep any smoke kernel under testing. Do not add a public or product “reference kernel” API.
Pytest: run the test launch, check results, skip when no GPU.
Notes
One compute queue. Results only after join. Everything here is permanent launch machinery, not a temporary demo path.
Activity
Add GPU launch path and SpawnedGpuKernel join (#22).
Merge pull request #23 from K-T0BIAS/22-gpu-03-launch-path-and-gpujob