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

aocl program and aocl diagnose commands fail

New Contributor I

Dear community,


I started to work with Intel OpenCL SDK and DE5-Net. I Installed the BSP support for DE5-Net provided by Terasic into the OpenCL directory of IntelFPGA software and I followed the instructions in the DE5-Net OpenCL guide. I have executed successfully the command "aocl install" and "aocl flash acl0 hello_world.aocx". I did a power cycle of the PC and it seems that the "acl" device is inside /proc/devices. You can find the output of "dmesg" command about the PCI driver and the output of "cat /proc/devices | grep acl" below:




[   3.975583] FPGA manager framework

[   3.981245] fpga_manager fpga0: Altera CvP FPGA Manager @0000:4f:00.0 registered

[   3.981407] aclpci_drv: loading out-of-tree module taints kernel.

[   3.981490] aclpci_drv: module verification failed: signature and/or required key missing - tainting kernel

[   3.981687] aclpci_init (692):

[   3.981688] ----------------------------

[   3.981688] aclpci_init (693):

[   3.981689] Driver version: 18.1.

[   3.981694] aclpci_init (714):

[   3.981694] pci_register_driver

[   3.981719] aclpci_init (720):

[   3.981719] success

cat /proc/devices | grep acl


239 acl


But when I run the command "aocl program acl0 hello_world.aocx" I got this output:


aocl program: Running program from /home/fciverch/intelFPGA/18.1/hld/board/terasic/de5net/linux64/libexec

Unable to open the device acl0.

aocl program: Program failed.


For "aocl diagnose" the output is the following:


Verified that the kernel mode driver is installed on the host machine.

Using board package from vendor: Terasic Corporation

Querying information for all supported devices that are installed on the host machine ...

Found no active device installed on the host machine.

Please make sure to:

     1. Set the environment variable AOCL_BOARD_PACKAGE_ROOT to the correct board package.

     2. Install the driver from the selected board package.

     3. Properly install the device in the host machine.

     4. Configure the device with a supported OpenCL design.

     5. Reboot the machine if the PCI Express link failed.




There is no /dev/acl0 peripheral created and I tried to create it manually using the command "mknod /dev/acl0 c 239 0", but the problem persists.

Could you please give me some suggestions to fix the issue? Why the peripheral is inside the /proc/devices list but the /dev/acl0 is not created?

I use Quartus prime standard 18.1 and OpenCL SDK 18.1. The BSP for DE5-Net is the latest 18.0 with some changes to be compatible with 18.1.

The operative system is Ubuntu 16.04 equipped with Intel Xeon processor and the kernel is 4.15.0-38-generic.


Thank you for your support.


Best Regards,

Federico Civerchia


0 Kudos
1 Solution
New Contributor I

Finally I fix the problem. The kernel modules "altera_cvp" and "fpga_mgr" managed the PCIe instead of "aclpci_drv". Removing that modules fixed the issue.



View solution in original post

0 Kudos
1 Reply
New Contributor I

Finally I fix the problem. The kernel modules "altera_cvp" and "fpga_mgr" managed the PCIe instead of "aclpci_drv". Removing that modules fixed the issue.



0 Kudos