2

まず、私はOpenCLの初心者でさえありません。それが何であるかは知っていますが、1行のコードを記述したことはあまりありません。しかし、私は非常に単純なオープンソースプロジェクトでいくつかのOpenCLを調べましたが、コードの構造は非常にCに似ており、C / Obj-C開発者であるため、コードの構造を理解するのは非常に簡単なようです。

前述のオープンソースプロジェクトには1つの問題があります。完全なGPU優先度でOSXマシン上で実行したいと考えています。これは、アプリケーションを実行してもMacは機能し続けますが、非常に劣化した状態にあることを意味します。

アプリケーションを簡単に変更し、そのアプリケーションのGPU優先度を下げるためにフラグを設定する方法はありますか?

OpenCL APIを知らないかもしれませんが、アプリケーションの初期化関数に配置できる単純な関数呼び出しが1つか2つあれば、おそらく自分で修正できます。

4

1 に答える 1

1

clEnqueueNDRangeKernelの呼び出しは、おそらくそのアプリケーションでGPUデバイスでOpenCLカーネルを起動するために使用される呼び出しです。このメソッドに渡されるwork_dim、global_work_size、local_work_sizeの値を調整して、応答性が向上するかどうかを確認できます。カーネルを作成した人がこれらのサイズを指定または想定した場合、カーネルが機能を停止する可能性があることに注意してください。その場合、これを実現するにはカーネルを編集する必要があります。

OpenGL拡張ビューアを使用して、ハードウェア設定のこれらの各パラメータで許可されている値の範囲を確認できます。

于 2012-05-17T14:48:53.753 に答える