Tujuh Fakta Mengenai GPGPU

1. Apa itu GPGPU computing?

General-Purpose computing on Graphics Processing Units (GPGPU) merupakan jenis dari parallel processing yang mana memanfaatkan kartu grafis untuk melakukan perhitungan komputasi. GPGPU pertama kali dikembangkan untuk tujuan scientific computing pada tahun 2001.

2. Seperti apakah jenis aplikasi yang dapat dikerjakan dengan baik menggunkan GPGPU?mengapa?

Algoritma yang tepat untuk diimplementasikan menggunakan GPU harus terdiri dari dua karakteristik utama: bersifat Parallel dan memiliki throughput yang tinggi. (ket: througput adalah jumlah proses yang berhasil dijalankan dalam satu satuan waktu) dalam hal ini throughput yang tinggi berarti bahwa algoritma tersebut dapat memproses banyak data dalam satu satuan waktu. Salah satu contoh aplikasi yang paling sering digunakan adalah aplikasi yang memanfaatkan algoritma pixel-based classification pada kasus computer vision dan image processing. Banyak perusahaan software terkemuka menggunakan GPGPU untuk meningkatkan kecepatan. Selain itu aplikasi Simulasi Fisika yang banyak memanfaatkan PDE dan operasi aljabar linear juga diterapkan dengan menggunakan GPGPU.

3. Perbedaan GPU dan CPU?

GPU memiliki arsitektur yang berbeda dengan CPU tradisional. CPU memanfaatkan sejumlah sumber daya untuk membuat operasi/instruksi tunggal berjalan secara cepat, termasuk saat melakukan proses caching. Sedangkan GPU menggunakan sebuah chip diantara keseluruhan resource area yang dimiliki untuk memproses ratuan operasi secara simultan.

4. Kelebihan dan Kekurangan GPU?

Secara umum GPU dapat mempercepat algoritma 10 hingga 100 kali lebih cepat daripada CPU. Namun meskipun kecepatan merupakan keuntungan utama dari teknologi ini, terdapat dua kelemahan yang utama yaitu:

a. untuk memperoleh keuntungna ini diperlukan algoritma yang diprogram sesuai dengan arsitektur GPU. Pemrograman GPU sangat berbeda dengan CPU. Pemrograman GPU lebih sulit daripada pemrograman CPU dikarenakan Seorang GPU developer membutuhkan pemahaman yang mendalam mengenai arsitektur GPU dan bahasa pemrograman C++.

b. Pemanfaatan hardware GPU di dalam sistem dapat menambah biaya yang tidak sedikit.

5. Bidang ilmu komputasi yang mendapatkan dampak dari GPGPU?

GPGPU computing telah memberikan dampak yang sangat signifikan pada beberapa bidang ilmu berikut: peramalan cuaca, molecular dynamics simulation, flud-flow simulation. Selain itu beberapa aplikasi komersial saat ini sudah mendukung GPGPU seperti MATLAB dan ANSYS; untuk aplikasi open source: AMBSER,LAMMPS,NAMD dan Gromacs. Dapat dikatakan GPGPU merupakan kode pengembangan termuktahir sehingga sering disebut “leading-edge scientific dan Engineering Research”

6. Bagaimana cara menggunakan GPGPU dan Tool apa sajakah yang diperlukan?

Untuk menggunakan GPGPU anda dapat memanfaatkan library OpenCL dan NVIDIA CUDA. Implementasi menggunakan NVIDIA CUDA merupakan standar umum untuk menerapkan GPGPU, NVIDIA memiliki fasilitas yang sangat komplit untuk mendukung GPGPU diantaranya telah disediakan tools yang mencakup compiler, debugger dan profiler, Pustaka Linear Algebra (CUBLAS) dan Fast Fourier Transform (CUFFT). Untuk memulai pemrograman ini pada sistem operasi windows pastikan anda memiliki kartu grafis NVIDIA, selanjutnya anda dapat melakukan instalasi perangkat lunak sebagai berikut:

a. Visual Studio 2010 professional edition (minimum)

b. DirectX 10

c. NVIDIA CUDA SDK

d. NSIGHT Visual Studio Edition

e. NSight Tegra, Visual Studio Edition (Jika anda memiliki kartu grafis Tegra)

f. Tegra Graphics Debugger

g. Tegra System Profiler

7. Bagaimana kita belajar mengenai pemrograman GPU? NVIDIA memberikan dokumentasi yang sangat lengkap. Berikut beberapa link yang dapat dimanfaatkan untuk mempelajari GPU programming: – http://www.nvidia.com/object/cuda_home_new.html

– https://developer.nvidia.com/nvidia-gpu-programming-guide

– http://developer.download.nvidia.com/GPU_Programming_Guide/GPU_Programming_Guide.pdf

Leave a comment