OpenCL di Smartphone

ah, gw telat update dengan berita ini.. ini berkaitan dengan postingan lama,.. komputasi parallel di smartphone..

dan ternyata diem-diem Google sempat menyisipkan OpenCL drivers ke smartphone Nexus 4 dan tablet Nexus 10 di awal tahun ini.. hal ini dilaporkan oleh Kishonti Ltd. setelah mereka berhasil menjalankan CLBenchmark di tablet Nexus 10 (Mali GPU T-604)..

tapi kemudian tercium aroma ketidaksehatan di sini.. tampaknya Google merasa gengsi menggunakan OpenCL.. meskipun sekarang di-“maintain” oleh Khronos Group dan bersifat terbuka, bagaimanapun ide dan pengembangan awal OpenCL berasal dari Apple.. mungkin saja Google merasa risih ada aroma Apple di produknya..

dan bener saja, di update-an firmware untuk Nexus 4 dan Nexus 10 yang rilis agustus lalu.. Google menghapus OpenCL driver dari firmware.. ish ish ish.. sungguh tak dewasa..  [emoji angry face]

sebenarnya Google telah merilis sebuah framework untuk komputasi di Android buatan mereka sendiri, yang diberi nama “RenderScript“.. sama halnya seperti OpenCL, RenderScript juga bersifat cross-platform, mampu memanfaatkan sumber daya komputasi yang tersedia di smartphone (CPU, GPU, DSP).. akan tetapi, tindakan Google menghapus OpenCL driver terkesan “memaksa” Android developer untuk menggunakan RenderScript buatan mereka ketimbang OpenCL… hal ini jadi perdebatan seru di sini..

syukurnya, Qualcomm sebagai produsen mobile processor, tetap terus berusaha mengembangkan OpenCL driver untuk produknya.. dan kabarnya sudah berhasil untuk Snapdragon 600 (Adreno 320 GPU) dan Snapdragon 800 (Adreno 330 GPU)..

ah, ingin segera mencicipi supercomputing di smarphone.. mudah-mudahan segera ada rezeki buat punya Android smartphone dengan Snapdragon 800 di dalamnya.. jadi bisa mencicipi OpenCL dan RenderScript sekaligus.. doain yah..  [emoji grinning face]

lalu bagaimana dengan CUDA ? kabarnya akhir tahun ini NVIDIA akan merilis Tegra 5 yang konon akan support CUDA.. tampaknya era “smartphone computing” akan dimulai tahun depan.. interesting !!  [emoji smirking face]

[ WeekendProjects ] Python and GPU

Wiken kali ini pengen nyobain gimana menggunakan python untuk gpu programming.. ga sampe terlalu detil, cuma instalasi dan running sample codenya doank.. yang penting link-link pentingnya sudah diamankan.. [emoji grinning face with smiling eyes]

1. PyCUDA = python + cuda

Download: pypi/pycuda
Instalasi: PyCuda/Installation
Dokumentasi: documen.tician.de/pycuda/

2. PyOpenCL = python + opencl

Download: pypi/pyopencl
Instalasi: PyOpenCL/Installation
Dokumentasi: documen.tician.de/pyopencl/

Untuk sementara itu dulu.. kalau ada kesempatan dan mood, kita lanjut lagi..  [emoji grinning face with smiling eyes]

MATLAB OpenCL Toolbox – Update

I made a little update on Matlab OpenCL Toolbox so now it can support the binary file of opencl program, and also a little update to avoid the compilation error in Mac or Linux..

ocl = opencl();
ocl.initialize(1,2);
ocl.addbinary('binaryprogram.clbin');
ocl.build();

the update is available here.
credit should go to the original author: Radford Juang

MATLAB OpenCL Toolbox on Mac Lion

Steps:

1. download toolbox source from this link and unzip it.
2. edit make.m

opencl_include_dir = '/System/Library/Frameworks/OpenCL.framework/Headers';
mex('src/openclcmd.cpp', '-Iinclude', ['-I' opencl_include_dir]);

3. edit your ~/.matlab/R20XXa/mexopts.sh. Check lines after “maci64” line and modify CLIBS and CXXLIBS so they become:

CLIBS="$MLIBS -framework OpenCL"
CXXLIBS="$MLIBS -lstdc++ -framework OpenCL"

4. open MATLAB and go to the opencl-toolbox directory
5. run make

>> make

6. add this directory as MATLAB path

>> addpath /replace/with/the/directory/path/