Forum Discussion
I compared the two files:
kdiff3 a.cl gemm.generated_oneapi_header.h
One suspicious place is that OpenCL code uses vload16, but OneAPI does not:
OpenCL (a.cl, line 116):
float16 _29 = vload16(0, (__address_space__A_serializer float*)_A_serializer + _28);
OneAPI (gemm.generated_oneapi_header.h, 2755):
_158 = {
_A_serializer[_157+0],
_A_serializer[_157+1],
_A_serializer[_157+2],
_A_serializer[_157+3],
_A_serializer[_157+4],
_A_serializer[_157+5],
_A_serializer[_157+6],
_A_serializer[_157+7],
_A_serializer[_157+8],
_A_serializer[_157+9],
_A_serializer[_157+10],
_A_serializer[_157+11],
_A_serializer[_157+12],
_A_serializer[_157+13],
_A_serializer[_157+14],
_A_serializer[_157+15]
};
Another suspicious place is the use of fpga_reg with float16:
OpenCL (a.cl 193):
float16 _61 = __fpga_reg(__fpga_reg(_60));
OneAPI (gemm.generated_oneapi_header.h, 2852):
float16 _190 = (float16){
sycl::ext::intel::fpga_reg( sycl::ext::intel::fpga_reg(_189[0])),
sycl::ext::intel::fpga_reg( sycl::ext::intel::fpga_reg(_189[1])),
sycl::ext::intel::fpga_reg( sycl::ext::intel::fpga_reg(_189[2])),
sycl::ext::intel::fpga_reg( sycl::ext::intel::fpga_reg(_189[3])),
sycl::ext::intel::fpga_reg( sycl::ext::intel::fpga_reg(_189[4])),
sycl::ext::intel::fpga_reg( sycl::ext::intel::fpga_reg(_189[5])),
sycl::ext::intel::fpga_reg( sycl::ext::intel::fpga_reg(_189[6])),
sycl::ext::intel::fpga_reg( sycl::ext::intel::fpga_reg(_189[7])),
sycl::ext::intel::fpga_reg( sycl::ext::intel::fpga_reg(_189[8])),
sycl::ext::intel::fpga_reg( sycl::ext::intel::fpga_reg(_189[9])),
sycl::ext::intel::fpga_reg( sycl::ext::intel::fpga_reg(_189[10])),
sycl::ext::intel::fpga_reg( sycl::ext::intel::fpga_reg(_189[11])),
sycl::ext::intel::fpga_reg( sycl::ext::intel::fpga_reg(_189[12])),
sycl::ext::intel::fpga_reg( sycl::ext::intel::fpga_reg(_189[13])),
sycl::ext::intel::fpga_reg( sycl::ext::intel::fpga_reg(_189[14])),
sycl::ext::intel::fpga_reg( sycl::ext::intel::fpga_reg(_189[15]))
};
Anyone knows how to (1) use vload16 in OneAPI? (2) use fpga_reg for float16 type?
Thanks!