CELLプロセッサ--Momonga


Momonga

Cell SDK 2.1 インストール (Momonga rev:15290)

Cell SDK 2.1 がリリースされましたので、Momonga trunk rev:15290 にインストールしました。と言ってもベースは Fedora に近いので、なんの問題もなく toolchain のインストールとサンプル等のコンパイルができてます。

で、肝心の Cell SDK 2.0 との差分ですが、先日リリースした x264 for cell を 2.0, 2.1 でコンパイルして、spu 用のバイナリを readelf したところ、printf() 等の newlib 関連の関数のサイズには違いがありましたが、x264 の関数のサイズには違いはありませんでした。

但し、spu overlays のサンプル (overlay) の spu 用バイナリを objdump -d してみると、overlay 用に toolchain が用意するコードが若干変わっているようです (se.o は相変わらず、非 overlay section です)。

環境構築 (Momonga 編)

最初はお決まりの SDK (Toolchain) のインストールです。CBE の SDK (現在の最新は 1.1) は FC5 指定のようですが、個人的に使用しているのが Momonga なので、出来ればこれでも動くのかトライしてみます。インストールスクリプトを見ると freeglut という FC5 固有のパッケージを要求するようですが、まあ、Toolchain を使用するだけなら glibc のバージョンが同じ (v2.4 系列) なら動くでしょう、、実は SDK 用に買ったデスクトップ PC がまだ届いてないだけだったりするんですが、こっちが届いたら FC5  で環境構築します。

で、実際のインストールですが、ひたすら rpm -ivh するだけでインストールできます (とりあえずはコンパイル環境が整えばいいので、シミュレータ本体と sysroot image はインストールしていません)。

ppu 用 Toolchain のインストール

rpm -ivh ppu-binutils-3.2-4.i686.rpm \
         ppu-gcc-3.2-4.i686.rpm ppu-gcc-c++-3.2-4.i686.rpm \
         ppu-sysroot-3.2-4.noarch.rpm  ppu-sysroot64-3.2-4.noarch.rpm \
         ppu-toolchain-debuginfo-3.2-4.i686.rpm

spu 用 Toolchain のインストール

rpm -ivh spu-binutils-3.2-6.i686.rpm \
         spu-gcc-3.2-6.i686.rpm spu-gcc-c++-3.2-6.i686.rpm \
         spu-newlib-3.2-6.i686.rpm \
         spu-toolchain-debuginfo-3.2-6.i686.rpm

xlc Toolchain のインストール

rpm -ivh  xlc-cell-cmp-1.1-9.i386.rpm xlc-cell-lib-1.1-9.i386.rpm \
          xlcpp-cell-cmp-1.1-9.i386.rpm xlcpp-cell-lib-1.1-9.i386.rpm \
          cell-spu-timing-1.1-2.i686.rpm

サンプルソースのインストール

このパッケージは freeglut-devel という OpenGL 関連のパッケージを要求しますが、これがナンなのかは後で調べることにして --nodeps 指定でインストールします。
rpm -ivh --nodeps cell-sdk-lib-samples-1.1-10.noarch.rpm

簡単な動作確認

libspe-1.1.0 がコンパイルできるかどうかで確認しました。といっても展開して make するだけです。libspe は Toolchain の場所を絶対パスで指定しているので make するだけですが、実際は以下のように .bashrc 等にパスを設定しておきます。

export PATH="$PATH:/opt/sce/toolchain-3.2/ppu/bin/"
export PATH="$PATH:/opt/sce/toolchain-3.2/spu/bin/"
export PATH="$PATH:/opt/IBM/cell-sdk-1.1/bin/"
export PATH="$PATH:/opt/ibmcmp/xlc/1.0/bin/"

ちなみに、

glibc-2.3 だと、spu-gdb 以外はインストール (rpm -ivh) はできますが、spu-gcc 実行時に glibc のバージョンで怒られますのであきらめましょう。

HOME |  企業情報 |  事業内容 |  採用情報 |  社内活動 |  お問合せ |  サイトマップ
.
Copyright(c)2006 Sijam.Inc all rights Reserved
システム開発 株式会社シジャム