|
SimCell 使い方
|
Let's build SimCell. SimCellはクリーンなC++で記述されています.Intel Linux, Intel Cygwin などの多くの環境で動作します.
SimCellの実行ファイルを作成するためにはコンパイルが必要です.まずはSimCellの配布パッケージをダウンロードしてください.次に,パッケージを展開します.ここではSimCellのパッケージとしてファイル名が
SimCell-0.8.0.tgz であると想定しますが,ダウンロードする版によって,SimCell-1.0.0.tgz といった名前になります.適切に修正してコマンドを実行してください.
まず,次のコマンドでパッケージを展開します.
$ tar xvfz SimCell-0.8.0.tgz
SimCell-0.8.0 というディレクトリが作成され,その中にソースコードなどが展開されます.次に,展開されたディレクトリに移動してコンパイルします.
$ cd SimCell-0.8.0
$ make
次のようなメッセージが表示され,正しくコンパイルされると SimCell という名前の実行ファイルが生成されます.
make SimCell
g++ -Wall -O3 -c main.cc
g++ -Wall -O3 -c memory.cc
g++ -Wall -O3 -c loaderbe.cc
g++ -Wall -O3 -c spe.cc
g++ -Wall -O3 -c spuinst.cc
g++ -Wall -O3 -c eib.cc
g++ -Wall -O3 -c etc.cc
g++ -static -Wall -O3 -o SimCell main.o memory.o loaderbe.o spe.o spuinst.o
eib.o etc.o
| |
Let's run SimCell.
コンパイルが成功していれば,コンパイルしたディレクトリに実行ファイルが生成されます.まずは,引数(パラメータ)を指定しないで実行してみます.
$ ./SimCell
SimCell: Cell/B.E. Simulator Version 0.8.0 2008-03-31
Usage: SimCell [-option] object_file_name
-f: ignore errors due to DMA address violation
...(一部省略)
上の様に,簡単な使い方が表示されるはずです.これがうまく表示されない場合には,なんらかの問題が生じています.
ディレクトリに含まれる Makefile にはサンプルをシミュレーションする規則が記述されています.次のコマンドで,サンプルを実行します.
$ make run
./SimCell -n1 tst/hello
SimCell: Cell/B.E. Simulator Version 0.8.0 2008-03-31
## SPEs: 1
## Mem Latency R/W, BW: 500/ 300, 16 | C2C Latency, BW: 300, 8
Hello world!
## All SPEs are stopped.
## SPEs: 1 | Cycle: 362 | Inst: 361 |
上の様に,メッセージが表示されれば成功です.これらに加えて,実行時間なども表示されますが,それらの値は利用している計算機の性能によって変化します.ここではSPEをターゲットとしてコンパイルされた
hello という名前の実行ファイルを指定してシミュレーションしています.コマンドラインから次の様に入力しても実行できます.
$ ./SimCell -n1 tst/hello
ここで,オプション -n は利用するSPEの数を指定します.これを変更して実行してみましょう.
$ ./SimCell -n4 tst/hello
SimCell: Cell/B.E. Simulator Version 0.8.0 2008-03-31
## SPEs: 4
## Mem Latency R/W, BW: 500/ 300, 16 | C2C Latency, BW: 300, 8
Hello world!
Hello world!
Hello world!
Hello world!
## All SPEs are stopped.
## SPEs: 4 | Cycle: 362 | Inst: 1444 |
4個のSPEによって4つのHello world!という出力が得られることがわかります.SPEの数を様々に変化させて実行してみると面白い結果が得られます.
展開したディレクトリには,比較的,読みやすい形式に加工したソースコードのPDF(code.pdf)ファイルがあります.ソースコードを眺める前に,こちらに目を通すとよいかもしれません.
|
|
コンパイルおよび使い方の詳細はパッケージに含まれる README.txt を参照してください.
SimCell に関する質問・要望などは次の電子メールアドレスまで. simcell at arch.cs.titech.ac.jp
|
|
|