Parallel Computing pada GPU di NVIDIA CUDA

GPU (Graphic Processing Unit) sendiri merupakan sebuah alat/hardware, yang berfungsi sebagai render grafis terdedikasi dalam kesatuan sistem hardware PC atau Notebook. GPU bisa berada pada Video Card khusus (VGA Card) atau terintegrasi dalam Motherboard berupa Integrated GPU. GPU berfungsi untuk mengolah dan memanipulasi grafis pada CPU (Central Processing Unit), untuk nantinya ditampilkan dalam bentuk Visual Grafis pada Monitor (output).

CUDA (Compute-Unified-Device-Architecture) adalah arsitektur komputasi paralel yang dikembangkan oleh NVIDIA. CUDA adalah mesin komputasi dalam pemrosesan grafis NVIDIA unit (GPU) yang dapat diakses oleh pengembang perangkat lunak melalui varian dari bahasa pemrograman standar industri. CUDA merupakan kumpulan program-program yang menerjemahkan teks dalam bentuk bahasa komputer (computer language) berupa source language/source code, ke dalam bentuk bahasa komputer yang lain (target language/object code). Arsitektur CUDA memungkinkan GPU (yang telah support CUDA) menjadi arsitektur terbuka seperti layaknya CPU (Central Processing Unit a.k.a Processor). Hanya, tidak seperti CPU, GPU memiliki arsitektur banyak-inti yang pararel.

Komputasi Parallel pada GPU

  • GPU computing (General Purpose GPU – GPGPU) merupakan konsep pemrograman parallel yang menggunakan GPU sebagai media komputasi untuk memproses komputasi yang umumnya dikerjakan CPU.
  • Model untuk komputasi GPU adalah dengan menggunakan CPU dan GPU bersama-sama dalam suatu model komputasi heterogen co-processing.
  • Dari sudut pandang pengguna, aplikasi akan berjalan lebih cepat karena menggunakan kinerja-tinggi dari GPU untuk meningkatkan kinerja.
  • CPU lebih spesifik menangani permasalahan logika, sedangkan permasalahan komputasi diserahkan kepada GPU.

Berikut ini adalah gambar diagram Operasi floating-point CPU dan GPU pada beberapa produk Nvidia

diagram

Gambar diagram operasi floating-point CPU – GPU dan memory bandwith untuk CPU – GPU

diagram2

Perbedaan floating-point operation dan memory bandwith ada karena GPU dispesialisasikan untuk menangani komputasi secara paralel. Pada GPU dirancang lebih banyak transistor yang didedikasikan untuk mengolah data daripada data caching dan flow control.

Untuk penggunaan / implementasi cuda kita bisa menggunakan beberapa software yang bisa digunakan untuk membuat program dengan dukungan teknologi CUDA seperti :

  • CUDA x86 Compiler, hasil kerja sama NVIDIA dan Portland Group untuk membuat aplikasi dengan menggunakan CUDA.
  • ANSYS, spesialisasi di bidang desain dan simulasi yang memanfaatkan CUDA untuk melakukan simulasi. Satu proses simulasi, misalnya simulasi kemungkinan masalah yang terjadi pada roda pesawat terbang, membutuhkan kemampuan proses yang tinggi.
  • Autodesk,menambahkan dukungan terhadap CUDA pada aplikasi populer mereka, 3ds Max, melalui plugin iray. iray memungkinkan rendering objek 3D dilakukan dengan menggunakan GPU yang mendukung CUDA.
  • Autodesk juga menunjukkan sebuah proyek masa depan dimana pengguna 3ds Max bisa melakukan editing dari jarak jauh pada aplikasi 3ds Max yang terpasang di server yang didukung tenaga 32 GPU Fermi, hanya melalui sebuah browser.
  • MATLAB

Bila ingin mengetahui jenis GPU NVIDIA yang telah support CUDA bisa dlihat disini

referensi :

http://en.wikipedia.org/wiki/CUDA

http://dimasdisini.wordpress.com/2011/04/03/multicore-gpu-cuda/

https://developer.nvidia.com/

Categories: Uncategorized | Tags: , , , , , | Tinggalkan komentar

Navigasi pos

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Blog di WordPress.com.

%d blogger menyukai ini: