Forum Discussion
question about RTL to openCL kernel interface
hi
In my openCL kernel , part of the function i want to wirte by RTL code. and now the RTL is function simulation correctly . i have read the "Intel® FPGA SDK for OpenCL™ ProEdition Best Practices Guide" for many times! Still some part not well understand::
- my RLT output is parallel output 128bit data(here i want it parallel output), named reg [127:0] dataout in rtl. that is 4 32 bit int data for kernel, how opencl kernel code received the 128bit data(4 int ), like this:
int mydata[3:0];
#pragma unroll
for(int i = 0; i <4;i++)
{
mydata[i]= ???
}
how to do here???
2 if the RTL part has two output data return to the opencl kernel , dataout1[127:0]( that is 4 32bit int data for kernel ), data_out2[127:0] (16 8bit char for kernel). how to do ???
Thanks for your help!!!
5 Replies
- MEIYAN_L_Intel
Frequent Contributor
Hi,
I would need some time to look into it.
Thanks
- MEIYAN_L_Intel
Frequent Contributor
Hi,
I am still looking for the information.
You can refer the programming guide as the link below:
https://www.intel.com/content/www/us/en/programmable/documentation/mwh1391807965224.html
Thanks
- MEIYAN_L_Intel
Frequent Contributor
Hi,
According to https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/opencl-sdk/aocl_programming_guide.pdf in Chapter 5.6 have the example of implementing arbitary precision integer which is suitable to your situation.
For the information and function of "intn" can be found in Chapter 4.4 as link below:
https://livebook.manning.com/book/opencl-in-action/chapter-4/96
Thanks
- zjinf
Occasional Contributor
HI Mylee
Thanks for your help!
Again , the 128bit RTL data is 4 int data, for example ,
(in RTL)dataout[31:0] is my data1( int for kernel),
(in RTL)dataout[63:32] is my data2( int for kernel),
(in RTL)dataout[95:64] is my data3( int for kernel),
(in RTL)dataout[127:96] is my data4( int for kernel),
can i define a 128 bit data "mydata " in kernel , to received the RTL 128bit dataout, and then split the kernel 128bit "mydata" into 4 32bit without any side-effect????
- MEIYAN_L_Intel
Frequent Contributor
Hi,
I haven't do this before, I would like to know why you want to split the data?
The question ask is due to I would like to know the data separate I in host application level or kernel level.
Thanks