From 85f6d62595650ce6379e454d262fcce73aa7e583 Mon Sep 17 00:00:00 2001 From: Ryo Yamashita Date: Fri, 7 Feb 2025 22:43:22 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20[Rust]=20Firefox=E4=BB=A5=E5=A4=96?= =?UTF-8?q?=E3=81=A7=E3=82=B9=E3=83=9A=E3=83=BC=E3=82=B9=E3=81=8C=E5=85=A5?= =?UTF-8?q?=E3=82=8A=E3=81=BE=E3=81=8F=E3=81=A3=E3=81=A6=E3=81=84=E3=82=8B?= =?UTF-8?q?=E3=81=AE=E3=82=92=E7=9B=B4=E3=81=99=20(#982)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 影響範囲はrustdocのみのため、rustdocでレンダリングされる範囲に絞ってい る。 --- crates/voicevox_core/src/asyncs.rs | 8 ++------ crates/voicevox_core/src/devices.rs | 9 +++------ .../src/infer/runtimes/onnxruntime.rs | 13 ++++--------- crates/voicevox_core/src/lib.rs | 14 ++++---------- crates/voicevox_core/src/nonblocking.rs | 7 ++----- crates/voicevox_core/src/version.rs | 5 +++-- 6 files changed, 18 insertions(+), 38 deletions(-) diff --git a/crates/voicevox_core/src/asyncs.rs b/crates/voicevox_core/src/asyncs.rs index 24fdd82b4..f0b58823b 100644 --- a/crates/voicevox_core/src/asyncs.rs +++ b/crates/voicevox_core/src/asyncs.rs @@ -1,14 +1,10 @@ //! 非同期操作の実装の切り替えを行う。 //! -//! 「[ブロッキング版API]」と「[非同期版API]」との違いはここに集約される -//! …予定。現在は[`crate::voice_model`]のみで利用している。 +//! 「[ブロッキング版API]」と「[非同期版API]」との違いはここに集約される…予定。現在は[`crate::voice_model`]のみで利用している。 //! //! # Motivation //! -//! [blocking]クレートで駆動する非同期処理はランタイムが無くても動作する。そのため非同期版APIを -//! もとにブロッキング版APIを構成することはできる。しかし将来WASMビルドすることを考えると、スレッド -//! がまともに扱えないため機能しなくなってしまう。そのためWASM化を見越したブロッキング版APIのため -//! に[`SingleTasked`]を用意している。 +//! [blocking]クレートで駆動する非同期処理はランタイムが無くても動作する。そのため非同期版APIをもとにブロッキング版APIを構成することはできる。しかし将来WASMビルドすることを考えると、スレッドがまともに扱えないため機能しなくなってしまう。そのためWASM化を見越したブロッキング版APIのために[`SingleTasked`]を用意している。 //! //! [ブロッキング版API]: crate::blocking //! [非同期版API]: crate::nonblocking diff --git a/crates/voicevox_core/src/devices.rs b/crates/voicevox_core/src/devices.rs index 4b49456be..6ded760f5 100644 --- a/crates/voicevox_core/src/devices.rs +++ b/crates/voicevox_core/src/devices.rs @@ -50,8 +50,7 @@ fn test_gpu( /// 利用可能なデバイスの情報。 /// -/// あくまで本ライブラリもしくはONNX Runtimeが対応しているデバイスの情報であることに注意。GPUが使える環境ではなかったと -/// しても`cuda`や`dml`は`true`を示しうる。 +/// あくまで本ライブラリもしくはONNX Runtimeが対応しているデバイスの情報であることに注意。GPUが使える環境ではなかったとしても`cuda`や`dml`は`true`を示しうる。 /// /// ``` /// # #[pollster::main] @@ -77,15 +76,13 @@ pub struct SupportedDevices { pub cpu: bool, /// CUDAが利用可能。 /// - /// ONNX Runtimeの[CUDA Execution Provider] (`CUDAExecutionProvider`)に対応する。必要な環境につ - /// いてはそちらを参照。 + /// ONNX Runtimeの[CUDA Execution Provider] (`CUDAExecutionProvider`)に対応する。必要な環境についてはそちらを参照。 /// /// [CUDA Execution Provider]: https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html pub cuda: bool, /// DirectMLが利用可能。 /// - /// ONNX Runtimeの[DirectML Execution Provider] (`DmlExecutionProvider`)に対応する。必要な環境に - /// ついてはそちらを参照。 + /// ONNX Runtimeの[DirectML Execution Provider] (`DmlExecutionProvider`)に対応する。必要な環境についてはそちらを参照。 /// /// [DirectML Execution Provider]: https://onnxruntime.ai/docs/execution-providers/DirectML-ExecutionProvider.html pub dml: bool, diff --git a/crates/voicevox_core/src/infer/runtimes/onnxruntime.rs b/crates/voicevox_core/src/infer/runtimes/onnxruntime.rs index 68ddac88f..2be9c5ff9 100644 --- a/crates/voicevox_core/src/infer/runtimes/onnxruntime.rs +++ b/crates/voicevox_core/src/infer/runtimes/onnxruntime.rs @@ -284,8 +284,7 @@ pub(crate) mod blocking { /// /// # Rust APIにおけるインスタンスの共有 /// - /// インスタンスは[voicevox-ort]側に作られる。Rustのクレートとしてこのライブラリを利用する場合、 - /// 非同期版APIやvoicevox-ortを利用する他クレートともインスタンスが共有される。 + /// インスタンスは[voicevox-ort]側に作られる。Rustのクレートとしてこのライブラリを利用する場合、非同期版APIやvoicevox-ortを利用する他クレートともインスタンスが共有される。 /// #[cfg_attr(feature = "load-onnxruntime", doc = "```")] #[cfg_attr(not(feature = "load-onnxruntime"), doc = "```compile_fail")] @@ -448,8 +447,7 @@ pub(crate) mod blocking { impl LoadOnce { /// ONNX Runtimeのファイル名(モジュール名)もしくはファイルパスを指定する。 /// - /// `dlopen`/[`LoadLibraryExW`]の引数に使われる。デフォルト - /// は[`Onnxruntime::LIB_VERSIONED_FILENAME`]。 + /// `dlopen`/[`LoadLibraryExW`]の引数に使われる。デフォルトは[`Onnxruntime::LIB_VERSIONED_FILENAME`]。 /// /// [`LoadLibraryExW`]: /// https://learn.microsoft.com/en-us/windows/win32/api/libloaderapi/nf-libloaderapi-loadlibraryexw @@ -476,9 +474,7 @@ pub(crate) mod nonblocking { /// /// # Rust APIにおけるインスタンスの共有 /// - /// インスタンスは[voicevox-ort]側に作られる。Rustのクレートとしてこのライブラリを利用する場合、 - /// ブロッキング版APIやvoicevox-ortを利用する他クレートともインスタンスが共有される。 - /// + /// インスタンスは[voicevox-ort]側に作られる。Rustのクレートとしてこのライブラリを利用する場合、ブロッキング版APIやvoicevox-ortを利用する他クレートともインスタンスが共有される。 #[cfg_attr(feature = "load-onnxruntime", doc = "```")] #[cfg_attr(not(feature = "load-onnxruntime"), doc = "```compile_fail")] /// # use voicevox_core as another_lib; @@ -598,8 +594,7 @@ pub(crate) mod nonblocking { impl LoadOnce { /// ONNX Runtimeのファイル名(モジュール名)もしくはファイルパスを指定する。 /// - /// `dlopen`/[`LoadLibraryExW`]の引数に使われる。デフォルト - /// は[`Onnxruntime::LIB_VERSIONED_FILENAME`]。 + /// `dlopen`/[`LoadLibraryExW`]の引数に使われる。デフォルトは[`Onnxruntime::LIB_VERSIONED_FILENAME`]。 /// /// [`LoadLibraryExW`]: /// https://learn.microsoft.com/en-us/windows/win32/api/libloaderapi/nf-libloaderapi-loadlibraryexw diff --git a/crates/voicevox_core/src/lib.rs b/crates/voicevox_core/src/lib.rs index 0be996ada..020473559 100644 --- a/crates/voicevox_core/src/lib.rs +++ b/crates/voicevox_core/src/lib.rs @@ -2,17 +2,11 @@ //! //! # Feature flags //! -//! このクレートの利用にあたっては以下の二つの[Cargoフィーチャ]のうちどちらかを有効にしなければなり -//! ません。両方の有効化はコンパイルエラーとなります。[`Onnxruntime`]の初期化方法はこれらの -//! フィーチャによって決まります。 +//! このクレートの利用にあたっては以下の二つの[Cargoフィーチャ]のうちどちらかを有効にしなければなりません。両方の有効化はコンパイルエラーとなります。[`Onnxruntime`]の初期化方法はこれらのフィーチャによって決まります。 //! -//! - **`load-onnxruntime`**: ONNX Runtimeを`dlopen`/`LoadLibraryExW`で -//! 開きます。[CUDA]と[DirectML]が利用できます。 -//! - **`link-onnxruntime`**: ONNX Runtimeをロード時動的リンクします。iOSのような`dlopen`の利用が -//! 困難な環境でのみこちらを利用するべきです。_Note_: -//! [動的リンク対象のライブラリ名]は`onnxruntime`で固定です。変更 -//! は`patchelf(1)`や`install_name_tool(1)`で行ってください。また、[ONNX RuntimeのGPU機能]を使う -//! ことはできません。 +//! - **`load-onnxruntime`**: ONNX Runtimeを`dlopen`/`LoadLibraryExW`で開きます。[CUDA]と[DirectML]が利用できます。 +//! - **`link-onnxruntime`**: ONNX Runtimeをロード時動的リンクします。iOSのような`dlopen`の利用が困難な環境でのみこちらを利用するべきです。_Note_: +//! [動的リンク対象のライブラリ名]は`onnxruntime`で固定です。変更は`patchelf(1)`や`install_name_tool(1)`で行ってください。また、[ONNX RuntimeのGPU機能]を使うことはできません。 //! //! [Cargoフィーチャ]: https://doc.rust-lang.org/stable/cargo/reference/features.html //! [CUDA]: https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html diff --git a/crates/voicevox_core/src/nonblocking.rs b/crates/voicevox_core/src/nonblocking.rs index d5c6cc34d..716d5dfd7 100644 --- a/crates/voicevox_core/src/nonblocking.rs +++ b/crates/voicevox_core/src/nonblocking.rs @@ -2,12 +2,9 @@ //! //! # Performance //! -//! これらは[blocking]クレートにより動いている。特定の非同期ランタイムを必要とせず、[pollster]など -//! でも動かすことができる。 +//! これらは[blocking]クレートにより動いている。特定の非同期ランタイムを必要とせず、[pollster]などでも動かすことができる。 //! -//! スレッドプールおよびエグゼキュータはblockingクレートに依存するすべてのプログラム間で共有される。 -//! スレッドプールのサイズは、blockingクレートの説明にある通り`$BLOCKING_MAX_THREADS`で調整すること -//! ができる。 +//! スレッドプールおよびエグゼキュータはblockingクレートに依存するすべてのプログラム間で共有される。スレッドプールのサイズは、blockingクレートの説明にある通り`$BLOCKING_MAX_THREADS`で調整することができる。 //! //! また未調査ではあるが、このモジュールについては[`cpu_num_threads`]は物理コアの数+1を指定するのが適切な可能性がある //! ([VOICEVOX/voicevox_core#902])。 diff --git a/crates/voicevox_core/src/version.rs b/crates/voicevox_core/src/version.rs index a0e8f788a..99b534654 100644 --- a/crates/voicevox_core/src/version.rs +++ b/crates/voicevox_core/src/version.rs @@ -1,7 +1,8 @@ /// 本クレートの`package.version`。 /// -/// C APIやPython API側からこの値が使われるべきではない。 -/// 現在はまだRust APIを外部提供していないため、この定数はどこからも参照されていないはずである。 +/// TODO: ↓ 「Rust APIを外部提供」はもう嘘 +/// +/// C APIやPython API側からこの値が使われるべきではない。現在はまだRust APIを外部提供していないため、この定数はどこからも参照されていないはずである。 #[doc(alias = "voicevox_get_version")] pub const VERSION: &str = env!("CARGO_PKG_VERSION");