Jurnal pertama :
Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK)
Optimasi Rendering Game 2D Asteroids Menggunakan Pemrograman CUDA
Jurnal kedua :
Jurnal Seminar Nasional Aplikasi Teknologi Informasi (SNATi) 2015
Analisis Perbandingan Komputasi GPU dengan CUDA dan Komputasi CPU untuk Image dan Video Processing
Latar Belakang
Jurnal 1:
Tujuan diadakan penelitian video game Asteroids sebagai objek adalah untuk meningkatkan performa secara umum. Peningkatan performa dari video game adalah dengan memanfaatkan interoperability dari CUDA dan OpenGL. Hasil dari penelitian ini adalah membandingkan perbedaan performa antara video game yang memanfaatkan interoperability CUDA dan OpenGL dibandingkan dengan video game tanpa memanfaatkan interoperability dari CUDA dan OpenGL. Batasan dari penelitian ini adalah video game Asteroids dengan memanfaatkan freeglut sebagai windowing library dan OpenGl sebagai rendering library
Jurnal 2:
Penelitian ini bertujuan untuk menerapkan teknik komputasi dengan teknologi CUDA dan memaparkan hasil kinerja dari perbandingan antara komputasi paralel GPU menggunakan CUDA dengan komputasi sekuensial CPU menggunakan OpenCV
Metode
Jurnal 1:
Game 2D Asteroids akan dilakukan proses improvement, dengan menggunakan GPU. Di dalam sebuah game pasti memiliki main loop. Pada main loop tersebut, sebuah proses pasti dilakukan secara berulang, dan hal inilah yang menjadi peluang untuk dilakukan pengoptimalan dengan pemrograman CUDA. agar proses yang dilakukan dapat berjalan lebih cepat.
Jurnal 2:
Penelitian ini terbgai menjadi dua bagian, yaitu membandingkan antara komputasi CPU dengan komputasi GPU untuk image processing dan video processing. Operasi yang dilakukan adalah grayscale, negatif dan deteksi tepi dengan metode sobel filter. Pemrograman yang digunakan untuk komputasi CPU adalah OpenCV sedangkan untuk komputasi GPU menggunakan CUDA.
Analisa Perbandingan
Jurnal 1:
Berdasarkan hasil pengujian CPU dan dengan menggunakan GPU, dapat dilihat hasilnya secara visualisasi. Berdasarkan hasil tersebut, dapat dianalisis bahwa hasil nilai-nilai utilization, speed, processes, thread dan handles yang menggunakan GPU relatif lebih kecil dari pada kode yang di eksekusi menggunakan CPU.
Berdasarkan data yang telah didapatkan dari pengujian, hasil percobaan menunjukkan bahwa implementasi dengan menggunakan pemrograman GPU dapat mengurangi utilization pada CPU. Dan pada percobaan menggunakan hanya CPU, terkadang terjadi spiking. Sedangkan ketika dilakukan implementasi dengan GPU, utilization dari CPU relatif stabil dan tidak terlihat adanya peningkatan kinerja yang signifikan.
Jurnal 2:
Pada perbandingan grayscale terlihat bahwa waktu proses antara CUDA dan OpenCV berkisar 0.001 hingga 0.006 detik untuk ukuran 1024x768 serta untuk ukuran 7000x5000 waktu proses maksimal hanya berselisih 0.3 detik untuk keunggulan CUDA
Pada perbandingan negatif terlihat bahwa waktu proses antara CUDA dan OpenCV untuk ukuran 1024x760 maksimal hanya berselisih 0.03 detik. Seiring ukuran bertambah besar selisih waktu semakin meningkat yakni dari selisih 0.1 detik untuk ukuran 1900x2500, 0.5 detik untuk ukuran 4000x2500 hingga berselisih satu hingga dua detik untuk ukuran 7000x5000 dengan keunggulan CUDA
Pada perbandingan deteksi tepi tampak selish waktu yakni untuk ukuran 1024x760 mencapai 0.4 detik, kemudian untuk ukuran 1900x1200 mencapai satu detik dan ukuran 4000x2500 mencapai lima detik serta untuk ukuran
7500x5000 mencapai 14 detik untuk keunggulan CUDA.
Penutup
Jurnal 1:
Hasil percobaan dapat disimpulkan bahwa implementasi GPU dapat mengurangi utilization pada CPU. Pada percobaan CPU tanpa GPU, penggunaan CPU kadang terjadi spiking. Sedangkan pada implementasi GPU, utilization dari CPU relatif stabil. Hal yang sama juga terjadi pada speed. Kemudian pada bagian processes, threads, dan handles penggunaan dengan GPU relatif lebih rendah dibandingkan penggunaan CPU tanpa GPU. Kemudian untuk hasil yang didapatkan dari GPU adalah tidak adanya aktifitas yang signifikan pada CPU, karena proses yang awalnya berjalan pada CPU dipindahkan ke GPU. Akibat implementasi tersebut maka hasil pengoptimalan dapat tercapai. Sehingga dapat disimpulkan bahwa penggunaan GPU dapat meningkatkan performa dibandingkan dengan implementasi CPU, meskipun tidak terlihat peningkatan performa secara signifikan, terutama dari segi tampilan grafis 2D.
Jurnal 2:
Teknologi CUDA untuk komputasi paralel menggunakan GPU menunjukkan keunggulan terhadap komputasi sekuensial menggunakan CPU. Berdasarkan pengujian tersebut, diketahui bahwa selisih kedua komputasi untuk image processing tidak begitu besar terutama untuk operasi grayscale dan negatif. Namun untuk operasi deteksi tepi, makin besar ukuran gambar semakin terlihat kecepatan proses CUDA hingga 2.8 kali lipat lebih cepat dari pada OpenCV yang didapat pada ukuran gambar 7500x5000. Hal ini disebabkan pada perbedaan algoritme pada tiap operasi. Pada operasi grayscale dan negatif memiliki algoritme yang hampir mirip yakni cukup menggunakan satu persamaan untuk mengubah warna tiap pixel gambar.