Executable Usage - 2023.2 English

Vitis Libraries

Release Date
2023.2 English
  • Work Directory(Step 1)

The steps for library download and environment setup can be found in l2_vitis_graph. For getting 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. Please be noticed that this process will take a long time, maybe couple of hours.

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

To get the benchmark results, please 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 have 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