Developer Guide
Use these pages when contributing to cuVS or working on integrations that need to follow cuVS development conventions.
Coding Guidelines
- Coding Guidelines: find language-specific conventions for C, C++, Java, and Python development.
- C Guidelines: follow cuVS C API design, ABI-stable handle ownership, and lifecycle conventions.
- C++ Guidelines: follow cuVS C++ API design, resource-management, and implementation conventions.
- Java Guidelines: follow cuVS Java API design, native binding, packaging, and resource-management conventions.
- Python Guidelines: follow cuVS Python API, packaging, and binding conventions.
Advanced Topics
- Advanced Topics: find specialized development topics and low-level implementation guidance.
- ABI Stability: understand ABI expectations for developer-facing APIs and downstream integrations.
- JIT Compilation: understand when cuVS triggers just-in-time compilation and how runtime caches behave.
- Link-time Optimization: use JIT LTO for CUDA compilation and linking workflows.
Contributing
- Contributing: learn how to set up a development environment, submit changes, and work with the project.