データ スナップショット - 2023.2 日本語

AI エンジン ツールおよびフロー ユーザー ガイド (UG1076)

Document ID
UG1076
Release Date
2023-12-04
Version
2023.2 日本語

x86simulator --dump データ スナップショット機能を使用すると、デバッガーを使用せずに、カーネル ポートのデータ トラフィックをダンプして調べることができます。この機能では、カーネル コードのインストルメンテーションは必要ありません。また、x86simulator を使用した同じデザインの 2 つのバージョンでシミュレーションの結果が一致しない状況を診断するのにも役立ちます。データ スナップショットは、ストリーム、ウィンドウ、パケット ストリーム、カスケード ストリーム、RTP ポートなどのカーネル ポートでサポートされます。この機能は、PLIO、GMIO、RTP ポートなどのすべてのプラットフォーム レベル ポート、および特定の RTP ポートへの PS アクセスでもサポートされます。

入力ウィンドウ ポートでは、カーネルがウィンドウを取得するたびにデータ スナップショットが作成され、スナップショットにマージンが含まれます。出力ウィンドウ ポートでは、カーネルがウィンドウを解放するたびにスナップショットが作成され、マージンは除外されます。いずれの場合も、スナップショットはカーネル反復回数とサンプル データで構成されます。カーネル ポートごとに 1 つのテキスト ファイルが生成されます。また、カーネルの反復回数も記録されます。

たとえば、ウィンドウ ポートを持つ 2 つのカーネルのチェーンを含むグラフのデータ スナップショットで、最初のウィンドウのマージンが 0 以外の場合は、次のようになります。

$x86simulator --pkg-dir=./Work --i=.. --dump
INFO: Reading options file './Work/options/x86sim.options'.
Processing './x86simulator_output/dump/x86sim_dump.data'
File Port direction Port type Data type Kernel or platform port
------------------------ -------------- --------- ---------
-----------------------
platform_src_0.txt out window cint16 platform.src[0]
mygraph_first_in_0.txt in window cint16 mygraph.first.in[0]
mygraph_second_out_0.txt out window cint16 mygraph.second.out[0]
platform_sink_0.txt in window cint16 platform.sink[0]
mygraph_first_out_0.txt out window cint16 mygraph.first.out[0]
mygraph_second_in_0.txt in window cint16 mygraph.second.in[0]
Wrote './x86simulator_output/dump/platform_src_0.txt'
Wrote './x86simulator_output/dump/mygraph_first_in_0.txt'
Wrote './x86simulator_output/dump/mygraph_second_out_0.txt'
Wrote './x86simulator_output/dump/platform_sink_0.txt'
Wrote './x86simulator_output/dump/mygraph_first_out_0.txt'
Wrote './x86simulator_output/dump/mygraph_second_in_0.txt'
Simulation completed successfully returning zero
$> more ./x86simulator_output/dump/mygraph_first_in_0.txt
# port: mygraph.first.in[0]
# port_dir: in
# port_type: window
# data_type: cint16
# Iteration 1; snapshot 1
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 1
2 3
4 5
6 7
8 9
10 11
12 13
14 15
16 17
18 19
20 21
22 23
24 25
26 27
28 29
30 31
32 33
34 35
36 37
38 39
40 41
42 43
44 45
46 47
48 49
50 51
52 53
54 55
56 57
58 59
60 61
62 63
# Iteration 2; snapshot 2
48 49
50 51
52 53
54 55
56 57
58 59
60 61
62 63
1 0
3 2
5 4
7 6
9 8
11 10
13 12
15 14
17 16
19 18
21 20
23 22
25 24
27 26
29 28
31 30
33 32
35 34
37 36
39 38
41 40
43 42
45 44
47 46
49 48
51 50
53 52
55 54
57 56
59 58
61 60
63 62

ストリーム ポートでは、4 バイトのデータごとにデータ スナップショットが作成されます。各スナップショットには、TLAST の値とカーネル反復回数が含まれます。カスケード ストリーム ポートでは、粒度は 8 バイトです。

たとえば、ストリーム ポートで接続されている 3 つのカーネルを含むグラフのデータ スナップショットは、次のようになります。

$ x86simulator --pkg-dir=./Work --i=.. --dump
INFO: Reading options file './Work/options/x86sim.options'.
Processing './x86simulator_output/dump/x86sim_dump.data'


File Port direction Port type Data type Kernel or platform port
-------------------------- -------------- --------- --------- -----------------------
platform_src_0.txt out stream int32 platform.src[0] 
fifo_graph_dist_in_0.txt in stream int32 fifo_graph.dist.in[0] 
fifo_graph_aggr_out_0.txt out stream int32 fifo_graph.aggr.out[0] 
platform_sink_0.txt in stream int32 platform.sink[0] 
fifo_graph_comp0_in_0.txt in stream int32 fifo_graph.comp0.in[0] 
fifo_graph_comp1_in_0.txt in stream int32 fifo_graph.comp1.in[0] 
fifo_graph_dist_out_0.txt out stream int32 fifo_graph.dist.out[0] 
fifo_graph_comp0_out_0.txt out stream int32 fifo_graph.comp0.out[0]
fifo_graph_aggr_in_0.txt in stream int32 fifo_graph.aggr.in[0] 
fifo_graph_comp1_out_0.txt out stream int32 fifo_graph.comp1.out[0]
fifo_graph_aggr_in_1.txt in stream int32 fifo_graph.aggr.in[1] 


Wrote './x86simulator_output/dump/platform_src_0.txt'
Wrote './x86simulator_output/dump/fifo_graph_dist_in_0.txt'
Wrote './x86simulator_output/dump/fifo_graph_aggr_out_0.txt'
Wrote './x86simulator_output/dump/platform_sink_0.txt'
Wrote './x86simulator_output/dump/fifo_graph_comp0_in_0.txt'
Wrote './x86simulator_output/dump/fifo_graph_comp1_in_0.txt'
Wrote './x86simulator_output/dump/fifo_graph_dist_out_0.txt'
Wrote './x86simulator_output/dump/fifo_graph_comp0_out_0.txt'
Wrote './x86simulator_output/dump/fifo_graph_aggr_in_0.txt'
Wrote './x86simulator_output/dump/fifo_graph_comp1_out_0.txt'
Wrote './x86simulator_output/dump/fifo_graph_aggr_in_1.txt'
Simulation completed successfully returning zero


$ more ./x86simulator_output/dump/fifo_graph_dist_in_0.txt
# port: fifo_graph.dist.in[0]
# port_dir: in
# port_type: stream
# data_type: int32
# Iteration 1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
...