Where can I find GPU SDK for i.MX8QM?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Where can I find GPU SDK for i.MX8QM?

Jump to solution
2,339 Views
gabrielaugustoc
Contributor II

Hi, I would like to use OpenCL with i.MX8QM and I could not find the libraries and compiler for Vivante GC7000/XSVX GPGPU.
I have found on the i.MX Linux Reference Manual, page 166, the list of libraries for the GPU, but I did not find which libraries are for the i.MX8QM, how to get and install them.
My kernel version is 4.14.170 and I am using Debian 9 for Arm64.

0 Kudos
1 Solution
2,255 Views
gabrielaugustoc
Contributor II

Hi everyone,

So, the simplest solution to use OpenCL on Debian for i.MX8QM, take the blue pill, and use the Debian10 RootFS from Variscite:
ftp://ftp.variscite.com/VAR-SOM-MX8/Software/debian/

Mount this image as a loop in the memory system, then compress with tar, and install where you want.
Thank Variscite for the amazing job.

Regards,
Gabriel

View solution in original post

0 Kudos
6 Replies
2,256 Views
gabrielaugustoc
Contributor II

Hi everyone,

So, the simplest solution to use OpenCL on Debian for i.MX8QM, take the blue pill, and use the Debian10 RootFS from Variscite:
ftp://ftp.variscite.com/VAR-SOM-MX8/Software/debian/

Mount this image as a loop in the memory system, then compress with tar, and install where you want.
Thank Variscite for the amazing job.

Regards,
Gabriel

0 Kudos
2,276 Views
gabrielaugustoc
Contributor II

Hi,

First, thanks for helping me.
Ok, I have download L4.14.98_2.0.0_ga_images_MX8QMMEK.zip and unzip it on an NFS directory. I have unzipped fsl-image-validation-imx-imx8qmmek.tar.bz2 on an NFS folder. I booted the kernel 4.14.170 via TFTP and pointed NFS folder with the fs-image-...l RootFS. Then, I could run all examples on the /opt/imx-gpu-sdk/OpenCL/ folder without any problem.
I have downloaded the L4.14.98_2.0.0_ga_images_MX8QMMEK.zip from:
https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applicat...

So, I can use OpenCL with kernel 4.14.170, and NXP RootFS without any problem.
I did the same test using a RootFS system from Variscite, that is Debian 10, and the OpenCL is working too.

Now, I have copied the /opt/imx-gpu-sdk and all libraries dependencies to execute the OpenCL/Info example of the NXP on the Debian10, and I getting the following error:
root@apalis-iMX8:/opt/imx-gpu-sdk/OpenCL/Info# ./Info
ERROR: clGetPlatformIDs(0, nullptr, &count) failed with error code Unknown (-1001) at source/FslUtil/OpenCL1_1/OpenCLHelper.cpp(121)

and the result to check the Info library dependency is:
root@apalis-iMX8:/opt/imx-gpu-sdk/OpenCL/Info# ldd Info
linux-vdso.so.1 (0x0000ffffb051b000)
libIL.so => /usr/lib/libIL.so (0x0000ffffb03b7000)
libOpenCL.so => /usr/lib/libOpenCL.so (0x0000ffffb03a1000)
libstdc++.so.6 => /usr/lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffffb0216000)
libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffffb0159000)
libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000ffffb0135000)
libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffffb0106000)
libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffaff94000)
libpng16.so.16 => /usr/lib/libpng16.so.16 (0x0000ffffaff59000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x0000ffffaff0f000)
libtiff.so.5 => /usr/lib/libtiff.so.5 (0x0000ffffafe93000)
libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffafe7f000)
librt.so.1 => /lib/aarch64-linux-gnu/librt.so.1 (0x0000ffffafe67000)
/lib/ld-linux-aarch64.so.1 (0x0000ffffb04ed000)
libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000ffffafe3a000)
liblzma.so.5 => /lib/aarch64-linux-gnu/liblzma.so.5 (0x0000ffffafe05000)

Probably, I am missing some configuration.
Now, I am reading the i.MX Linux Reference Manual.pdf to try to find something to fix this issue.

Is the Vivante package for i.MX8QM created by Yocto?
Maybe, I can take a look on the recipes or repository to see what I am missing!
Do you know what is the repository for the Vivante packages for i.MX8QM? 

0 Kudos
2,267 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

 

You must configure your kernel and pass as module the GPU.

 

0 Kudos
2,316 Views
gabrielaugustoc
Contributor II

Hi,

Thanks for your answer.
But, this will be a problem for me because I have added some image sensors drivers in the 4.14.170 Kernel. This is a branch from Toradex.
Is there another way to get the source code for these libraries and compile it for my Kernel?

Regards,
Gabriel

0 Kudos
2,295 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello Gabriel,

 

Unfortunately no from NXP, but you can consult with Toradex if they have it.

 

Regards

 

0 Kudos
2,321 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello gabriel,

 

The reason is because you are no using an nxp correct kernel version you must use 4.9.88 or 5.4.24BSP to have all the GPU libraries on it.

 

Regards

 

0 Kudos