■OpenCLの実力
1. OpenCLとは
OpenCLとは、今まで描画に使用されていたGPUの演算能力を、3D描画などの目的以外でも汎用的に使用する技術のことである。
FPS(First Person Shootin)などの3Dゲームはともかく、通常の使用においては、GPU(Graphics Processing Unit)は常に処理をしている訳でなく、アイドルの状態である。また、CPUとは異なり、複雑な条件分岐が発生しないストリームデータの処理においてはCPUよりも遥かに高速に処理することができる。そこで、CPUの用に汎用的にGPUを活用しようとGPGPU(General Purpose GPU)というアプローチが生まれ、特定のGPUに依存しないオープンな規格として纏めようとAppleが中心となって提唱したのが
OpenCLである。
Snow LeopardはOpenCLを実装した初めてのOSであり、以下のGPUの組み合わせで使用することができる。
NVIDIA |
GeForce 8xxx |
GeForce 8600M GT、GeForce 8800 GT、GeForce 8800 GS |
GeForce 9xxx |
GeForce 9400M、GeForce 9600M GT |
GeForce GT1x |
GeForce GT 120、GeForce GT 130 |
GeForce GT2x |
GeForce GTX 285 |
Quadro FX |
Quadro FX 4800、Quadro FX5600 |
ATI |
Radeon 48x0 |
Radeon 4850、Radeon 4870 |
■追記 (2009/10/25)
Late 2009 iMacでATI Radeon 4670がサポートされた。Snow Leopardの
技術情報では更新されていないが、Open CLをサポートしていると思われる。
スペックをみるとCore 680MHz/Memory 790MHz(GDR3)であり、デスクトップ版のCore 750MHz/Memory 1000MHz(GDR3)よりもクロックが下げられている。4650がCore 600Mhz/Memory 500MHz(DDR2)である為、実パフォーマンスは4650と4670の中間あたりと思われる。
現状、Radeon 4670のサポートは2009 Late iMacのプレインストール版10.6.1(カーネル10.1.2)のみであるが、10.6.2からRadeon 4670が標準でサポートされる。これにより、kextにデバイスIDを追記することで4350/4650も使用可能となり、現状の48x0のみから、46x0/45x0/43x0シリーズも使用できるようになる。
Mac miniとしてこの情報から考察すべき点は、内蔵GPUのパフォーマンスが振るわないArandaleではなく、独立GPUを必要とするMobile版Core i5/i7のClarksfiledと、消費電力の少ないRadeon 4550(*1)やそれ以下のMobility Radeon 4570/4530などを組み合わせた構成を取ることも想定できる。
(*1) デスクトップ版で消費電力は20Wであり、パフォマーンスにおいてもGeForce 9400GTより上である。
2. テストプログラムの実行
OpenCLを使用したアプリケーションはSnow Leopardリリース時点では無いが、Appleの開発者向けサイトでサンプルプログラムが公開されている。ただし、かなり不親切で公開されているのはソースのみであり、OpenCLの実力を体験するには自分でビルドする必要がある(説明ドキュメントも満足に整備されておらず、ソースを読まなければいけない状態とかなり雑)。
■テストプログラム実行環境
MainMachine |
Apple Mac mini (MB463J/A) |
Memory |
8GB(4GBx2) |
SanMax SMD-N4G68HP-10F DDR3-1066 S.O.DIMM 4GB CL7 hynix/JEDEC |
Storage |
SSD 256GB |
SAMSUNG PB-22J (MMDOE56G5MXP-0VB) |
ODD |
Blu-ray Read Super Drive |
Sony NEC Optiarc BC-5600S Slim Combo Drive |
OS |
OSX Snow Leopard 10.6.1(64bitカーネル) |
HFS+ (Journal Enabled) |
■テストプログラムと実行結果
主な操作キー
1-6: Select an N-Body System Configuration
g: Select the next Graphics Device
s: Select the next Simulation Device
r: Enable/Disable Auto Rotation
d: Show/Hide Dock UI
h: Show/Hide HUD UI
u: Show/Hide Simulation Updates Meter
f: Show/Hide FPS Meter
space: Pause/Unpause Simulation
0: Quit
- CPU演算の結果 (Core 2 Duo 2.0GHz 2Core/2Thread)
- GPU演算の結果 (GeForce 9400M Core 450MHz/Shader 1100MHz/SP16)
- CPU+GPU演算の結果 (Core 2 Duo 2.0GHz+GeForce 9400M)
(追記:2010/1/20)
- 9800GT GEのパフォーマンス (GeForce 9800 GT Core 550MHz/Shader 1375MHz/SP112)
主な操作キー
. : NoisesBias up
/ : NoisesBias down
- : FieldInstance(Glass) up
= : FieldInstance(Glass) down
; : FlowSpped(Wind) up
' : FlowSpped(Wind) down
q : quit
最終更新:2010年01月20日 21:45