前回投稿した通り、PS3にFedora 8をインストールしていたのですが、GNOMEデスクトップの安定性がいまいちであったため、結局Fedora 7に戻すはめになりました。時を同じくしてPC側のFedora 7でファイルシステムが損傷してしまい(FSCKでも修復できず)、こちらもHDDのフォーマット&再インストールとなってしまいました。
そのため、最近公開されたCell SDK 3.0をインストールしました。IBMが公開しているCell SDK 2.1のファイルは既にダウンロードができなくなっており、Eclipse IDE用の修正版プラグインが入手できなくなってしまったこともCell SDK 3.0に移行する要因となりました。
PS3/PC LinuxへのCell SDK 3.0インストール手順
インストールは、FixStarsさんのWebページに掲載されている手順で行いました。PS3/PC Linuxとも同様の手順で行うことができます。SDK 3.0からインストールがyumを使った方法になり、インストールスクリプトを実行すると、必要なファイルを自動的にダウンロードしてくれます。ただ、サーバーが混雑しているようで、ダウンロードにはかなりの時間を要しました。
インストール後は、インストールに使用したisoイメージがマウントされたままになっていますが、この状態で「ソフトウェアの追加/削除」を実行するとデフォルトでインストールされなかったオプションパッケージを追加インストールできます。
XLCの導入
IBMが提供しているXLCはデフォルトではインストールされないため、追加インストールする必要があります。XLCはgccに比べてCellに最適化されたコードを生成してくれるため、速度比較用にインストールしていますが、こいつがちょっと曲者です。
インストール用のisoイメージにXLCが含まれているのですが、このXLCは「シングル・ソースコンパイラ」と呼ばれ、SDK 2.1で配布されたバージョンと動作が異なります。具体的には、一回のコンパイラ起動で、ppu・spuのソースを同時にコンパイルできるため、ppu-gcc, spu-gccのようにコンパイラを起動するコマンドにppu, spuの区別がありません。
そのため、シングル・ソースコンパイラではmakefileの作り方が変わってしまうようで、SDK 3.0に添付のサンプルプログラムがコンパイルできなくなります。同様に、Eclipse IDEで作成した既存のプログラムもコンパイルできなくなります。
ではどうするかと言うと、SDK 2.1のXLCと同様の動作をしてくれる、「XL C/C++ for Multicore Acceleration for Linux」というバージョンがあり、こちらを使用します。ファイルは、以下のURLからダウンロードできます:
インストール方法は、ダウンロードしたファイルを適当なディレクトリに展開して、xlc_installを実行するだけで完了します。
Eclipse IDEの設定
まずは、「ソフトウェアの追加/削除」を起動し、「開発」→「Cell Development Tools」からcellide-3.0.0-18-noarchをインストールします。/opt/cell/ideにプラグインのファイルが展開されます。
Eclipseを起動して、「Help」→「Software Update」→「Find and Install」→「Search for new features for install」→「New local site」から上記のプラグインディレクトリを指定します。
私の場合、Eclipseも新規インストールした状態でしたが、SDK 2.1のプラグインがインストールされている場合、事前に削除してからSDK 3.0のプラグインをインストールするのがよいと思います。
gccを使用したコンパイルはこれで可能となりますが、xlcに関してはコンパイラのパス名を変更する必要があります。「Window」→「Preferences」→「Cell」→「Managed Builder Paths」→「XL Tools Managed Build Paths」を/opt/ibmcmp/xlc/cbe/9.0/binに修正します。
Eclipse IDEのManaged Make C Projectで、ppu-gnu32-release等を選択するとエラーとなる場合があります。この場合、Restore Defaultsを行うとエラーが解消しました。
最近のコメント