hidden text to trigger early load of fonts ПродукцияПродукцияПродукцияПродукция Các sản phẩmCác sản phẩmCác sản phẩmCác sản phẩm المنتجاتالمنتجاتالمنتجاتالمنتجات מוצריםמוצריםמוצריםמוצרים
Application Acceleration With FPGAs
Programmable Acceleration Cards (PACs), DCP, FPGA AI Suite, Software Stack, and Reference Designs
495 Discussions

Seems that aocl (openCL ) can't recognize "__prefetching_load" attribute in aocl 19.2??

zjinf
New Contributor I
1,463 Views

Hi inteler

Environment: centos 7.5

aocl verison: 19.2.0.57

 

 

 1 error: implicit declaration of function '__prefetching_load' is invalid in OpenCL                                                                      

 2                probe_buf[b].vector[s].data[i] = __prefetching_load(&probe[p   robe_in_addr++]);

 

 

from the error hint, it seems that the openCL can't recognize "__prefetching_load" , but it shows on "Intel FPGA SDK for openCL pro edition best practices guide 19.2", it can found similar usage! Dose it need any other compile command???

 

0 Kudos
5 Replies
MEIYAN_L_Intel
Employee
1,250 Views

Hi,

This is an uncommon issues, I need to check internally with this issues.

Can you try to compile the simple example code in Chapter 1.3 as link below:

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/opencl-sdk/aocl-best-practices-guide.pdf

Thanks

0 Kudos
zjinf
New Contributor I
1,250 Views

HI Mylee

i run the chapter chapter 1.3 case ,still wrong:

 

aoc: Environment checks are completed successfully.                                                                                                                                                        

aoc: Cached files in /var/tmp/aocl/iot may be used to reduce compilation time

You are now compiling the full flow!!

aoc: Selected target board a10gx

aoc: Running OpenCL parser....

/home/iot/work_example/tmp/prefetch/test.cl:11:35: error: implicit declaration of function '__prefetching_load' is invalid in OpenCL

                       sum[k] += __prefetching_load(&a[j]);

 

 

 

 

 

0 Kudos
HRZ
Valued Contributor III
1,250 Views

I think the possibility to control the LSU type was added in v19.3 and is not [fully] supported in v19.2. Only the guide from v19.3 has the "Controlling the Load-Store Units" section. The example in Section 1.3 of the v19.2 guide is probably a documentation error that mistakenly introduces an unreleased feature.

0 Kudos
MEIYAN_L_Intel
Employee
1,250 Views

Hi,

I will need some time to check internally about this issue.

Thanks

0 Kudos
MEIYAN_L_Intel
Employee
1,250 Views

Hi,

The __prefetching_load() builtin is only available for the OpenCL SDK version 19.3 onward. A simple work around for 19.2 would be to replace

  sum[k] += __prefetching_load(&a[j]);

with

  sum[k] += a[j];

 

The old version of this code can be found here https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/opencl-sdk/archives/aocl-best-practices-guide-19-1.pdf in Chapter 1.3.

 

There is an documentation error in 19.2 version which use _prefetching_load which is wrong.

 

I had reported to the team about the documentation error as well.

 

Thanks

0 Kudos
Reply