Sunday, August 12, 2012

Rootbeer, akses GPU menggunakan Java

GPU processing selalu identik dengan bahasa yang rumit seperti C++, C dan assembly, karena memasukkan data ke GPU memerlukan akses ke level hardware pipeline. Sekarang semua itu bisa dilakukan dengan menggunakan Java, ya benar sekali Rootbeer memudahkan programmer untuk mengontrol GPU menggunakan Java.
Rootbeer Pertamakali diperkenalkan pada konferensi HPCC (High Performance Computer Communication) 2012 oleh Philip C. Pratt-Szeliga, James W. Fawcett, Roy D. Welch dengan judul presentasi "Rootbeer: Seamlessly using GPUs from Java". Beberapa hal yang dipaparkan dalam konferensi adalah:
  • Dengan menggunakan Rootbeer developer dapat mengakses GPU secara langsung
  • Rootbeer tidak sekedar Java binding biasa, tetapi lebih dari itu
  • Hampir semua program yang dibuat dalam Java, prosessnya bisa dimasukkan kedalam GPU
  • Dengan menggunakan Rootbeer, kernel dapat dibuat dengan menggunakan Java sehingga serialize secara otomatis.
 RootBeer Quote:
 The Rootbeer GPU Compiler makes it easy to use Graphics Processing Units from within Java.

Rootbeer is more advanced that CUDA or OpenCL Java Language Bindings. With bindings the developer must serialize complex graphs of objects into arrays of primitive types. With Rootbeer this is done automatically. Also with language bindings, the developer must write the GPU kernel in CUDA or OpenCL. With Rootbeer a static analysis of the Java Bytecode is done (using Soot) and CUDA code is  automatically generated.
Karena masih dalam tahap pengembangan ada beberapa fitur bawaan Java yang belum bekerja di Rootbeer, diantaranya:
  • Reflection
  • Native Methods
  • Sleeping inside Monitor
  • Garbage Collection (Future Work)
Source Rootbeer tersedia di github, bisa diambil dari link berikut https://github.com/pcpratts/rootbeer1

No comments:

Post a Comment