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 のバージョン情報を表示します.