Repository navigation
Release v0.4.0 - #14
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
v0.4.0
Added
cuda-oxidefeature onkhal-builderand onkhal-std(withdefault-features = false; the new defaultrust-cudafeature keeps the previous behavior).#[spirv_bindgen]emits a matching kernel entry. (feat: add support for cuda-oxide (without breaking rust-cuda) #13)GpuBackend::begin_capture/end_capturerecord submitted work into aGpuGraphthat is replayed withGpuGraph::launch. CUDA only for now (GpuBackend::supports_graphs); other backends return the newGpuBackendError::Unsupported.GpuBackend::auto: picks CUDA on sm_120+ devices when compiled in, WebGPU otherwise. Overridable withKHAL_BACKEND=cuda|webgpu|metal.GpuReadbackis now non-blocking on CUDA (async copy into pinned host memory polled with an event).Cuda::compute_capability.khal-builder: CUDA PTX is assembled into a cubin withptxaswhen available (avoids driver/toolkit PTX version mismatches; opt out withKHAL_CUDA_KEEP_PTX=1; target arch fromKHAL_CUDA_ARCHor auto-detected).KHAL_SKIP_SPIRV=1skips the SPIR-V build, andCUDA_OXIDE_SHADERS_PTX_<CRATE>embeds a prebuilt PTX/cubin.atomic_sub_u32inkhal-std.KHAL_CUDA_TRACE,KHAL_CUDA_PROFILE(withcuda::dump_kernel_profile),KHAL_CUDA_ALLOC_TRACE,KHAL_CUDA_GRAPH_DOT.Changed
KHAL_CUDA_PERSISTENT_BLOCKS, default 16×SM count) that loop over the virtual workgroups. This changes the generated kernel ABI (slice bindings now receive an element count instead of a byte length, plus a trailing indirect-args parameter), so CUDA shaders must be rebuilt.KHAL_CUDA_INDIRECT_SYNC=1restores the old readback path.load_functionerrors on CUDA name the missing entry point. (cuda: name the missing entry point in load_function errors #10)slow_read_bufferreuses pooled staging buffers. On wasm, consecutive compute passes are merged into one to cut per-pass overhead.GpuBackend::is_cudais available without thecudafeature.cargo-cudadisables MIR jump-threading, which could duplicate workgroup barriers and deadlock kernels.Fixed
write_bufferwhile GPU work is in flight no longer races with running kernels; it is now ordered after previously submitted work.Unable to find entry point.