- Work Directory (Step 1)
The steps for library download and environment setup can be found in the README of the L2 folder. For getting the design:
cd L2/examples/lkdensepyrof
- Build Kernel (Step 2)
Run the following make command to build your XCLBIN and host binary targeting a specific device. Be aware that this process can take up to a couple of hours.
export OPENCV_INCLUDE=< path-to-opencv-include-folder > export OPENCV_LIB=< path-to-opencv-lib-folder > export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:< path-to-opencv-lib-folder > export PLATFORM=< path-to-platform-directory >/< platform >.xpfm make host xclbin TARGET=hw
- Run Kernel (Step 3)
To get the benchmark results, please run the following command.
make run TARGET=hw
- Example Output (Step 4)
-----------Optical Flow Design--------------- Found Platform Platform Name: Xilinx XCLBIN File Name: krnl_pyr_dense_optical_flow INFO: Importing vision/L2/examples/lkdensepyrof/Xilinx_Lkdensepyrof_L2_Test_vitis_hw_u200/build_dir.hw.xilinx_u200_xdma_201830_2/krnl_pyr_dense_optical_flow.xclbin Loading: 'vision/L2/examples/lkdensepyrof/Xilinx_Lkdensepyrof_L2_Test_vitis_hw_u200/build_dir.hw.xilinx_u200_xdma_201830_2/krnl_pyr_dense_optical_flow.xclbin' *********Pyr Down Execution********* CL buffer created data copied to host Kernel args set opencv 0 image 0 level pyrdown done CL buffer created data copied to host Kernel args set opencv 0 image 1 level pyrdown done CL buffer created data copied to host Kernel args set opencv 0 image 2 level pyrdown done CL buffer created data copied to host Kernel args set opencv 0 image 3 level pyrdown done One image done CL buffer created data copied to host Kernel args set opencv 1 image 0 level pyrdown done CL buffer created data copied to host Kernel args set opencv 1 image 1 level pyrdown done CL buffer created data copied to host Kernel args set opencv 1 image 2 level pyrdown done CL buffer created data copied to host Kernel args set opencv 1 image 3 level pyrdown done One image done *********Pyr Down Done********* *********Starting OF Computation********* Buffers created *********OF Computation Level = 4********* *********OF Computation iteration = 0********* Data copied from host to device kernel args set 4 level 0 calls done *********OF Computation iteration = 1********* Data copied from host to device kernel args set 4 level 1 calls done *********OF Computation iteration = 2********* Data copied from host to device kernel args set 4 level 2 calls done *********OF Computation iteration = 3********* Data copied from host to device kernel args set 4 level 3 calls done *********OF Computation iteration = 4********* Data copied from host to device kernel args set 4 level 4 calls done Buffers created *********OF Computation Level = 3********* *********OF Computation iteration = 0********* Data copied from host to device kernel args set 3 level 0 calls done *********OF Computation iteration = 1********* Data copied from host to device kernel args set 3 level 1 calls done *********OF Computation iteration = 2********* Data copied from host to device kernel args set 3 level 2 calls done *********OF Computation iteration = 3********* Data copied from host to device kernel args set 3 level 3 calls done *********OF Computation iteration = 4********* Data copied from host to device kernel args set 3 level 4 calls done Buffers created *********OF Computation Level = 2********* *********OF Computation iteration = 0********* Data copied from host to device kernel args set 2 level 0 calls done *********OF Computation iteration = 1********* Data copied from host to device kernel args set 2 level 1 calls done *********OF Computation iteration = 2********* Data copied from host to device kernel args set 2 level 2 calls done *********OF Computation iteration = 3********* Data copied from host to device kernel args set 2 level 3 calls done *********OF Computation iteration = 4********* Data copied from host to device kernel args set 2 level 4 calls done Buffers created *********OF Computation Level = 1********* *********OF Computation iteration = 0********* Data copied from host to device kernel args set 1 level 0 calls done *********OF Computation iteration = 1********* Data copied from host to device kernel args set 1 level 1 calls done *********OF Computation iteration = 2********* Data copied from host to device kernel args set 1 level 2 calls done *********OF Computation iteration = 3********* Data copied from host to device kernel args set 1 level 3 calls done *********OF Computation iteration = 4********* Data copied from host to device kernel args set 1 level 4 calls done Buffers created *********OF Computation Level = 0********* *********OF Computation iteration = 0********* Data copied from host to device kernel args set 0 level 0 calls done *********OF Computation iteration = 1********* Data copied from host to device kernel args set 0 level 1 calls done *********OF Computation iteration = 2********* Data copied from host to device kernel args set 0 level 2 calls done *********OF Computation iteration = 3********* Data copied from host to device kernel args set 0 level 3 calls done *********OF Computation iteration = 4********* Data copied from host to device kernel args set 0 level 4 calls done ------------------------------------------------------------