Documentation / EnglishView source ↗

Contributing to Ruda

Documentation · 中文 | 日本語 | Deutsch | Русский

Scope

Contributions cover the compute software stack: compilers, runtimes, kernels, compute libraries, tensors, model integration, documentation, and tests.

Keep library responsibilities separate rather than duplicating compute library operations in the tensor framework. Refactoring must not remove functionality or change dtype, operation order, error handling, or resource lifetimes. Report unsupported paths accurately rather than silently switching to the CPU, another compiler backend, or lower precision.

Reporting issues

Provide the source version, operating system, Rust toolchain, GPU/driver/toolkit versions, enabled features, reproduction commands, minimal inputs, and actual/expected results. Remove tokens, personal paths, and models or data not authorized for disclosure before attaching logs. Do not submit model weights or build caches.

Submitting changes

Local checks

Run from the workspace root. These commands read manifests without compiling or running kernels:

cargo metadata --no-deps --format-version 1 --offline --locked
cargo tree -p ruda-driver-cuda --no-default-features --features direct-ptx --edges normal,build --offline --locked

--offline requires the dependencies needed for resolution to be cached locally.

See Getting started for the build and demonstration entry point.

Contributors must have the right to submit their code. Original Ruda contributions use Apache-2.0; third-party code retains its original license and applicable terms.