私はOpenCLを使用しており、ATI 4850カードを持っています。それはありますGPUデバイスで同時に実行できるタスクの数はいくつですか?
- CL_DEVICE_MAX_COMPUTE_UNITS:10
- CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS:3
- CL_DEVICE_MAX_WORK_GROUP_SIZE:256
- CL_DEVICE_MAX_WORK_ITEM_SIZES:(256、256、256)
- CL_DEVICE_AVAILABLE:1
- CL_DEVICE_NAME:ATI RV770を
何ta sksは同時に実行できますか?
CL_DEVICE_MAX_COMPUTE_UNITS * CL_DEVICE_MAX_WORK_ITEM_SIZES = 2560ですか?
具体的には、1つのコアプロセッサで1つのタスクしか実行できません。デュアルコアは2つのタスクを実行できます... 1つの時点でGPUを実行できるタスクはいくつありますか?言い換えれば、GPUにはいくつのプロセッサが搭載されていますか?
どういう意味ですか?一度に実行できるカーネルの数、またはGPU上で実行できるスレッドの数はいくつですか? –
おそらくカーネルです。私は仕様を見て、それは "処理要素"と呼ばれています。だから問題は言い換えることができます: "GPUにはいくつの処理要素がありますか?" – Dmitriy
そう簡単には分かりません。 GPUには、多数のスレッド(「ワープ」または「波面」)を同時に並列に実行する複数の計算ユニットがあります。 nVidiaの場合、これは現在32で、ATI 64の場合です。ワープサイズに関連するCLキャップがあるかどうかはわかりません。さらに、各ユニットは、ワープが何らかの理由でブロックされたときに、ハードウェアスケジューリングされる計算ユニットごとの未知数(あるドキュメントでは、nVidiaは1024ということもあります)を飛行スレッドとして持つことができます。同様の数値を仮定すると、GPUには320,000スレッドに近いものになります。 – Damon