Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: RunAsyncを使う #889

Merged
merged 2 commits into from
Dec 9, 2024
Merged

feat!: RunAsyncを使う #889

merged 2 commits into from
Dec 9, 2024

Conversation

qryxip
Copy link
Member

@qryxip qryxip commented Dec 8, 2024

内容

非同期APIにおける推論にort::Session::run_asyncを使うようにする。これにより、推論がキャンセル可能になる。

#888 の影響を受け推論が失敗するので、CIを通すため、Python APIのテストとexampleについては(すべてのプラットフォームで)cpu_num_threads=max(multiprocessing.cpu_cout(), 2)とする。

BREAKING-CHANGE: 非同期APIにおいて、INTRA Thread Countが1だと推論がすべてエラーになるようになる。

関連 Issue

Resolves #687.

Refs: VOICEVOX/ort#11

その他

@qryxip qryxip requested a review from Hiroshiba December 8, 2024 17:04
@qryxip qryxip force-pushed the feat-use-run-async branch from ea7ee70 to ac6ca3f Compare December 9, 2024 05:13
Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(正直若干わかっていませんが)LGTM!!

ちなみに今後の議論のためにちょっと把握しておきたいだけなのですが、blockingでもRunAsync使ってるんでしたっけ。
それともblockingは通常のrun?

@qryxip qryxip merged commit 697e459 into VOICEVOX:main Dec 9, 2024
35 checks passed
@qryxip
Copy link
Member Author

qryxip commented Dec 9, 2024

同期版はOrtApi::Run、非同期版はOrtApi::RunAsyncを使ってます。RunAsyncの方だけ、スレッド数が2より大きくないとエラーになります(これで #888 が牙を剥いてきたため、issue作成した次第です)。


あれRunAsync用のスレッド数って、もしかしてデフォルトの「物理コア数」に+1した方がよかったり…?
(ベンチ取ってみようかな)

@Hiroshiba
Copy link
Member

おお了解です!!同期版はRunの方を使う設計、良さそう!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

推論をキャンセル可能にする
2 participants