« KONAMI、iPhoneアプリ配信開始。第一陣は「SILENT HILL The Escape」「DanceDanceRevolution S Lite」「フロッガー」の三作品。 | トップページ | ほんとにiPhone nanoはでるの?制作者としては、正直なところ出て欲しくないんですが。 »

2008年12月23日 (火)

「OpenCL」ってなに?

そもそも「OpenCL」とはなにものか?
いずれiPhoneアプリも無関係ではいられなくなる「OpenCL」について、Cocoaアプリの開発者ならみんな読んでいるであろうマイコミジャーナルのコラム「OS X ハッキング!」がわかりやすく解説してくれています。



OS X ハッキング! 305回 もっとわかりやすく「OpenCL」を解説する - マイコミジャーナル

つまり、「OpenCL」とは極端にいうと、CPUの仕事をそれ以外のチップに肩代わりさせる技術を手軽に利用するための仕組みを言うようですね。
特に、今や有り余るパワーを持つことになったGPUに処理を肩代わりさせる事で全体のパフォーマンスと操作性を向上させることができるようになります。

そして何より重要なのは、ソフトとハードの線引きがより明確になるという事。
プログラマでない人は意外に思えるかもしれないけど、ソフトを開発するうえで高いパフォーマンスを発揮するためにはプログラマはハードウェアの仕様の事をある程度知っておかなくてはならないんです。これは動作周波数がいくらとかといった次元の話ではなく、そのハードウェアが内部でどのように動いてデータを処理しているのかといった事をかなり細かく理解しておかなければ、そのハードウェアのパフォーマンスを引き出すことはできません。

極端な例だと、MacのCPUのPower PCとインテルチップ(x86系)の例があります。Power PCとx86系は全く中身の違うCPUなので同じプログラムを動かす事は出来ません。これが動くのはApple(とアプリの開発者たち)が様々な技術を駆使して表面上同じように動作するようにしているからです。

MacのCPUの例は極端でしたが、「OpenCL」の技術はプログラマがハードの専門知識を持たなくてもパフォーマンスの高いアプリを開発できるようになる技術なんです。
このことは、特に携帯電話のような組み込み機器で大きな意味を持ちます。今のケータイは高いパフォーマンスを維持するためにソフトとハードががんじがらめに絡み合っている状態です。
幾重にも絡まった知恵の輪を想像してもらったら良いでしょう。
「OpenCL」はこの絡み合った知恵の輪を解きほぐして一つ一つに分けてくれる技術といえるでしょう。

iPhoneアプリの開発環境であるiPhoneSDKは非常に強力な開発環境ですが、それでもいずれはiPhoneの性能の限界を引き出すためにクリティカルで綱渡りのようなソースを記述するときがくるでしょう。
そんなとき、「OpenCL」があればプログラマは無理をする事無くハードウェアの限界を引き出すことができるようになります。

「OpenCL」がiPhoneのシステムの一部となったとき、あなたはきっと今まで以上に素晴らしい体験が出来ると思いますよ。(*)




(*) と、なったらいいなぁ……。 いや、マジでw


Sponsored link

|
|

« KONAMI、iPhoneアプリ配信開始。第一陣は「SILENT HILL The Escape」「DanceDanceRevolution S Lite」「フロッガー」の三作品。 | トップページ | ほんとにiPhone nanoはでるの?制作者としては、正直なところ出て欲しくないんですが。 »

iPhone」カテゴリの記事

iPhoneアプリ開発」カテゴリの記事

個人的メモ」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/64617/43502593

この記事へのトラックバック一覧です: 「OpenCL」ってなに?:

« KONAMI、iPhoneアプリ配信開始。第一陣は「SILENT HILL The Escape」「DanceDanceRevolution S Lite」「フロッガー」の三作品。 | トップページ | ほんとにiPhone nanoはでるの?制作者としては、正直なところ出て欲しくないんですが。 »