IBMは「Octopiler」プロジェクトを通じて、「Cell」チップ用のプログラムに取り組む開発者らを支援する計画だ。
1基のセントラルプロセッシングコアと8基の特殊用途向けエンジンを搭載し、PLAYSTATION 3や高品位テレビ(HDTV)に用いられるCellチップ用にプログラムを開発するのは容易ではない。Octopilerはこうした状況を変えるためのプロジェクトだ。IBM Researchは同プロジェクトに関するチュートリアルを3月に開催し、概要を説明する。同プロジェクトのソフトウェア開発ツールOctopilerは、人間が記述した1本のプログラムを、Cell上のさまざまなコアで同時に実行される複数のプログラムへと変換するものだ。
IlluminataのアナリストGordon Haffは、「Cell用のプログラミングは比較的難しい」と述べ、その理由として、特定のプログラムを、個々のコアで並列に実行される独立したスレッドに分割し、さらにはこれらの処理を同期化する必要性があることを挙げている。「より高次の、より抽象化されたモデルを用いることによって、プログラミングはずっと簡単になる」(Haff)
従来は困難だったプログラミング作業の一部を自動化することによって、OctopilerはCellベースのサーバの用途を拡大することができる。なお、IBMとMercury Computer Systemsは、同サーバの販売を2006年中に開始する予定だ。
正式には「Cell Broadband Engine」と呼ばれるCellチップは、IBM、ソニー、東芝が共同で開発したものだ。このチップは、ソニーのPLAYSTATION 3や、東芝の高品位テレビ向けに開発された独特の設計になっている。同チップのマルチコア設計は、ビデオゲームの物理シミュレーションに適していているだけではなく、技術計算にも威力を発揮できるようになっている。このため、IBMとMercuryは、3次元医療画像処理やレーダー信号処理といった業務向けにCellベースのシステムを開発中である。
各Cellチップには、「Power Processor Element(PPE)」と呼ばれる「PowerPC 970」のプロセッシングコアがそのまま搭載されており、Linuxなどの既存ソフトウェアを実行させることができるようになっている。Cellを独特のものにしているもの(そして、これがプログラミングを難しくしている)は、各チップに8基搭載されている「Synergistic Processing Element(SPE)」だ。Cell上のこの特殊用途エンジンは、特定用途向けに作成されたプログラムを実行できるようになっている。また、メモリやCellチップ上の他のコアとの接続は個別に用意されている。
Cell用プログラミングが困難であることを認識したIBMは、プログラミングを容易にすることを2004年に公約した。その後の取り組みの成果は2006年3月から提供される予定だ。IBMのリサーチャーが、ニューヨークで開催される「International Symposium on Code Generation and Optimization」におけるチュートリアルで、その詳細を発表する予定になっている。
プレゼンテーションの説明には、「熟練したプログラマは、マシンに秘められている力を100%引き出すようなアプリケーションを開発し、チューンアップすることができます・・・洗練されたコンパイラ最適化技術によって、ユーザビリティとパフォーマンスのバランスをとることが可能になると考えています」と記述されている。