ROHADI, SEPTIAN PRAMANA (2025) PENGEMBANGAN KOMPUTASI PARALEL DENGAN OPENCL DAN NVIDIA CUDA PADA JAVA. S1 thesis, Universitas Mercu Buana Jakarta.
|
Text (HAL COVER)
01 COVER.pdf Download (502kB) | Preview |
|
![]() |
Text (BAB I)
02 BAB 1.pdf Restricted to Registered users only Download (39kB) |
|
![]() |
Text (BAB II)
03 BAB 2.pdf Restricted to Registered users only Download (68kB) |
|
![]() |
Text (BAB III)
04 BAB 3.pdf Restricted to Registered users only Download (39kB) |
|
![]() |
Text (BAB IV)
05 BAB 4.pdf Restricted to Registered users only Download (746kB) |
|
![]() |
Text (BAB V)
06 BAB 5.pdf Restricted to Registered users only Download (74kB) |
|
![]() |
Text (DAFTAR PUSTAKA)
07 DAFTAR PUSTAKA.pdf Restricted to Registered users only Download (162kB) |
|
![]() |
Text (LAMPIRAN)
08 LAMPIRAN.pdf Restricted to Registered users only Download (460kB) |
Abstract
Java, as a general-purpose programming language has inherent limitation in parallel computation on GPU (GPGPU) due to the lack of mature library support and fragmented platform-specific implementations. This framework was developed to address that gap by unifying CUDA and OpenCL under a single programming interface, while also allowing modular extensibility for future platform support. This framework leverages standard Java classes that are transpiled at runtime into platform-specific GPU kernel code. Additionally, a custom Vector data structure is provided to replace the use of Java Array for GPGPU data storage. Other than GPU execution, this framework includes built-in SIMT emulator that enable CPUbased debugging tools for kernel logic. Benchmark result demonstrated this framework offers a performance improvement of up to 78% in reduced computation time compared to multithreaded CPU execution in the JVM. Keywords: Parallel Computing, Framework, Program Library. Java sebagai bahasa pemrograman tingkat tinggi untuk keperluan umum memiliki keterbatasan dalam kemampuan komputasi paralel berbasis kartu grafis (GPGPU), terutama karena kurangnya dukungan pustaka yang matang dan fragmentasi implementasi antar platform. Kerangka kerja yang dikembangkan dalam penelitian bertujuan untuk mengisi celah tersebut dengan mengintegrasikan dukungan CUDA dan OpenCL menjadi sebuah antarmuka secara terpadu serta memungkinkan penambahan platform lain secara modular. Kerangka kerja ini memanfaatkan kelas Java secara langsung yang dikompilasikan ulang menjadi kode kernel dengan menggunakan transpiler. Struktur data Vector juga dibuat sebagai pengganti atas Array sebagai media penyimpanan data untuk GPGPU. Selain untuk menjalankan kode diatas GPGPU, kerangka kerja ini juga dibuat dengan alat emulasi SIMT untuk tujuan pemeriksaan alur eksekusi dalam proses debugging. Berdasarkan hasil pengukuran yang dilakukan, komputasi GPGPU melalui kerangka kerja ini terbukti dapat memangkas waktu komputasi hingga 78% dibandingkan pendekatan konvensional dengan multithreading CPU pada JVM. Kata kunci: Komputasi Paralel, Kerangka Kerja, Pustaka Program.
Actions (login required)
![]() |
View Item |