FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
5922 Discussions

install OpenCL RTE in customer Linux in Mercury AA1 SoC

ZZhou1
Beginner
907 Views

Hi everyone,

I am using Enclustra Mercury AA1 arria10 SoC to implement a opencl application for FPGA. I used the buildroot and bsp-altera provided by Enclustra to build a customer linux and was able to boot the linux in AA1 SoC. I can run a software built with buildroot cross-compile toolchain in linux without issue.

Now I want to add OpenCL RTE aocl-pro-rte-17.1.0-240.arm32 to my linux. I ran source init_opencl.sh without issue. After I ran aocl diagnose, the linux gives an error "/root/aocl-pro-rte-17.1.0-240.arm32/host/arm32/bin/aocl: not found". I can see the file aocl is there and has right permission +x for all users. If I ran " /root/aocl-pro-rte-17.1.0-240.arm32/host/arm32/bin/aocl" directly, it gives error "-sh: /root/aocl-pro-rte-17.1.0-240.arm32/host/arm32/bin/aocl: not found".

What is the problem? And how can I fix it?

Thanks,

Michael

0 Kudos
6 Replies
MuhammadAr_U_Intel
462 Views
Hi, Did you re-build the driver and install in on your SOC FPGA board ? Please refer to OpenCL RTE getting starter guide. https://www.intel.com/content/www/us/en/programmable/documentation/mwh1391808173911.html#ewa1401204923103 Topic: Recompiling the Linux Kernel Driver and Installing the Intel FPGA RTE for OpenCL Pro Edition onto the SoC FPGA Board There are couple of video series for V series board that might help you copying here for reference. https://www.youtube.com/watch?v=SKJR6PPeDFg Thanks, Arslan
0 Kudos
ZZhou1
Beginner
462 Views
Hi, I did built the driver aclsoc_drv.ko with build-root linux gcc tool chain and copied it to OpenCL RTE folder in the SSD. The OpenCL RTE is also copied to SSD earlier. But after I ran aocl diagnose, the linux gives an error "/root/aocl-pro-rte-17.1.0-240.arm32/host/arm32/bin/aocl: not found". Do you know whether OpenCL RTE is compatible with build-root linux 2018.05 (linux kernel 2.4)? Thanks and regards, Michael
0 Kudos
ZZhou1
Beginner
462 Views
Hi, I noticed I used the run time environment from the downloaded file aocl-pro-rte-17.1.0-240.arm32.tgz. And I can only find "*Intel FPGA Runtime Environment for OpenCL Linux Cyclone V SoC TGZ" *in Intel download web site now. Did I use the wrong run time environment? If I did use the wrong one, where I can download the right run time environment for opencl linux Arria 10 Soc? Thanks and regards, Michael
0 Kudos
MuhammadAr_U_Intel
462 Views
From Error message it seems the AOC is not initialized correctly. Can you copy the console output of 'source init_opencl.sh' ? As for the webpage I believe it is only the display naming issue 'Cyclone V SoC TGZ'
0 Kudos
ZZhou1
Beginner
462 Views

Hi,

 

I found the issue was caused by missing C++ and some other libraries in buildroot-linux. After I enabled them, I can ran aocl diagnose. But it didn't detect any device. One thing is I didn't copy aclsoc_drv.ko file to device linux because I can't built it yet. Here is my source init_opencl.sh output:

 

# source ./init_opencl.sh

# env

USER=root

SHLVL=1

LD_LIBRARY_PATH=/root/aocl-pro-rte/host/arm32/lib:/root/aocl-pro-rte/board/a10soc/arm32/lib:

HOME=/root

PAGER=/bin/more

PS1=#

LOGNAME=root

TERM=vt100

AOCL_BOARD_PACKAGE_ROOT=/root/aocl-pro-rte/board/a10soc

PATH=/root/aocl-pro-rte/bin:/bin:/sbin:/usr/bin:/usr/sbin

SHELL=/bin/sh

INTELFPGAOCLSDKROOT=/root/aocl-pro-rte

PWD=/root

EDITOR=/bin/vi

# aocl diagnose

--------------------------------------------------------------------

Warning:

No devices attached for package:

/root/aocl-pro-rte/board/a10soc

--------------------------------------------------------------------

 

Call "aocl diagnose <device-names>" to run diagnose for specified devices

Call "aocl diagnose all" to run diagnose for all devices

# aocl diagnose all

 

I will try to build the kernel driver and try it again. Does the driver install /dev/acl or who install that?

 

Thanks.

Michael

 

0 Kudos
MuhammadAr_U_Intel
462 Views
I believe you are not able to detect any device since there is no driver installed for board. Follow the step from Intel FPGA RTE for OpenCL Pro, getting starter guide "https://www.intel.com/content/www/us/en/programmable/documentation/mwh1391808173911.html#ARM_linux_RTE_install_RTE_board" Topic: Installing the Intel FPGA RTE for OpenCL Pro Edition onto the SoC FPGA Board 5.Transfer the aclsoc_drv.ko file you built on your development machine into the <rte_destination_directory>/board/a10soc/driver directory on the SoC FPGA board. 6.Set the environment variables, as shown below. recommends that you consolidate the settings of the environment variables into a file called init_opencl.sh. Then, run the command source ./init_opencl.sh to load all the environment variables and the OpenCL™ Linux kernel driver simultaneously. export INTELFPGAOCLSDKROOT=<rte_destination_directory> export AOCL_BOARD_PACKAGE_ROOT=$INTELFPGAOCLSDKROOT/board/c5soc export PATH=$INTELFPGAOCLSDKROOT/bin:$PATH export LD_LIBRARY_PATH=$INTELFPGAOCLSDKROOT/host/arm32/lib:$LD_LIBRARY_PATH insmod $AOCL_BOARD_PACKAGE_ROOT/driver/aclsoc_drv.ko Thanks, Arslan
0 Kudos
Reply