Cell Broadband Engineを利用したホログラム計算(前編)
シミュレータを停止させる場合はコントロール・パネルの[Stop]ボタンを,終了させる場合は[Exit]ボタンをクリックします.
既にコンパイル済みの実行ファイルがある場合は,仮想ターミナル・ウィンドウで
callthru source (転送したいファイル)> (保存するファイル名)
と入力すれば,シミュレータ上の任意のディレクトリにファイルを転送できます〔図8(a)〕.ここで,転送したいファイルはホスト上の絶対パスで,保存するファイル名はシミュレータ上の相対パスで指定します.
プログラムを実行する際に必要なデータ・ファイルなどもこのコマンドで転送できます.その後,以下のようにコマンドを入力して実行ファイルの属性を実行可能に変える〔図8(b)〕と,シミュレータ上でファイルを実行できます〔図8(c)〕.
chmod +x (実行ファイル)
./(実行ファイル)
図8(a)シミュレータへ実行ファイルを転送
図8(b)実行ファイルの属性を変更
図8(c)シミュレータ上でファイルを実行
図8 ファイルの転送
シミュレータの基本的な使い方は,「実行ファイルなど必要なデータをシミュレータに転送」→「転送しただけでは通常のファイルなので,実行できるように属性を変える」→「実際にシミュレーションしてみる」といった流れになる.ちなみに右下に見えるコントロール・パネルのPPEとSPEの表示は,非稼動のときは赤色に,稼働中のときは緑色になる.
もしプログラムを実行した結果として何かデータ・ファイルなどが生成される場合は,以下のようにコマンドを入力して,そのファイルをホスト・パソコン上に転送することも可能です.
callthru sink (転送したいファイル)> (保存場所)
なお,転送したいファイルはホスト上の絶対パスで,保存場所はシミュレータ上の相対パスで指定します.このようにすると,実際にCBEを使用できます.
以上の操作は最も基本的なCBEシミュレータの使い方です.このシミュレータは,さらに詳細にCBEの挙動を解析するための機能を有しています.コントロール・パネル上のそのほかのボタンをクリックすると,シミュレーションする際のクロック数を設定したり,現在の各SPUの状態やレジスタに記録されている情報を表示したり,コマンドの発行状態を確認したりすることもできます.これらの操作の詳細については,SDKをインストールした際に付随する「SystemSim.Users.Guide (IBM Full-System Simulator User's Guide)」などに載っています.英文ですが,興味のある方は挑戦してみるとよいのではないでしょうか.上に載せた基本的な操作方法についてもSystemSim.Users.GuideやフィックスターズのWebサイトで説明されています.
では,どのようにプログラムを作り,どのようにコンパイルすればよいのでしょうか.以下では,実際のCBEのプログラミングを,あるプログラムの移植例を使って説明します.
(後編に続く)
参考・引用*文献
(1)東芝;Cellからの始まり,東芝レビュー,2006年6月号,2006年(http://www.toshiba.co.jp/tech/review/2006/06/index_j.htm).
(2)東芝;Cell Broadband Engineアーキテクチャ Version1.0,2006年.
(3)東芝;SPU C/C++ 言語拡張 Version2.1,2006年.
(4)IBM;Cell Broadband Engine Programming Tutorial,2006.
(5)IBM;Cell Broadband Engine SDK Libraries Overview and Users Guiide Version1.1,2006.
(6)IBM;IBM Full-System Simulator User's Guide Version2.1,2007.
つげ・むねのり,いとう・ともよし
千葉大学大学院 工学研究科 人工システム科学専攻電気電子系コース