kernelinfo ユーティリティ

kernelinfo ユーティリティは、.o ファイルからホスト コード開発中に使用できる情報を抽出し、表示します。この情報には、ハードウェア関数名、引数、オフセット、およびポート エリアが含まれます。

次のコマンド オプションがあります。

表 1. kernalinfo コマンド
オプション 説明
-h [ --help ] ヘルプ メッセージを表示します。
-x [ --xo_path ] <arg> ファイル名および拡張子 .xo を含む XO ファイルへの絶対パスを指定します。
-l [ --log ] <arg> デフォルトでは、情報は画面に表示されます。それ以外の場合、--log オプションを使用して情報をファイルとして出力します。
-j [ --json ] ファイルを JSON フォーマットで出力します。
[input_file] XO ファイル。XO ファイルの位置を指定するか、--xo_path オプションを使用します。
[output_file] ザイリンクス OpenCL™ コンパイラからの出力。出力ファイルファイルの位置を指定するか、--log オプションを使用します。

kernelinfo ユーティリティを実行するには、Linux ターミナルに次を入力します。

kernelinfo <filename.o>

出力は、次の 3 つのセクションに分けられます。

  • カーネル定義
  • 引数
  • ポート

次のコマンドで生成されたレポートを参照すると、レポートの内容を理解するのに役立ちます。このレポートは、理解しやすいようにセクションに分割されています。

kernelinfo krnl_vadd.o

krnl_vadd.o はパッケージされたカーネルです。

カーネル定義

大きなレベルでカーネル定義情報をレポートします。ホスト コード開発の場合は、カーネル名を name フィールドに指定します。この例の場合、カーネル名は krnl_vadd です。

=== Kernel Definition ===
name: krnl_vadd
language: c
vlnv: xilinx.com:hls:krnl_vadd:1.0
preferredWorkGroupSizeMultiple: 1
workGroupSize: 1
debug: true
containsDebugDir: 1
sourceFile: krnl_vadd/cpu_sources/krnl_vadd.cpp

引数

カーネル関数引数をレポートします。

次の例には、abc、および n_elements の 4 つの引数があります。

=== Arg ===
name: a
addressQualifier: 1
id: 0
port: M_AXI_GMEM
size: 0x8
offset: 0x10
hostOffset: 0x0
hostSize: 0x8
type: int*

=== Arg ===
name: b
addressQualifier: 1
id: 1
port: M_AXI_GMEM
size: 0x8
offset: 0x1C
hostOffset: 0x0
hostSize: 0x8
type: int*

=== Arg ===
name: c
addressQualifier: 1
id: 2
port: M_AXI_GMEM1
size: 0x8
offset: 0x28
hostOffset: 0x0
hostSize: 0x8
type: int*

=== Arg ===
name: n_elements
addressQualifier: 0
id: 3
port: S_AXI_CONTROL
size: 0x4
offset: 0x34
hostOffset: 0x0
hostSize: 0x4
type: int const 

ポート

カーネルで使用されるメモリおよび制御ポートをレポートします。

=== Port ===
name: M_AXI_GMEM
mode: master
range: 0xFFFFFFFF
dataWidth: 32
portType: addressable
base: 0x0

=== Port ===
name: M_AXI_GMEM1
mode: master
range: 0xFFFFFFFF
dataWidth: 32
portType: addressable
base: 0x0

=== Port ===
name: S_AXI_CONTROL
mode: slave
range: 0x1000
dataWidth: 32
portType: addressable
base: 0x0