症状
Windows でMariを使用すると、Bakery によって実行されるような複雑な GPU 計算中にMariフリーズし、最終的にクラッシュすることがあります。
原因
このまれな現象は、多くの場合、Windows で設定されたタイムアウト検出および回復 (TDR)レジストリ キーによって発生します。
GPU計算によるシステムのフリーズを防ぐため、Windowsは指定された「処理時間制限」に達した操作をキャンセルし、GPUドライバーを再起動します。これにより、長時間の処理を引き起こしたアプリケーションがフリーズまたはクラッシュします。
この処理時間制限は、操作をキャンセルして GPU ドライバーを再起動するまでの待機時間を Windows に指示する 2 つのレジストリ キーによって設定されます。
- TDRDelay は、計算中に GPU が応答しないものと判断するまでに Windows が待機する時間を秒単位で示します。
- TdrDdiDelay は、ソフトウェア操作が GPU ドライバーから抜け出すのに時間がかかりすぎると判断するまで Windows が待機する時間を秒単位で示します。
Mari GPU を集中的に使用するため、一部の計算はデフォルトの TdrDelay 制限である 2 秒より長くかかることがあります。
解決
Windows コンピューターで負荷の高い GPU 計算を実行しているときにMari頻繁にフリーズしたりクラッシュしたりする場合は、レジストリの TdrDelay キーと TdrDdiDelay キーを 60 秒などの高い値に編集することをお勧めします。
-
警告:レジストリを誤って編集すると、予期せぬ深刻な結果を招く可能性があり、システムの起動が停止したり、オペレーティングシステムの再インストールが必要になる場合があります。このページに記載されているレジストリキーはそのような問題を引き起こすことはありませんが、手順を完全に理解していない場合はレジストリを編集することはお勧めしません。Foundry Foundryシステムレジストリの変更によってシステムに生じたいかなる損害についても責任を負いません。
TDR レジストリ キーの詳細については、次の Microsoft の記事を参照してください: タイムアウトの検出と回復 (TDR)
- 以下の手順でMariで発生している問題が解決した場合でも、 Foundryのサポートチームにご報告ください。Foundry は、すべてのソフトウェアがデフォルトの TDR 値で正常に動作することを目指しています。サポートチケットの発行方法については、こちらをご覧ください。
Q100064: サポートチケットを発行する方法
TdrDelayおよびTdrDdiDelayレジストリ キーを編集するには:
- Windows のスタート メニューでレジストリ エディターを検索し、選択して起動します。
- 次のパスを検索パスに追加してEnter キーを押して、GraphicsDrivers キーを選択します。
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers
- 次のように表示されます。
- 上の画像のように、 TdrDelayキーがまだ存在しない場合は、右側のペインで右クリックし、 「新規」>「DWORD(32ビット)値」を選択します。大文字と小文字が正しく区別され、末尾にスペースがないことを確認しながら、 「TdrDelay」という名前を付けます。
- 新しく作成された TdrDelay キーをダブルクリックして編集ウィンドウを開きます。
-
基数設定を「10進数」に変更します。次に、 「値データ」をデフォルトの2より大きい値(例えば60 )に設定します。この値は、計算中にGPUが応答しないと判断するまでのオペレーティングシステムの待機時間を秒単位で示します。
- [OK]を選択します。
- 手順4~7を再度実行して、 TdrDdiDelayキーを作成します。デフォルト値は5秒ですが、 TdrDelayキーに設定した10進数値と同じ値に変更することをお勧めします。
- 変更を有効にするには、レジストリ エディターを閉じてコンピューターを再起動します。
注意: Windows のアップデートまたは GPU ドライバーのアップデートにより、これらのキーがデフォルト値にリセットされる場合があります。
さらに詳しく
パフォーマンスを向上させ、クラッシュを回避するためにユーザーが実行できる方法は他にもたくさんあります。詳しくは、以下の記事をご覧ください。
Q100188: Mariおよび特定のプロジェクトのパフォーマンスの向上
Mari GPU やその他のハードウェア コンポーネントを使用する方法の詳細については、次の記事を参照してください。
Q100078: Mariのハードウェアコンポーネントの使用方法
さらなる支援
それでも問題が解決しない場合は、サポート チケットを作成し、この記事で要求されている情報を提供してください。
Q100090: Mari問題を報告する際にサポートに送信する情報
サポート チケットを開く方法の詳細については、次の記事を参照してください。
Q100064: サポートチケットを発行する方法
私たちはそれを聞いて申し訳ございません
理由をお聞かせください