
背景情報:
私は第 8 世代 Intel UHD Graphics 620 を持っていて、OpenCL 計算を行っています。これらは非常に複雑で、最大 500 MB のビデオ メモリを使用できます。Windows の報告によると、このカードには 1,534 MB のメモリがあるはずですが、これは以前行った Minecraft のビデオ メモリ テストで証明されています。
コンピュータには合計 8GB のシステム メモリがあり、そのうち最大 4GB を GPU と共有できます。専用の GPU はありません。
私の問題:
しかし、OpenCL で起こっていることは次のとおりです。
- 計算が始まります。カーソルが少しちらつき始めますが、コンピューターは使用可能です。
- これでカーネルはメモリに完全にロードされ (メモリの使用率は 50% 未満)、GPU が使用され始めます。GPU-Z では使用率が 100% と表示されます。
- コンピューターがフリーズしてしまいました。カーソルの動きさえも、何も機能しません。
- 数秒後、GPU は計算を停止し、その OpenCL プログラムを無期限にフリーズします。
GPU-Z の以前のログには、OpenCL の処理中に負荷が大きすぎたため、GPU がカーソル位置などを更新できなかったことが示されています。
私の質問:特定の実行ファイルにOpenCL操作のために限られた量のGPUパワーを使用するように指示するにはどうすればよいでしょうか。またはカーソル移動などの処理を GPU に実行させないように Windows に指示し、OpenCL に 100% 使用されている場合は GPU に問題がないと伝えるにはどうすればよいでしょうか。
PS 温度は問題ではありません。OpenCL アプリケーションのソースにはアクセスできますが、ソースから再構築せずに適用できるソリューションがあれば最適です。
答え1
正直に言うと、私は暗号通貨マイナー私の〜の上に統合GPUああ、私は何と若くて愚かだったのだろう。
言うまでもなく、この問題は理論的には解決されるWindows に、GUI 要素にソフトウェア (CPU ベース) レンダリングを使用し、GPU を完全に解放するように指示した場合、Windows が OpenCL 以外のすべてに GPU をそのままにしておけば、計算時間をめぐる争いは発生しないため、GPU ドライバーには集中的な計算を停止する理由がなくなります。
少なくとも、それが私の考え方です。Windows と Intel のドライバーのソース コードを調べて、それがまさに起こっているかどうかを確認することはできません。(Ubuntu + メサ咳咳)