このページの本文へ

【IDF 2008 上海レポート Vol.4】

ビジュアル・コンピューティング時代のソフトウェア開発とは?

2008年04月06日 09時00分更新

文● 山本雅史

  • この記事をはてなブックマークに追加
  • 本文印刷

 IDF上海の2日目となった3日の基調講演は、インテルのソフトウェアに関する取り組みと、今後のコンピューティングに対するビジョンを示したものとなった。

アンドリュー・チャン氏

Intel Research副社長のアンドリュー・チャン氏

 実はこの講演、当初は「デジタル・トランスフォーメーション」というテーマでインテルCTOであるジャスティン・ラトナー(Justin Rattner)氏が講演をする予定だったのだが、ラトナー氏が急病のため上海にこれず、インテルの研究部門であるIntel Research副社長のアンドリュー・チャン(Andrew A. Chien)氏が行なった。

レネー・ジェームズ氏

ソフトウェア&ソリューション事業部のレネー・ジェームズ氏

 初めの講演は、インテルのソフトウェア&ソリューション事業部のレネー・ジェームズ(Renee J. James)氏による、ソフトウェア開発支援の取り組みの話題であった。

 レネー氏によれば、インテルのソフトウェアに対する投資はハードウェアに勝るとも劣らないほどで、特にオープンソフトウェアへは強くコミットとしているという。

 実際、IDF上海で発表されたMID(Mobile Internet Device)向けのLinux OS開発のために、2007年に「Moblin.org」という組織を立ち上げている。Moblin.orgでは、LinuxをMID用にチューニングしたパッケージを提供している。

MIDのLinux OSやアプリケーションは、Moblin.orgでオープンソースとして開発されている

MIDのLinux OSやアプリケーションは、Moblin.orgでオープンソースとして開発されている

 「現在、インテルで取り組んでいるのは、ビジュアル・コンピューティングのための基盤づくりでである。ビジュアル・コンピューティングを実現するために、マルチプロセッサーを使いこなせる新しいコンピューター言語「Ct」(マルチスレッドに最適化したC言語)を提供している。さらに、新しいビジュアルイメージの開発が容易に行なえるよう、レンダリングエンジンの「Pixomatic IP」、物理シミュレーターの「Havok」などを買収して、インテルからライブラリーとして提供している」(レネー氏)

インテル製のライブラリーで作られたフォトリアリスティックゲームのイメージ映像

インテルでは、フォトリアリスティックなゲームを開発できるように、さまざまなライブラリーの提供を行なっている

ビジュアル・コンピューティングの分野に関わる、インテルが買収したソフトウェア会社

インテルは積極的にビジュアル・コンピューティングの分野にコミットするために、いくつかのソフトウェア会社を買収している。これらの企業の製品などは、ライブラリーとしてインテルから提供される

関連するプログラミング言語やツール類もインテルから提供されている

ビジュアル・コンピューティングのためのプログラミング言語やツール類もインテルから提供されている


マルチコアが提供するCPUパワーが世界を変える


 ラトナー氏に代わり急遽ピンチヒッターにたったチャン氏は、マルチコアCPUによるパラレルプログラミングがもたらす変化について語った。

 マルチコアが提供するコンピューティングパワーの好例としてチャン氏は、米Refocus Imaging社を紹介した。Refocus Imagingの技術「Light Field Camera」では、デジタルカメラの撮像素子で光の点を集めるのではなく、光のベクトル(光の場として)を集めて、そのデータを後処理することで写真を作り上げる。

既存のカメラと「Light Field Camera」の違い

Refocus Imaging社では、「Light Field Camera」という特殊なカメラを開発している

 このLight Field Cameraのすごい点は、画像を後処理で作り上げるため、例えばピント合わせが必要ない。後処理により、画像データから必要な部分にピントを合わせることができる。前後に並んだ3人の女性を撮影する場合、誰かにピントが合うと他の人には合わないという状況になる。しかしこのカメラを使えば、自由自在に撮影後のデータから、ピントの合った画像を作り出すことができる。また、演算処理で画像を作りだすため、現実にはありえない、手前から奥まで、すべてにピントがあった画像を撮影できる。

Light Field Cameraは画像をピクセルではなく、光のベクトルとして保存する

Light Field Cameraは画像をピクセルではなく、光のベクトルとして保存する

左の写真では後ろの女性にピントが合っているが、右のように演算処理で全員にピントを合わせることもできる

 カメラ自体も、一般的なデジタルカメラとは仕組みが異なる。映像を演算で作り出すため、1枚の画像を完成させるためには膨大な計算が必要となる。また演算自体も、ベクトル演算などの今までのCPUで苦手としていたものが多用される。こうした用途には次世代の「Nehalem」や、さらに先の世代である「Sandy Bridge」といった将来のCPUが適するというわけだ。

 このような処理を行なうプログラミングを手作業だけで書くのはあまりにも難しいため、インテルが提供しているのがCtというパラレルプログラミング専用の言語だ。Ctを使えば、C言語でプログラミングするのと同じスタイルでプログラミングでき、コンパイラ自体がマルチスレッド対応するようにプログラムを分割する。Ctはコア数が少ないCPUでは、それほど威力を発揮しないが、コア数が増えれば増えるほど、パフォーマンスがアップしていく。

C言語を基盤としたマルチスレッド対応言語「Ct」

インテルでは「Ct」という、C言語をベースにマルチスレッドに対応するプログラミング言語を提供している

Ctはコア数が多いほど性能を上げられる

Ctを使えば、CPUのコア数が増えれば増えるほどパフォーマンスがアップする

 こうしたパラレルプログラミング用の言語を利用していくのは、「認識」という分野であるとチャン氏は語る。中国のNeusoft社では、自動車に搭載されたカメラの映像から、リアルタイムに対向車や追い越し車、人などを認識して、自動車を安全に運転できるようにするドライビングアシストシステムの研究を行なっている。

Neusoft社の画像認識ソフト

Neusoft社の画像認識ソフト。ビデオカメラで撮影された自動車を自動で認識している

Neusoftのサンプルコード比較

Neusoftで作ったサンプルコードでは、中央のCtが最も短いコードとなっている

 この最終目標としては、米国のDARPA(国防高等研究計画局)などで研究されているロボット自動車が挙げられる。このロボット自動車は完全に無人運転で、自車載カメラなどの各種センサーからの情報を搭載コンピューター自身が判断して、ハンドルを切ったり、バックして駐車場に止めたりするものだ。

 こうしたビジュアル・コンピューティングを実現ためには、まだまだ膨大なコンピューティングパワーが必要だ。だからこそ、Nehalemを筆頭としたマルチコアCPUを進化させていくことで、夢に描いた世界が実現できるとチャン氏は述べた。

■関連サイト

カテゴリートップへ

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン