UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Participant jameshko
Participant
1,127 Views
Registered: ‎09-30-2016

Compile error for examples for SDAccel 2017.1 on ppc64le

Hello there,

There is some changes to the examples on Github regarding the compiler that did not quite compile smoothly for a ppc64le. What has changed between SDAccel 2016.3 and 2017.1 host code? 

I m using this as an example to test, 

SDAccel_Examples/getting_started/kernel_to_gmem/full_array_2d_ocl#

 

Here's the error I am experiencing :

 

In file included from /usr/include/c++/5/bits/move.h:57:0,
from /usr/include/c++/5/bits/stl_pair.h:59,
from /usr/include/c++/5/utility:70,
from /usr/include/CL/cl2.hpp:488,
from ../../..//libs/xcl2/xcl2.hpp:38,
from ./src/host.cpp:29:
/usr/include/c++/5/type_traits:87:39: error: '__vector(4) __bool int' is not a valid type for a template non-type parameter
typedef integral_constant<bool, true> true_type;
^
/usr/include/c++/5/type_traits:90:40: error: '__vector(4) __bool int' is not a valid type for a template non-type parameter
typedef integral_constant<bool, false> false_type;
^
/usr/include/c++/5/type_traits:93:56: error: '__vector(4) __bool int' is not a valid type for a template non-type parameter
using __bool_constant = integral_constant<bool, __v>;
^
/usr/include/c++/5/type_traits:106:5: error: expected class-name before '{' token
{ };
^
/usr/include/c++/5/type_traits:129:5: error: expected class-name before '{' token
{ };
^
/usr/include/c++/5/type_traits:148:49: error: '__vector(4) __bool int' is not a valid type for a template non-type parameter
: public integral_constant<bool, !_Pp::value>
^
/usr/include/c++/5/type_traits:170:25: error: expected class-name before '{' token
: public false_type { };
^
.

.

.

 

 

I compile using g++ on my ppc64le server:

g++ -g -std=c++11 -I./src/ -I$XILINX_OPENCL/runtime/include/1_2/ -I../../..//libs/xcl2 -o host ./src/host.cpp  -L$XILINX_OPENCL/runtime/lib/ppc64le -lxilinxopencl -llmx6.0 

 

Thank you!

 

0 Kudos
3 Replies
Moderator
Moderator
1,084 Views
Registered: ‎03-27-2012

Re: Compile error for examples for SDAccel 2017.1 on ppc64le

Hi,

 

Is $XILINX_OPENCL set to the directory of SDAccel installation? If so please try with

-I$(XILINX_OPENCL)/runtime/include/1_2/

Otherwise use XILINX_SDX variable instead.

 

Thanks,

Sean

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Participant jameshko
Participant
1,079 Views
Registered: ‎09-30-2016

Re: Compile error for examples for SDAccel 2017.1 on ppc64le

Hello Sean,

the $XILINX_OPENCL points to the dsa xbinst. I do not install the SDAccel on a ppc64le (is there a downloadable .bin?) 

 

echo $XILINX_OPENCL
/root/8k5_dsa_3_2/xbinst/pkg/pcie

 

I have the 2017.1 SDAccel installed on an X86_64 machine though. But it supports DSA 4.0. 

I am thinking of generating the same xbinst for dsa 4.0 and copy it over to my ppc64le machine and have the $XILINX_OPENCL points to it. 

 

James

0 Kudos
Moderator
Moderator
1,060 Views
Registered: ‎03-27-2012

Re: Compile error for examples for SDAccel 2017.1 on ppc64le

Hi James,

 

SDAccel environment is needed during compile stage.

The host machine on which the FPGA acceleration card is plugged into, doesn't necessary need SDAccel installation to run host executable and kernel binaries.

 

Since you are receiving compile error you may need to check the SDAccel environment.

 

Regards,

Sean

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos