Forum Discussion
There is a workaround: One of the first things the compiler does is to create a lot of files. Once possible, you need to copy the file "gauss/build/output_files/dcp.green_region.pmsf" to "gauss/build/output_files/afu_import.green_region.pmsf". After this is done, the compiler completes it's task without a problem.
However, I'm not able to run this kernel on an fpga node. I've attached the host code to the post, which I compiled with the command
gcc -lstdc++ -lOpenCL gauss.cpp -o gauss -DFPGA -DMATRIX_SIZE=4 -DDESIRED_PLATFORM_INDEX=1
Since the OpenCL headers aren't available in the Devcloud, I had to use my x86-64 computer running a current Arch Linux. I've installed `intel-compute-runtime` version 20.02.15268-1, `ocl-icd` version 2.2.12-3, `opencl-headers` version 2:2.2.20170516-2, and `gcc` version 9.2.0-4.
Once I uploaded the created executable and allocated an interactive FPGA node, I ran the executable, which created the following output:
Platform retrieved
Context created
Command queue created
###
1.4732e+09,2.94641e+09,4.41961e+09,5.89282e+09
7.36602e+09,8.83923e+09,1.03124e+10,1.17856e+10
1.32588e+10,1.4732e+10,1.62053e+10,1.76785e+10
1.91517e+10,2.06249e+10,2.20981e+10,2.35713e+10
###
Matrix loaded
Error initializing DMA: not found
Error initializing DMA
Kernel enqueued
Hardware CSR version ID differs from version expected by software. Either:
a) Ensure your compiled design was generated by the same ACL build
currently in use, OR
b) The host can not communicate properly with the compiled kernel.
Saw version=65535, expected=4.
gauss-host: acl_kernel_if.cpp:957: void acl_kernel_if_launch_kernel_on_custom_sof(acl_kernel_if*, cl_uint, acl_dev_kernel_invocation_image_t*, cl_int): Assertion `0' failed.
Aborted
To me, it looks like the DMA to load the kernel into the FPGA could not be found, which therefore lead to the failure of the program. Am I missing an environment variable or something?