Win + ROCm + Pytorchでc10.dllエラーで沼った話(解決済み)

  • タグ:#AI生成#Radeon#ROCm

  • まえがき

    SD.Nextが知らぬ間にRDNA2 + Win版ROCmに対応していたので、久々に更新して出力テストしたときの話でした。

    ほぼ設定変えてないのにエラー吐く…

    内容はPython.exeとc10.dllによる0xc0000005エラー。実はその前にAce-Step-1.5(本家Gradio版)でも同じ状況になり、記事サムネは数日間迷走していた時にChatGPTに質問した時のものです。もちろん何も解決せず…

    SDXLで1024x1024出力は以前の記事にある通り、SD.NextとRX6800で普通にできていたので、なんかおかしいなと。


    解決法

    先に結論だけ書きます。

    Pytorchのc10.dllで0xc0000005エラーが出た場合は、仮想メモリをカスタムサイズにして増やせ

    01

    という話のようです。

    参考にしたのは以下のgithubのissue

    こちらはCUDAでの話なのですが、VAE処理に移る際のエラーかつ以前は出力できたとのことで、状況が似ていました。(ここでシステムメモリ食いつぶしてることにやっと気づいた) 私の場合メインメモリ容量がリンクの方と同じ32GBのため、システム管理設定から画像のように最小8192、最大32768に変更。 これでc10.dllのエラーが消え出力に成功。

    02

    この設定で本家版Ace-Step-1.5もとりあえず出力はできたのですが、 ComfyUI版Aceはメモリ設定を変えずとも、同URLで入れたROCm & Pytorchホイールで出力できました。謎…

    なお最適な容量設定はご利用のVRAM, RAM容量により変わるようです。 最小容量は多めにとっておいたほうが良いかもしれません。


    あとがき

    Githubの人は仮想メモリ無効だからまだ分かるけど、 システム管理設定でエラー吐くの悲しい

    これに尽きる。まあ容量変更時に再起動いるしそういう為のものじゃないんでしょうが。

    Ace-Stepは当初記事ネタになりそうと思って色々やっていたのですが、どうにもVGM的なものとはXLですらソリが合わないようで… 歌物には全く興味がないため無事お蔵。

    ちなみに四苦八苦してようやく使えた本家ACEですが、どうしてもCPUオフロード必要なのかクッソ処理遅かったです。 acestep.cppでVulkan使ったほうがいい。てか多分Sunoで良い。