-
Notifications
You must be signed in to change notification settings - Fork 310
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
#298 CPU版でGPUモードへの切り替えを不可能に #1140
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PRありがとうございます!
機能的な面は問題なさそうでした!
今後のメンテナンス的な面から見て、色々コメントしたので、そちらの改善をしていただけると...!:pray:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@y-chan さんレビューありです!!
僕からもちょっと1点だけ!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ほぼLGTMです!
対応ありがとうございます!
一点だけ、suggestionをしましたので、ご確認いただけると...!
不要なsetを削除 Co-authored-by: Yuto Ashida <y-chan@y-chan.dev>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ちょっと設計レベルでクール(?)な提案があります!
どっちにせよできることに変わりはないので、気が向いたら修正いただければという感じです!
提案1つ目がstateの重複の解消です。
今2種類のstateengineCanUseGPU
とallEngineCanUseGPU
があります。
all
の方はengineCanUseGPU
から計算できそうです。
これらの情報を同期しないといけず、将来片方をsetしたときにもう片方をsetし忘れるといったことが気軽に起こるかもと感じます!
いわゆる「唯一の情報源」を目指したいかもです。
Vuexにはその機構があって、allEngineCanUseGPU
をGETTERにすることで簡単に実現できます。
ただこうするとSET_ALL_ENGINE_CAN_USE_GPU
辺りの役割が微妙になるかもです。これは↓の提案にも続きます!
もう1点の提案がengineCanUseGPU
すら持たず、エンジンのsupportedDevices
を同期してstateに持たせるだけにする形です。
実はsupportedDevices
さえあればengineCanUseGPU
も計算可能なはずで、エンジンの持つsupportedDevices
だけを「唯一の情報源」とできそうです。
ということで提案する形はこんな感じです!
- FETCH_AND_SET_ENGINE_SUPPORTED_DEVICES
supportedDevices
を取って来るだけのaction- FETCH_AND_SET_ENGINE_MANIFEST が似てそうです
- SET_ENGINE_SUPPORTED_DEVICES
supportedDevices
を保存するだけのmutation
ENGINE_CAN_USE_GPU
- エンジンがGPU使えるか返すだけのgetter
ALL_ENGINE_CAN_USE_GPU
- ↑のALL版
あとはFETCH_AND_SET_ENGINE_SUPPORTED_DEVICES
をPOST_ENGINE_START
辺りに置いておけば完璧だと思います!
まあでも最初の通りできることは変わっていないので、そのままでも問題ではないと思います!
VuexやReactの思想に合わせた形なので、もし気に入ったら実装にチャレンジしてみていただければ・・・!
メッセージの文言を修正 Co-authored-by: Hiroshiba <hihokaruta@gmail.com>
すごい丁寧なご提案ありがとうございます!! 実装してみたいと思いますが、ちょっともう寝るので明日作業します! |
前回の改善案でありましたようにGPUを使えるかどうかの判定部分を 気持ち的には お時間がありましたら、レビューをお願い致します。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!!
Vueっぽい書き方になって良い感じなのかなと感じました!!
辞書全角に引き続きありがとうございます!
VOICEVOXはまだかなり細々とした課題を抱えているので、またよかったらPRやコメントお待ちしています!!
Co-authored-by: Hiroshiba <hihokaruta@gmail.com>
お二人共レビューありがとうございました!! |
内容
cudaかDirectMLが利用できないときに、GPUモードへの切り替えをできないようにしました
関連 Issue
ref #298
スクリーンショット・動画など
cudaかDirectMLを利用できるとき(GPUがないので手動で状態を変えています)
cudaかDirectMLを利用できないとき
その他