Ruda への貢献
English | 简体中文 | 日本語 | Deutsch | Русский
対象範囲
貢献の対象は計算ソフトウェアスタック全体です。コンパイラ、ランタイム、カーネル、計算ライブラリ、テンソル、モデル統合、ドキュメント、テストを含みます。
テンソルフレームワークに計算ライブラリの演算を重複実装せず、ライブラリの責務を分離してください。リファクタリングで機能を削除したり、dtype、演算順序、エラー処理、リソースの生存期間を変更したりしてはいけません。未対応の経路は正確に報告し、CPU、別のコンパイラバックエンド、低精度へ黙って切り替えないでください。
問題の報告
ソースのバージョン、OS、Rust ツールチェーン、GPU/ドライバ/Toolkit のバージョン、有効な feature、再現コマンド、最小入力、実際の結果と期待結果を記載してください。ログを添付する前に、トークン、個人のパス、公開を許可されていないモデルやデータを削除してください。モデル重みやビルドキャッシュは提出しないでください。
変更の提出
- 編集前にコンポーネントの責務と既存テストを確認してください。層をまたぐ変更では依存関係と呼び出し契約を説明してください。
- サードパーティの著作者、著作権、ライセンス、来歴を保持してください。すべてのファイルのライセンス宣言を単一のライセンスで上書きしないでください。
- 振る舞いを検証するテストを含めてください。テストソース、構文チェック、コンパイル成功、実機実行を区別してください。
- 実施していない検査を明記してください。Cargo メタデータと書式の検査はコンパイルテストではありません。
- 性能変更では、同じ入力、dtype、デバイス、構成での正しさと変更前後の測定値を報告してください。対象ハードウェアの検証をシミュレータや縮小構成で代替しないでください。
ローカル検査
ワークスペースのルートから実行します。以下はマニフェストを読み取るコマンドであり、カーネルをコンパイル・実行しません。
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 では依存関係の解決に必要なものがローカルにキャッシュされている必要があります。
ビルドとデモの開始点ははじめにを参照してください。
貢献者はコードを提出する権利を持つ必要があります。Ruda 独自の貢献には Apache-2.0 を適用し、サードパーティのコードは元のライセンスと適用条件を保持します。