SimMc のオプション

定義されているオプション

オプションの詳細

--config [ファイル名] または -c [ファイル名]

システムコンフィグファイルを読み込みます. システムコンフィグファイルの記述の詳細については, システムコンフィグファイルの仕様 を参照してください.
$ cat map.txt
--------------------------------------------------------------------
4x4 P : physical system configuration
4x2 a : logical system configuration for application 'a'
4x2 b : logical system configuration for application 'b'
[a1,1 ] [a2,1 ] [a3,1 ] [a4,1 ]
[a1,2 ] [a2,2 ] [a3,2 ] [a4,2 ]
[b1,1 ] [b2,1 ] [b3,1 ] [b4,1 ]
[b1,2 ] [b2,2 ] [b3,2 ] [b4,2 ]
--------------------------------------------------------------------

$ ../sim/SimMc -c map.txt test10.out test11.out
## SimMc: Many-Core and NoC Simulator v2.0 2012-09-30
## arguments: -c map.txt test10.out test11.out
## Physical Size     : 4x4
## Logical Size App 0: 4x2
## Logical Size App 1: 4x2
## [a 1, 1 ][a 2, 1 ][a 3, 1 ][a 4, 1 ]
## [a 1, 2 ][a 2, 2 ][a 3, 2 ][a 4, 2 ]
## [b 1, 1 ][b 2, 1 ][b 3, 1 ][b 4, 1 ]
## [b 1, 2 ][b 2, 2 ][b 3, 2 ][b 4, 2 ]
(後略)

--x-rank [値] または -x[値]

横方向のノード数を指定します. システムコンフィグファイルを使用する場合は無効化されます.
$ ../sim/SimMc -x2 test10.out
## SimMc: Many-Core and NoC Simulator v2.0 2012-09-30
## arguments: -x2 test10.out
## Physical Size     : 2x4
## Logical Size App 0: 2x4
## [a 1, 1 ][a 2, 1 ]
## [a 1, 2 ][a 2, 2 ]
## [a 1, 3 ][a 2, 3 ]
## [a 1, 4 ][a 2, 4 ]
(後略)

--y-rank [値] または -y[値]

縦方向のノード数を指定します. システムコンフィグファイルを使用する場合は無効化されます.
$ ../sim/SimMc -y2 test10.out
## SimMc: Many-Core and NoC Simulator v2.0 2012-09-30
## arguments: -y2 test10.out
## Physical Size     : 4x2
## Logical Size App 0: 4x2
## [a 1, 1 ][a 2, 1 ][a 3, 1 ][a 4, 1 ]
## [a 1, 2 ][a 2, 2 ][a 3, 2 ][a 4, 2 ]
(後略)

--end-cycle [値] または -e[値]

実行を打ち切るまでのサイクル数を指定します. このオプションを指定しない場合は, 全てのノードが実行を終了するまでシミュレーションを続けます.
$ ../sim/SimMc -e15000 test10.out
## SimMc: Many-Core and NoC Simulator v2.0 2012-09-30
## arguments: -e15000 test10.out
## Physical Size     : 4x4
## Logical Size App 0: 4x4
## [a 1, 1 ][a 2, 1 ][a 3, 1 ][a 4, 1 ]
## [a 1, 2 ][a 2, 2 ][a 3, 2 ][a 4, 2 ]
## [a 1, 3 ][a 2, 3 ][a 3, 3 ][a 4, 3 ]
## [a 1, 4 ][a 2, 4 ][a 3, 4 ][a 4, 4 ]
## Multi-Core library MClib v1.0.1 2012-09-30
## Simulation time (s)    : 0.085
## Simulation cycle       : 15000
## Simulation speed (kc/s): 176.137

--server または -A

ロック・バリア同期のために専用のノードを設置します. MClib に定義された一部の機能を正しく動作させるために必要です. 縦方向の物理ノード数は、 --y-rank で指定したものよりも1つ大きくなります. システムコンフィグファイルを使用する場合は無効化されます.
$ ../sim/SimMc -A test10.out
## SimMc: Many-Core and NoC Simulator v2.0 2012-09-30
## arguments: -A test10.out
## Physical Size     : 4x5
## Logical Size App 0: 4x4
## [a 1, 1 ][a 2, 1 ][a 3, 1 ][a 4, 1 ]
## [a 1, 2 ][a 2, 2 ][a 3, 2 ][a 4, 2 ]
## [a 1, 3 ][a 2, 3 ][a 3, 3 ][a 4, 3 ]
## [a 1, 4 ][a 2, 4 ][a 3, 4 ][a 4, 4 ]
## [a 1, 5 ][a 2, 5 ][-------][-------]
## Multi-Core library MClib v1.0.1 2012-09-30
$$ core( 2, 5) : server lock
$$ core( 1, 5) : server barrier
(後略)

