nvlddmkm エラーの軽減に関するメモです。
以下があります。
いずれの場合にもイベントビューアーに "nvlddmkm" エラーが記録されます。
多様な状況で発生するため、確定的な発生原因は不明ですが、以下があります。
AI処理の連続稼働で発生確率が若干高まる印象があります。空調を強めるなどして冷却をすると若干発生頻度が下がる気がします。
次節の演算スパイクとも関連しますが、GPUが電力不足の可能性が疑われます。GPUの電力モードをパフォーマンスに設定すると、気持ち発生頻度が下がる気がします。
もっとも疑わしい原因です。演算量が高い状態はGPUの負荷が上がるだけで、問題は出ないですか。
急激な演算量の増加やVRAM利用増加のタイミングで、GPUの応答が追い付かずに、nvlddmkm エラーが発生する可能性です。
特にLatent生成後のVAE処理への切り替えタイミング、バッチ間処理で頻発することからも疑わしさがあります。
急激な演算量の増加タイミングで、GPUの電力供給要求が瞬間的に上がり、電源が対応できずに電圧が下がってしまい、
その結果、GPUの応答ができなくなる。という状況になると予想されます。
完全に発生を防ぐことは難しいかもしれませんが、以下の対処方法があります。
電力モードをパフォーマンスモードにします。
最大消費電力を90%や80%程度に下げます。
ディスプレイドライバーを更新します。
CUDA Toolkitを更新します。
演算量を下げるモジュールを導入して演算スパイクがなるべく発生しないようにします。
どのような対処法があるかは次のセクションで解説します。
リモートデスクトップでPCに接続すると、GPU処理がリモートデスクトップにも割り当てられるため、エラーの発生可能性が上がります。リモートデスクトップを使わずに実行します。
GPUを利用するPhotoshopやWebブラウザなどを極力閉じます。
Webブラウザ(Edge)の[使用可能な場合はグラフィックス アクセラレータを使用する]のスイッチをオフにする。
Windowsの設定の[システム > ディスプレイ > グラフィック] 画面の[ハードウェア アクセラレータによる GPUスケジューリング]nosuのスイッチをオフにする。
演算量を下げるために以下を導入します。
画像生成、動画生成のどちらにもあります。以下の記事を参照してください。
キャッシュ機構を導入して演算量を下げます。
サンプリングステップ数を下げて、演算量を下げます。
画像や動画出力の解像度を下げて、演算量を下げます。