Developer Guide

View as Markdown

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.