--no-server または -B

ロック・バリア同期のために専用のノードを設置しません. これはデフォルトの設定です. システムコンフィグファイルを使用する場合は無効化されます.

--memory, --no-memory

--memory を指定した場合,メインメモリとしてはたらくメモリノードを設置します. メモリノードの論理的なノードIDは(0, 0)となります. メモリノードにアクセスする場合は, MC_dma_put/get 関数ではなく, MC_dma_put64/get64 関数を利用します. 詳しくは MClib のリファレンスを参照してください. 横・縦方向の物理ノード数は、 --x-rank, --y-rank で指定したものよりも1つずつ大きくなります. システムコンフィグファイルを使用する場合は無効化されます.
--no-memory を指定した場合,メモリノードを設置しません. これはデフォルトの設定です.
$ ../sim/SimMc --memory test10.out
## SimMc: Many-Core and NoC Simulator v2.0 2012-09-30
## arguments: --memory test10.out
## Physical Size     : 5x5
## Logical Size App 0: 4x4
## [a 0, 0 ][-------][-------][-------][-------]
## [-------][a 1, 1 ][a 2, 1 ][a 3, 1 ][a 4, 1 ]
## [-------][a 1, 2 ][a 2, 2 ][a 3, 2 ][a 4, 2 ]
## [-------][a 1, 3 ][a 2, 3 ][a 3, 3 ][a 4, 3 ]
## [-------][a 1, 4 ][a 2, 4 ][a 3, 4 ][a 4, 4 ]
(後略)

--smart, --no-smart

--smart を指定した場合,SmartCore システムを有効にします. SmartCore システムは,メニーコアプロセッサで多重実行をサポートし, ノードで生じた誤りをルータを用いて検出する機構です. MClib に定義された一部の機能は, SmartCore システムが有効な場合正しく動作しない場合があります. 詳しくは MClib のリファレンスを参照してください. 横方向の物理ノード数は、 --x-rank で指定したものの2倍になります. システムコンフィグファイルを使用する場合は無効化されます.
--no-smart を指定した場合,SmartCore システムは無効になります. これはデフォルトの設定です.
$ ../sim/SimMc --smart test10.out
## SimMc: Many-Core and NoC Simulator v2.0 2012-09-30
## arguments: --smart test10.out
## Physical Size     : 8x4
## Logical Size App 0: 4x4
## [a 1, 1m][a 1, 1s][a 2, 1m][a 2, 1s][a 3, 1m][a 3, 1s][a 4, 1m][a 4, 1s]
## [a 1, 2m][a 1, 2s][a 2, 2m][a 2, 2s][a 3, 2m][a 3, 2s][a 4, 2m][a 4, 2s]
## [a 1, 3m][a 1, 3s][a 2, 3m][a 2, 3s][a 3, 3m][a 3, 3s][a 4, 3m][a 4, 3s]
## [a 1, 4m][a 1, 4s][a 2, 4m][a 2, 4s][a 3, 4m][a 3, 4s][a 4, 4m][a 4, 4s]
(後略)

--smart-pattern [パターン名]

SmartCore システムにおけるノード配置のパターンを指定します. SmartCore システムが有効な場合にのみ効果を及ぼします. パターン名として定義されているのは, INTERLEAVE (デフォルト),CHECK,BLOCK の3種類です. システムコンフィグファイルを使用する場合は無効化されます.
$ ../sim/SimMc -x2 -y2 --smart --smart-pattern CHECK test10.out
## SimMc: Many-Core and NoC Simulator v2.0 2012-09-30
## arguments: -x2 -y2 --smart --smart-pattern CHECK test10.out
## Physical Size     : 4x2
## Logical Size App 0: 2x2
## [a 1, 1m][a 1, 1s][a 2, 1m][a 2, 1s]
## [a 1, 2s][a 1, 2m][a 2, 2s][a 2, 2m]
(中略)

$ ../sim/SimMc -x2 -y2 --smart --smart-pattern BLOCK test10.out
## SimMc: Many-Core and NoC Simulator v2.0 2012-09-30
## arguments: -x2 -y2 --smart --smart-pattern BLOCK test10.out
## Physical Size     : 4x2
## Logical Size App 0: 2x2
## [a 1, 1m][a 2, 1m][a 1, 1s][a 2, 1s]
## [a 1, 2m][a 2, 2m][a 1, 2s][a 2, 2s]
(後略)

--help

シミュレーションを行わず,SimMc のオプション一覧を表示します. オプションを指定しない場合も同様です.

--version

シミュレーションを行わず,SimMc のバージョン情報を表示します.