We have recently switched from SDK16.1 to 17.1The aocl diagnose works fine. The aoc -list-boards shows the boards as expected. The aoc full compile works. The make works for the host program. But, when trying to run the hello_world demo the following errors occur. Same for the vector_add demo. It seems that the Nallatech board driver has been updated to 17.1 (as expected) but the host program is still somehow using 16.1. How is this happening? How to fix? bin/host from hello_world produces: MMD ERROR: Kernel driver mismatch: The board kernel driver version is nalla_pcie.17.1.4301bd558eaba33392adec0078bd82d8, but this host program expects nalla_pcie.16.1.1.d41d8cd98f00b204e9800998ecf8427e. Please reinstall the driver using aocl install. MMD ERROR: Kernel driver mismatch: The board kernel driver version is nalla_pcie.17.1.4301bd558eaba33392adec0078bd82d8, but this host program expects nalla_pcie.16.1.1.d41d8cd98f00b204e9800998ecf8427e. Please reinstall the driver using aocl install. Querying platform for info: ========================== CL_PLATFORM_NAME = Intel(R) FPGA SDK for OpenCL(TM) CL_PLATFORM_VENDOR = Intel(R) Corporation CL_PLATFORM_VERSION = OpenCL 1.0 Intel(R) FPGA SDK for OpenCL(TM), Version 17.1 ERROR: CL_DEVICE_NOT_FOUND Location: ../common/src/AOCLUtils/opencl.cpp:356 Query for number of devices failed
You should install the new kernel driver using "aocl install" AND reconfigure your FPGA via JTAG/PCI-E with an OpenCL image compiled with the new version and reboot your machine. It is basically like setting up the board again from scratch. You should also recompile your host code with the new BSP.
Your "aocl install" suggestion confuses me.If I understand the error message correctly, it says the FPGA board has a 17.1 kernel (which is what I want since I'm using SDK 17.1). But, the host wants a 16.1 kernel. Why? This sort of implies that the host is using 16.1 but I compile the host code with SDK 17.1. ???? Why does the host want a 16.1 kernel? I'm using SDK 17.1 tools to - aoc to create the FPGA ".bit file" - run "make" to make the host file How do I re-compile the host code with the new BSP? Doesn't the OpenCL code need the BSP? I did use the the 17.1 tools when running "make" to compile the host code.
I am not sure what the error message is exactly trying to say. It could be a mismatch between driver and FPGA image, it could be mismatch between host code and driver version, etc. As long as you make sure the following criteria is met, it should work:- Environmental variables point to the new BSP - PCI-E driver is updated to new version using "aocl install" - FPGA image/binary is updated to new version through PCI-E/JTAG using an OpenCL image/bianry compiled with the new version - Host code is compiled against the new version of the BSP - Kernel code is compiled again the new version of the BSP
Thanks for confirming my understanding.We re-visited the update to SDK 17.1 I seems not everything was updated (correctly?). Specifically, the .../OpenCL/Boards/nalla_pcie.acd file was from a previous OpenCl nallatech version and updating it to the Intel 17.1 .../OpenCL/Boards/nalla_pcie.fcd resolved the problem. I think the person updated the tools was using files from Nallatech rather than Intel. Anyway, we're working again. Thanks!