Thank you for your interest in contributing to kvik-rs!
- Fork and clone the repository
- Install prerequisites: Rust toolchain, CUDA toolkit, cuFile/GDS drivers (optional for host-only work)
- Run
just cito verify your environment
just check # Compile check
just test # Run all tests
just clippy # Lint
just fmt # Format code
just ci # Full CI suite (fmt + clippy + test + doc)GPU-specific tests are #[ignore] by default and require a CUDA device:
just test-vram-stress # GPU VRAM stress tests
just test-gds-memory # GDS memory transfer validation- Test first. Write tests before implementation. Reference C++ kvikio tests where applicable.
- No async runtime. The library is synchronous by design. Async integration belongs in the caller.
- Use cudarc's safe API where possible. Drop to
cudarc::cufile::resultonly when necessary, with safety comments. - Run
just cibefore submitting. All checks must pass.
- Create a feature branch from
main - Make focused commits with clear messages
- Ensure
just cipasses - Open a pull request with a description of what and why
Open an issue on the GitHub repository with:
- What you expected vs. what happened
- Steps to reproduce
- Environment details (OS, CUDA version, GPU model, filesystem type for GDS issues)