Executable Usage - 2024.2 English - XD160

Vitis Libraries

Document ID
XD160
Release Date
2024-11-29
Version
2024.2 English
  • Work Directory(Step 1)

The steps for library download and environment setup can be found in l2_vitis_graph. To get the design,

cd L2/benchmarks/merge
  • Build kernel(Step 2)

Run the following make command to build your XCLBIN and host binary targeting a specific device. This process might take hours.

make run TARGET=hw PLATFORM=xilinx_u50_gen3x16_xdma_5_202210_1
  • Run kernel(Step 3)

To get the benchmark results, run the following command.

./build_dir.sw_emu.xilinx_u50_gen3x16_xdma_5_202210_1/host.exe -xclbin build_dir.sw_emu.xilinx_u50_gen3x16_xdma_5_202210_1/merge_kernel.xclbin -io merge_data/example/exapmle-wt_offset.mtx -ie merge_data/example/exapmle-wt_edge.mtx -iw merge_data/example/exapmle-wt_weight.mtx -ic merge_data/example/exapmle-wt_c.mtx -oo merge_data/example/exapmle-wt_offset_out.mtx -oe merge_data/example/exapmle-wt_edge_out.mtx -ow merge_data/example/exapmle-wt_weight_out.mtx -go merge_golden/example/exapmle-wt_offset_out.mtx -ge merge_golden/example/exapmle-wt_edge_out.mtx -gw merge_golden/example/exapmle-wt_weight_out.mtx

Merge Input Arguments:

Usage: host.exe -[-xclbin -io -ie -iw -ic -oo -oe -ow -go -ge -gw]
      -xclbin:           the kernel name
      -io:               the input for offsets
      -ie:               the input for edges
      -iw                the input for weights
      -ic                the input for node's community id
      -oo                the output of offsets
      -oe                the output of edges
      -ow                the output of weights
      -go                the golden for offsets
      -ge                the golden for edges
      -gw                the golden for weights

Note

Default arguments are set in Makefile, the data has only one column that the node’s community id is divided by other clustering algorithm, for example, louvain.

  • Example output(Step 4)
num = 17, numEdges = 56, num_c_out = 4
Found Platform
Platform Name: Xilinx
Info: Context created
Info: Command queue created
Found Device=xilinx_u50_gen3x16_xdma_5_202210_1
INFO: Importing build_dir.sw_emu.xilinx_u50_gen3x16_xdma_5_202210_1/merge_kernel.xclbin
Loading: 'build_dir.sw_emu.xilinx_u50_gen3x16_xdma_5_202210_1/merge_kernel.xclbin'
Kernel Name: merge_kernel, CU Number: 0, Thread creation status: success
Info: Program created
Info: Kernel created
kernel has been created
INFO: kernel start------
start ComputeCount
start GetC, num_v=16
start UpdateCount, num_v=16
start SetIndexC, num_v=16
start GetC, num_v=4
start GetC, num_v=16
start GetC, num_v=16
start DoMergeHls
start LoadCountC, num_c_out=4
start LoadJump, num_v=16
start GetV, num_c_out=4
start GetEW, num_c_out=4
start HashAggregateDataflow
start SetV, num_c_out=4
start SetEW, num_c_out=4
SetEW: count = 14
INFO: kernel end------
INFO: Execution time 14.454ms
Info: Time in host-to-device: 1.75013ms
Info: Time in kernel: 12.2135ms
Info: Time in device-to-host: 0.169928ms
Test passed
device process sw_emu_device done