ARM and OpenCL

>> Sunday, December 2, 2012

On the whole, I'm happy with the Nexus 10. The Android SDK is easy to use and I've been climbing steadily up the learning curve. I've coded some basic and intermediate applications and I'm currently writing code to access Near Field Communication (NFC).

But in one respect, I'm deeply disappointed. The tablet's GPU is OpenCL-compliant but I can't use it to execute OpenCL kernels. ARM has stated that unless Samsung purchases the drivers, they will remain unavailable.

So an idea struck me: why don't I code an OpenCL driver myself? It's just a matter of translating OpenCL routines into ARM-Mali functions. How hard could it be? To find out, I've downloaded an evaluation copy of ARM's DS-5 development tools.

Of course, I'll also need a run-time compiler. Thankfully, the folks at ClusterChimps.org have released oclTools, which looks like it will be helpful. Their site is minimalistic and light-hearted, and I was interested in learning more about them. But when I went to the About Us page, the only link leads to apple.com. Apple, champion of all that is closed-source and litigious. Bizarre.

13 comments:

Anonymous,  December 3, 2012 at 10:38 AM  

Nexus 10 supports compute on the GPU through Renderscript - check it out!

Roro December 4, 2012 at 4:31 AM  

Yep, Google seems to lock Android to promote its Renderscript and by so block OpenCL on Android ...

Keivn Tai December 20, 2012 at 8:42 PM  

How about Nexus 4......Qaulcomm S4 pro has OpenCL compliance.

Matthew Scarpino December 21, 2012 at 8:58 PM  
This comment has been removed by the author.
Matthew Scarpino December 21, 2012 at 11:49 PM  

It's good that the Qualcomm GPU is OpenCL-compliant but it doesn't look like Qualcomm has released a software development kit for it. You can find a list of available SDKs at http://streamcomputing.eu/blog/2012-10-31/all-opencl-sdks-now-in-our-knowledge-base.

kevin December 22, 2012 at 8:41 AM  

Hi, Matthew,
Please see the link at https://developer.qualcomm.com/forum/qdevnet-forums/mobile-gaming-graphics-optimization-adreno/15317 .
Sonicadvance1 said that "So the 3.1 SDK is out and has OpenCL examples and even a APK in it for trying things out. Is there any news on when support is coming from anyone? I really want OpenCL and OpenGL ES 3 interop before christmas time"

Maybe we can see more aggressive approach in Qualcomm. It's a pity that I can't buy Nexus4 in my country, Taiwan. We don't have google play store in my country. Maybe someone who own Nexus 4 can share Qualcomm's OpenCL progress.

Anonymous,  January 3, 2013 at 4:23 PM  

Hi all,
Please refer to the below link.
http://forums.arm.com/index.php?/topic/16334-opencl-for-arndale-board-and-nexus-10/

Arndale board has the same configuration with Nexus 10. If so, Can it be possible to port open cl library released for arndale board to nexus10 and use OpenCL on nexus 10.
Do you think it is possible scenario or approach?

Olav Aanes Fagerlund February 11, 2013 at 10:40 PM  

Hi there,

I just put OpenSUSE on my Samsung Chromebook (exynos 5 dual, mali 604T graphics). Now, I am trying to correctly put in the opencl driver and libraries. Anyone have had success with this?

Regards

sunil chaudhari April 17, 2013 at 7:31 PM  

Hi Mathiew,

Plz help me, I am doing my post graduate project on android platform. Plz tell me how to develop android application using OpencL. Plz suggest me the device also.

Thanks.

Matt Scarpino April 17, 2013 at 7:52 PM  

Hi Sunil,

I have two posts that describe OpenCL applications on Android (specifically the Nexus 10). The first is here and the second is here.

I've uploaded the source code for both applications to Github, which can be accessed here.

sunil chaudhari April 24, 2013 at 9:48 AM  

Thanks Sir,

But I have a different problem, Micromax Canvas Hd mobile having MediaTech PowerVr SXt gpu.Which is having opencl support. So can I develop application for the same? Sir Plz help me.

Matt Scarpino April 24, 2013 at 12:41 PM  

Hi Sunil,

I don't have a device with a PowerVR GPU, so I can't say if an OpenCL driver is available. But if you find an OpenCL library on the device (libOpenCL.so or something like that), you can still use my code. Just call System.load with the library's full path.

Best of luck,
Matt

sunil chaudhari April 25, 2013 at 7:51 AM  

Thanks Sir

I have searched the Qualcomm website an found that Adreno 320 sdk is available. Drivers are also available.Then how to find libOpencl.so on the device. Then only library is sufficient?

Plz reply sir.
Good Night!!!!!!!!!!!!!!!!!!!!

Post a Comment

  © Blogger template Werd by Ourblogtemplates.com 2009

Back to TOP