#### Goal Process-wide Vulkan init: load loader, create instance/device/compute queue, fail cleanly if unavailable. #### Todos - Add CMake option `CTHREADS_GPU` (off by default). - Dynamically load `vulkan-1` / `libvulkan.so.1` (no hard link required for CPU builds). - Implement `gpu_init()` / `gpu_shutdown()` (lazy or explicit). - Pick first compute-capable device (prefer discrete). - Expose minimal Python: `cthreads.gpu.available() -> bool`, `cthreads.gpu.device_name() -> str`. - Raise typed errors: loader missing / no device / init failed. #### Notes - **Interface:** no buffers yet; probe-only API. - **Arch:** singleton in `_ext`; thread-safe `call_once` init. - **Impl:** Vulkan 1.1+ if easy; don’t require validation layers unless `CTHREADS_VK_VALIDATE=1`. - **User dep:** GPU drivers only - never Vulkan SDK.
Activity
Add Vulkan GPU context probe (Issue GPU-01 #9) behind CTHREADS_GPU.
Merge pull request #19 from K-T0BIAS/9-gpu-01-vulkan-context-in-_ext