Publication:
Evaluating different Java bindings for OpenCL

dc.contributor.advisorYi, Youngmin
dc.contributor.advisorSierra Cámara, José María
dc.contributor.authorMedina Domínguez, Raquel
dc.contributor.departamentoUC3M. Departamento de Informáticaes
dc.contributor.otherUniversity of Seoul
dc.date.accessioned2013-06-24T11:49:41Z
dc.date.available2013-06-24T11:49:41Z
dc.date.issued2012-12-07
dc.date.submitted2013-03-08
dc.description.abstractThe traditional CPU is able to run only a few complex threads concurrently. By contrast, a GPU (Graphics Processing Unit) allows a concurrent execution of hundreds or thousands of simpler threads. The GPU was originally designed for a computer graphics, but nowadays it is being used for generalpurpose computation using a GPGPU (General Purpose GPU) technology. OpenCL, one of the GPGPU technologies, is introduced in this final project. OpenCL is an extension of C and enables efficient parallel programming for heterogeneous devices including both multi-core CPUs and GPUs. However, it provides a low level abstraction to utilize the hardware efficiently. This tends to a hurdle for productive parallel programming. On the other hand, Java is widely used in many application domains since it provides good productivity in software development. Recently, several methods that bind OpenCL and Java have been suggested: Joagamp, Jocl, JavaCL. In this final project, I evaluate these Java bindings for OpenCL in terms of execution time and the memory used. My own class for vector multiplication has been the baseline application in evaluating the libraries presented here. My results show that Joagamp is more efficient, and Jocl consumes less memory, while JavaCL is most productive in terms of the number of lines of code. ____________________________________________________________________________________________________________________
dc.description.abstractPor una lado el CPU tradicional es capaz de ejecutar solo varios threads al mismo tiempo. Por otro lado, la tecnologia GPU permite ejecutar cientos o miles de simples threads. La tecnologia GPU fue originalmente disenada para graficos pero en estos dias esta siendo usada para calculos usando GPGPU tecnologia. OpenCL, una de las GPGPU tecnologias, es introducida en este projecto final. Metodos de coperacion entre Java y el lenguaje presentado. Varias librerias son prsentadas en este proyecto como Jogamp, JOCL y JavaCL. Mi propia clase multiplicacion de vectores ha sido usada como base de nuestra aplicaion para evaluar las diferentes librerias presentadas aqui. Diferentes medidas han sido usadas para evaular estas diferentes plataformas como son velocidad, tiempo y memoria usada. Acorde a estas medidas somos capaces de definir que tipo de libreria es mas adecuada para los diferntes proyectos que se deseen elaborar.
dc.description.degreeIngeniería en Informática
dc.format.mimetypetext/plain
dc.format.mimetypeapplication/pdf
dc.format.mimetypeapplication/pdf
dc.identifier.urihttps://hdl.handle.net/10016/17183
dc.language.isoeng
dc.rightsAtribución-NoComercial-SinDerivadas 3.0 España
dc.rights.accessRightsopen access
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/es/
dc.subject.ecienciaInformática
dc.subject.otherJava (Lenguaje de programación)
dc.subject.otherTecnología GPU
dc.subject.otherPlataformas informáticas
dc.titleEvaluating different Java bindings for OpenCL
dc.title.alternativeEvaluación de diferentes plataformas Java usando OpenCL
dc.typemaster thesis*
dspace.entity.typePublication
Files
Original bundle
Now showing 1 - 2 of 2
Loading...
Thumbnail Image
Name:
finalversionPFC_Raquel_Medina.pdf
Size:
3.27 MB
Format:
Adobe Portable Document Format
Description:
Memoria del Proyecto en inglés
Loading...
Thumbnail Image
Name:
Resumen-espanol_PFC-Raquel_Medina.pdf
Size:
68.96 KB
Format:
Adobe Portable Document Format
Description:
Amplio resumen en español