cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
jyerra2
Observer
Observer
1,974 Views
Registered: ‎11-01-2017

SDAccel make command fails with rtl_vadd example

Jump to solution

Hi,

 

I have been trying to run the rtl_kernel example rtl_vadd on the VCU1525 board. I have set all the paths correctly(XILINX_SDX) and the following is my make command:

 

make all TARGETS=hw DEVICES=xilinx:vcu1525:dynamic

 

This command works while trying to run the helloworld_c example in SDAccelExamples/getting_started/host/helloworld_c. The kernel is written in C and works correctly for sw_emu, hw_emu and hw. However, the same command does not work for the RTL Kernel in rtl_vadd. The Makefiles for these two different examples are not vastly different, and I get an error while trying to run the rtl_vadd example with the above command. 

 

Attached below is the error.

 

 

 

Please let me know how to fix this at the earliest.

 

Sincerely,

Janish Yerra

error_rtl_vadd_hw.PNG
0 Kudos
Reply
1 Solution

Accepted Solutions
evant
Xilinx Employee
Xilinx Employee
2,376 Views
Registered: ‎09-08-2011

Before compiling or building the system, the settings64.sh file needs to be sourced.

 

Yes, you need to add the tools to the env. with the settings64.sh command

 

Once compilation for hardware is done, we need to source setup.sh from the directory where the board drivers have been installed.

 

Yes, the setup.sh sets up the env for linking to the needed .so and other files that the install.sh driver will need. If you move these files, you need to reinstall or edit the setup,sh script. The setup,sh script can be saved anywhere, it's the rest of the fines in the xbinst output that need to remain in place.

 

This needs to be done every time the instance is run on the board.

 

Every time you close your terminal or do something to remove what is in the env. You can run an unlimited number of designs on the board from the same terminal once the setup,sh was called once. If you close the terminal or lose the env, you will need to call setup,sh again.

 

I compiled for 5_1 whereas the current platform was 5_0. Therefore, I am doing a repeat compile with the corrected make command.

 

I don't think I understood what you are doing with the different DSA versions

If at first you don't succeed, try redefining success?

View solution in original post

0 Kudos
Reply
8 Replies
evant
Xilinx Employee
Xilinx Employee
1,961 Views
Registered: ‎09-08-2011

Hi jyerra2,

 

   If you are swtiching from the c vadd example to the rtl vadd example. Make sure you use the makefile within the respective directory within the github repo: https://github.com/Xilinx/SDAccel_Examples/tree/master/getting_started/rtl_kernel

 

Confirm it builds at that point. If you still have issues with downloading the latest github examples, copy the output and errors and post them in your reply. I would recommend to do this from the command line first, before doing the GUI. (It appears you already are doing that)

 

I just tried it out with sucess

> xocc --list
xilinx_kcu1500_dynamic_5_0
xilinx_vcu1525_dynamic_5_1
> make all TARGETS=hw DEVICES=xilinx_vcu1525_dynamic_5_1
If at first you don't succeed, try redefining success?
0 Kudos
Reply
jyerra2
Observer
Observer
1,959 Views
Registered: ‎11-01-2017

Hi,

 

I am indeed running the rtl example with the Makefile from that particular directory. I have the latest github examples as well. I tried running the commands you listed as well, however, xocc --list "device name" did not work and when I tried running

make all TARGETS=hw DEVICES=xilinx_vcu1525_dynamic_5_1

 I got the same error.

 

 

error_rtl_vadd_hw1.PNG
0 Kudos
Reply
evant
Xilinx Employee
Xilinx Employee
1,949 Views
Registered: ‎09-08-2011

Double check you have a "ap_opencl" license that is valid. If the xocc --list command does not return anything, you don't have access to the devices likely meaning you lack a license. If xocc doesn't run at all, you need to source settings64.sh from the install directory.

 

-Evan

If at first you don't succeed, try redefining success?
0 Kudos
Reply
jyerra2
Observer
Observer
1,932 Views
Registered: ‎11-01-2017

Hi,

 

We do have an opencl_license. The compilation started going through upon sourcing the settings64.sh file. Thank you so much!

 

However, does this need to be done every time before compiling to load onto the board? The other example(helloworld_c) started compiling without sourcing this file. Is this different for RTL kernels, and if so, why?

 

Sincerely,

Janish Yerra

0 Kudos
Reply
evant
Xilinx Employee
Xilinx Employee
1,925 Views
Registered: ‎09-08-2011

Hi jyerra2,

 

     So you need this every time to build the design. The settings64.sh adds all the tools and other things needed into the path. You can add it to the default config of your terminal so it always opens and calls it allowing the tools to be ready without needing to src them.

 

For running on the board, you only need the host.exe and the kernel.xclbin, and the outputs of the xbinst command. At that point you install the drivers, call the setup.sh (Which needs to be called whenever you start a new instance before you start running on the board)

 

You will not need the tool, or the license, or the settings64.sh script. But this is post built design for running on the board only. You will always have to src the tools for generating a new design.

 

Regards,

 

Evan

If at first you don't succeed, try redefining success?
0 Kudos
Reply
jyerra2
Observer
Observer
1,917 Views
Registered: ‎11-01-2017

Hi,

 

Thank you so much! I have added the source command to my bash script.

 

So, as far as I understand, this is the procedure. Please confirm this as I can make a note of this for future reference.

 

Before compiling or building the system, the settings64.sh file needs to be sourced. Once compilation for hardware is done, we need to source setup.sh from the directory where the board drivers have been installed. This needs to be done every time the instance is run on the board.

 

I am running the command:

 

./host ../xclbin/"device name".xclbin 

and it seems to work however, I compiled for 5_1 whereas the current platform was 5_0. Therefore, I am doing a repeat compile with the corrected make command.

 

Thank you for the help!

 

Sincerely,

Janish Yerra

 

0 Kudos
Reply
evant
Xilinx Employee
Xilinx Employee
2,377 Views
Registered: ‎09-08-2011

Before compiling or building the system, the settings64.sh file needs to be sourced.

 

Yes, you need to add the tools to the env. with the settings64.sh command

 

Once compilation for hardware is done, we need to source setup.sh from the directory where the board drivers have been installed.

 

Yes, the setup.sh sets up the env for linking to the needed .so and other files that the install.sh driver will need. If you move these files, you need to reinstall or edit the setup,sh script. The setup,sh script can be saved anywhere, it's the rest of the fines in the xbinst output that need to remain in place.

 

This needs to be done every time the instance is run on the board.

 

Every time you close your terminal or do something to remove what is in the env. You can run an unlimited number of designs on the board from the same terminal once the setup,sh was called once. If you close the terminal or lose the env, you will need to call setup,sh again.

 

I compiled for 5_1 whereas the current platform was 5_0. Therefore, I am doing a repeat compile with the corrected make command.

 

I don't think I understood what you are doing with the different DSA versions

If at first you don't succeed, try redefining success?

View solution in original post

0 Kudos
Reply
jyerra2
Observer
Observer
1,815 Views
Registered: ‎11-01-2017

Thank you! 

0 Kudos
Reply