Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16593 Discussions

kernel driver mismatch after switching from SDK 16.1 to 17.1

Altera_Forum
Honored Contributor II
1,080 Views

We have recently switched from SDK16.1 to 17.1 

 

The 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
0 Kudos
4 Replies
Altera_Forum
Honored Contributor II
278 Views

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.

0 Kudos
Altera_Forum
Honored Contributor II
278 Views

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.
0 Kudos
Altera_Forum
Honored Contributor II
278 Views

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
0 Kudos
Altera_Forum
Honored Contributor II
278 Views

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!
0 Kudos
Reply