Mercuryもまた、こういった状況を改善しようとしており、Cell用プログラミングの講習会を開催することを2月13日の週に発表した。同社の最高技術責任者(CTO)のCraig Lundは声明の中で、「Cellプロセッサに対するプログラミング上のアプローチは、多くのソフトウェア開発者が用いているものとは異なったパラダイムに基づいている」と述べている。
Octopilerといったコンパイラは、プログラマが記述したソースコードを、チップが理解できるマシン語に翻訳する開発ツールである。Octopilerという名前は、Cell上の8基の特殊用途向けエンジンをソフトウェアがどう利用するかを制御する能力を備えていることに由来する。
コンパイラは、プログラマの作業を支援する一方でハードウェアの性能を100%引き出す、開発上の重要な要素である。このため、チップの設計が新しくなれば、コンパイラはそれに適応しなければならない。Alexandre EichenbergerをはじめとするIBMのリサーチャーらは、Cellコンパイラに関する論文の中で、「プロセッサがより複雑になることで、洗練されたコンパイラ技術の必要性が高まる」と述べている。
Octopilerは大抵のコンパイラよりも多くの作業をこなす。まず、Octopilerは、PowerPCコア用のマシン語命令だけではなく、8基のSPE用の異なるマシン語命令を生成しなければならない。また、Octopilerは9基のコアにソフトウェアを分配し、プログラム間の連携方法やメモリ共有方法を管理しなければならない。
そしてOctopilerは、SPEが「SIMD」(Single Instruction, Multiple Data:1つの命令で複数のデータを処理できる構造のこと)型プロセッサであることを意識して、ソースコードを分析しなければならない。SIMD命令によって、複数のデータ要素に対して同じ命令を一度に適用できるようになり、チップの演算が最適化されることになる。
プログラマは、Cellコンピュータがなくとも、今からでもプログラミングを始めることができる。
IBMは2005年11月、早期にリリースされたこの技術に興味のある開発者向けに、同社の「AlphaWorks」サイトでOctopilerの1バージョンをリリースした。Octopilerは、IBMのXLコンパイラをベースにしており、Red Hatが中心になって開発を進めているLinuxの「Fedora」が稼働する64ビットのx86コンピュータ上で実行できるようになっている。
Cell向けバージョンのXLを使用したい開発者は、広く利用されているGCCコンパイラに対してCell用の改良を施したものをBarcelona Supercomputing Centerから入手する必要がある。
この記事は海外CNET Networks発のニュースを編集部が日本向けに編集したものです。海外CNET Networksの記事へ