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: 
Highlighted
Xilinx Employee
Xilinx Employee
8,801 Views
Registered: ‎03-08-2016

what is the equivalent code for "#pragma HLS interface" in sdaccel ?

I am using one outputfifo, from which I have to write to output buffer, some thing like this :

 

 __attribute__((xcl_pipeline_loop))
 for(i=0; i<vecit; i++) {
  for(j=0; j< 8; j++) {
   if (j<=index[i]){
    output[outputpointer++] = outputfifo[i*24 + j*3 + 0];
    output[outputpointer++] = outputfifo[i*24 + j*3 + 1];
    output[outputpointer++] = outputfifo[i*24 + j*3 + 2];
   }
  }
 }

 

outputfifo in cyclin partioned for a factor of 24.

But it reports gmem issues and II = 47.

I got to know in HLS if I'll use "#pragma HLS INTERFACE ap_fifo port=output", this will reduce the II = 1.

 

I want to know in opencl/Sdaccel environment is there any command simmilar ?

 

 

 

0 Kudos
2 Replies
Xilinx Employee
Xilinx Employee
8,770 Views
Registered: ‎11-28-2007

Re: what is the equivalent code for "#pragma HLS interface" in sdaccel ?

SDAccel supports AXI MM only on kernels getting data from the host. If you want to pass data between kernels, you can use OpenCL pipes.

 


@saurabhs wrote:

I am using one outputfifo, from which I have to write to output buffer, some thing like this :

 

 __attribute__((xcl_pipeline_loop))
 for(i=0; i<vecit; i++) {
  for(j=0; j< 8; j++) {
   if (j<=index[i]){
    output[outputpointer++] = outputfifo[i*24 + j*3 + 0];
    output[outputpointer++] = outputfifo[i*24 + j*3 + 1];
    output[outputpointer++] = outputfifo[i*24 + j*3 + 2];
   }
  }
 }

 

outputfifo in cyclin partioned for a factor of 24.

But it reports gmem issues and II = 47.

I got to know in HLS if I'll use "#pragma HLS INTERFACE ap_fifo port=output", this will reduce the II = 1.

 

I want to know in opencl/Sdaccel environment is there any command simmilar ?

 

 

 


 

Cheers,
Jim
0 Kudos
Xilinx Employee
Xilinx Employee
8,749 Views
Registered: ‎03-08-2016

Re: what is the equivalent code for "#pragma HLS interface" in sdaccel ?

HI Jim,

 

I want to pass this buffer (output) back to host in a most optimized way. (ie II = 1).

but as index variable of output are not dependent on loop variable, HLS tool is throwing dependencies.

Kindly let me know the best possible way in SDAccel/opencl how can I do that.

 

I know about pipes, but as pipes are to share data between kernels not between kernel and host, it is not useful here.

Please correct me if I am wrong.

 

Regards,

Saurabh

0 Kudos