[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
プログラミング、3DCGとその他いろいろについて
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
こちらも合わせてお読みください。
今回のテーマはデバイスです。
OpenCLではデバイスとはGPUかCPUのことです。
OpenCLで並列計算しようと思ったら、デバイスを列挙しなくてはいけません。
(プラットフォームのところでも同じようなことを言ったような気もしますが、プラットフォームはソフトウェアで、デバイスはそれで動くハードウェアということだと思います。)
前回出てきたプラットフォームはハードウェアのメーカーを表すようなものでした。
正確にはそのメーカーの作ったソフトウェアですが。
今回扱うデバイスは、そのメーカーの使ったハードウェアのことです。
プラットフォームから、デバイスを取得できます。
using Cloo; class Program { static void Main() { foreach (ComputePlatform platform in ComputePlatform.Platforms) { foreach (ComputeDevice device in platform.Devices) { System.Console.WriteLine(device.Name); System.Console.WriteLine(device.Type); } } } }
実行結果は次のようになりました:
Redwood Gpu Intel(R) Core(TM) i7 CPU Q 740 @ 1.73GHz Cpu
ここで使ったDevice.Typeは次のようなプロパティです:
public ComputeDeviceTypes Type { get; }
DeviceTypeは次の5つがあります:
ComputeDeviceType | 解説 |
Cpu | CPUです。 |
Gpu | GPUです。 |
Accelerator | IBM CELLなどです。 |
Default | デフォルトのデバイスです。 |
All | 使用可能な全てのOpenCLデバイスです。 |