GPUにジョブを割り当てる方法

GPUにジョブを割り当てる方法

Computerbase.deでベンチマークを見つけました(http://www.computerbase.de/artikel/grafikkarten/2013/intel-haswell-grafik-fuer-desktop-pcs-im-test/3/ドイツ語)ある場合は、タスク(ここではビデオトランスコーディング)がCPUによって実行され、別の場合は(統合)GPUによって実行されます。

ここに画像の説明を入力してください。

LinuxでGPUに作業(ビデオトランスコーディングなど)を明示的に割り当てる方法は?

ベストアンサー1

GPUでコアを活用する最善の方法は、次のものを使用することです。オープンCL。アイデアは簡単です。カーネル(ライブラリを使用せずにデフォルトのCコードのみを使用できる小さなコードスニペット)を作成します。たとえば、フレームをフィルタリングするには、各ピクセルに対していくつかの計算を実行する必要があり、これはカーネルコードが実行する操作です。

その後、カーネルをコンパイルし、GPUにメモリを割り当て、メインメモリからデータをコピーする必要があります。結果のメモリも割り当てる必要があります。次に、スレッドを作成し、実行のためにカーネルをGPUに送信します(CPUコアとGPUコアの両方を使用してカーネルを実行することもできると思います)。したがって、各スレッドはピクセルごとに1回カーネルを実行します。結果をメインメモリにコピーしてから、CPUを使い続けます。

これは私が説明する最も簡単な方法ですが、まだ知っておくべき詳細が100万ものあるので、学習を始めることをお勧めします;)グラフィックカードメーカーの開発者のウェブサイトから始めることができます。 OpenCLの開発を開始する方法のライブラリとチュートリアルを見つけることができます。

おすすめ記事