Hi Nick,


I agree this would be pretty exciting ! Imagination Technologies (Imgtec) has publicly announced they *will* support OpenCL in the future though they didn’t disclose any availability date.


Since they’re behind the majority of the current embedded 3D IP (including Nokia, Apple, Motorola Droid etc…), this should represent a fairly large number of target devices. TI, Freescale, Marvell, NXP, Samsung are all Imgtec licensees. Both Apple and Intel have a large stake (respectively 9.5% and 16%) in Imagination.


Then it’s a matter of whether the OS will make it available to the user. Nokia has an history of supporting python on its handheld (I got an E61 then an N900 that both support python). Don’t know about Apple though I would be more doubtful. Don’t know about other manufacturers either.


Below is a quote from IMGTEC (source: http://www.khronos.org/news/press/releases/imagination-technologies-announces-powervr-sgx545-graphics-ip-core-with-ope/)


Las Vegas, USA, 8th January 2010: Imagination Technologies, a leading multimedia chip technologies company, announces POWERVR SGX545, the first and only DirectX10.1 capable embedded graphics IP core available for immediate licensing. SGX545 will also deliver OpenGL ES 2.x and OpenGL 3.2 to deliver class leading 3D graphics performance, and will also support OpenCL 1.0 full profile capability which will enable mobile and embedded applications to take maximum advantage of the capabilities offered by these GPU APIs for both 3D graphics and general purpose applications.


ARM provides its own 3D core known as Mali (with currently 27 licencees including Samsung) but they didn’t tell their plans about OpenCL yet.


Regarding Google, sources (http://www.geeky-gadgets.com/google-nexus-one-phone-hardware-specifications-revealed-16-12-2009/) reveal the nexus one is powered by a snapdragon processor from Qualcomm. Since Qualcomm acquired AMD mobile 3D graphics assets back in January 2009, they must be brewing their own, yet-to-be-announced solution.


Best regards,



From: pyopencl-bounces@tiker.net [mailto:pyopencl-bounces@tiker.net] On Behalf Of Nick Gaens
Sent: mardi 9 février 2010 18:36
To: pyopencl@tiker.net
Subject: [PyOpenCL] PyOpenCL for handhelds


Hello all,

I'm wondering if there are handhelds / mobile devices out there that are known to support OpenCL. I've read the following on Khronos' page:

OpenCL (Open Computing Language) is the first open, royalty-free standard for general-purpose parallel programming of heterogeneous systems. OpenCL provides a uniform programming environment for software developers to write efficient, portable code for high-performance compute servers, desktop computer systems and handheld devices using a diverse mix of multi-core CPUs, GPUs, Cell-type architectures and other parallel processors such as DSPs.

So, such devices exist, based upon this small introductionary piece of text. Although I cannot determine which range of devices is actually supporting OpenCL. Just above the previous quote, though, there is this piece of text (same page):

OpenCL is being created by the Khronos Group with the participation of many industry-leading companies and institutions including 3DLABS, Activision Blizzard, AMD, Apple, ARM, Broadcom, Codeplay, Electronic Arts, Ericsson, Freescale, Fujitsu, GE, Graphic Remedy, HI, IBM, Intel, Imagination Technologies, Los Alamos National Laboratory, Motorola, Movidia, Nokia, NVIDIA, Petapath, QNX, Qualcomm, RapidMind, Samsung, Seaweed, S3, ST Microelectronics, Takumi, Texas Instruments, Toshiba and Vivante.

I've marked the companies that I know of being developers of mobile device hardware in one way or another, but Google e.g. doesn't know any interesting combination of "OpenCL" and "mobile device" or "handheld" :-(. Very strange, since there are that much developers involved here.

The reason why I'm asking this on this mailing list is that I'm willing to target some mobile device or platform and am going to do some (in-depth) research (MSc) about OpenCL on that mobile platform and since Python is available on almost every known platform out there, PyOpenCL gives me a splendid way to actually build such OpenCL-powered applications.

Can someone elaborate on this matter? Maybe one can point me in some relevant direction?

Thx in advance,