Login  Register

JOCL on the ODROID-XU / Android

Posted by MichaelEGR on Oct 09, 2013; 7:17pm
URL: https://forum.jogamp.org/JOCL-on-the-ODROID-XU-Android-tp4030220.html

Greets,

This is my first post and I look forward to participating with the Jogamp community in getting JOCL support on Android. The ODROID-XU is presently the only Android device that has unfettered access to OpenCL since it is a development board outside the purview of Google's attempts to block OpenCL access.

http://www.hardkernel.com/renewal_2011/products/prdt_info.php?g_code=G137510300620

I notated on the 773 issue the location of the PowerVR OpenCL driver. Quite likely it is located in a similar place for all PowerVR based SoCs.

https://jogamp.org/bugzilla/show_bug.cgi?id=773

The driver is located here:
/system/vendor/lib/libPVROCL.so

Xerxes, made some comments about possible modifications to JOCL to support dynamic driver loading. Since I am not familiar with the internals of building JOCL presently it may take me some time to take a look. This is a priority task for me though because I am speaking at two Android conferences (OnAndroidConf & AnDevCon) on OpenCL for Android. The first being in two weeks, so indeed I'd like to get this working. I have desktop and Android demos built, but just lack the last step of getting JOCL working with the ODROID-XU.

Given that Xerxes proposed some changes in 773 is there any way that those changes can be made then I can take a look at how to add the proper lookup for the ODROID / PowerVR drivers.

Here is what Xerxes proposed:
------------
The best way to resolve this bug is to move the implementation into a new class
com.jogamp.opencl.CLDynamicLibraryBundleInfo and use the DynamicLibraryBundle helper class provided by Gluegen.
http://jogamp.org/deployment/jogamp-next/javadoc/gluegen/javadoc/com/jogamp/common/os/DynamicLibraryBundle.html
http://jogamp.org/deployment/jogamp-next/javadoc/gluegen/javadoc/com/jogamp/common/os/DynamicLibraryBundleInfo.html

I suggest to make JOCL library and symbol look-up similar to how we do dynamic library symbol look-up inside multiple librarys for the JOGL project. You may take a look at the com.jogamp.opengl.GLDynamicLibraryBundleInfo implementation to see how we prefer to do dynamic library loading and symbol look-up inside the JogAmp projects.
------------

If the above changes can be made it will be easier for me to continue investigating getting things working on the ODROID-XU.  Xerxes, do you think you can complete your proposed changes since you are more familiar with the internal workings of JOCL and can implement things appropriately to be similar to the GLDynamicLibaryBundleInfo functionality?

Thanks for taking a look or communicating more on how to resolve dynamic loading of the OpenCL driver.

--Mike