Cell BroadBand Engineで遊ぶ
CellSDK21
シミュレータの起動
/opt/ibm/systemsim-cell/binにパスを通した状態で、
/opt/ibm/systemsim-cell/run/cell/run_cmdline /opt/ibm/systemsim-cell/run/cell/run_gui
で起動。コマンドライン版なら、プロンプトの"systemsim % "に続けて
systemsim % mysim go
でLinuxが起動してくる。
プログラムのコンパイル
たとえば、
PPE
/opt/cell/bin/ppu-gcc -lspe ppe.c
SPE
/opt/cell/bin/spu-gcc spe.c
実行
シミュレータに作成したバイナリイメージをアップロードして実行する。
なので、まずは、起動したシミュレータ上のプロンプトで
callthru source バイナリ > シミュレータ上でのファイル
として、バイナリを転送。
転送したバイナリは、すべて実行ビットを立てておいてメインなPPEバイナリを実行する。
SPEのバイナリも実行ビットを立てておかないと、spe_open_imageで失敗する
昔の話
IBMからCellプロセッサ(CBE)向けの開発キット群(以下CBE環境)が公開されました。
フルシステムシミュレーター、コンパイラ、ライブラリ、
SPU向けGNUの開発キット、Linuxカーネル拡張、サンプルプログラムがあります。
インストール
Linuxのインストール
対象としているOSがFedoraCore4なので、おとなしくFedoraCore4をインストール。
CBE環境を使用する際には、ファイルイメージを
loopバックしてローカルにマウントしたりもするので、SELinuxを無効に。
また、CBE環境では、tkが使われているので、インストールしておきます。
私は、「開発者向けワークステーション」(だったかな?)とかを選択しました。
CBE環境
ここから必要なファイルをダウンロードします。
インストールは、
sh install.sh
で終了。ramdiskのところで、mountに失敗した場合は、
SELinuxが有効になっていないか確認してみましょう。
動かしてみる
展開したディレクトリから
cd systemsim-cell-release/run/cell/linux/
と移動して、
mount -o loop sysroot_disk /mnt ../run_gui