Minggu, 20 Maret 2011

NVIDIA GPU-CUDA & Komputasi Parallel

Kinerja VGA-Card dengan proses komputasi paralel:

A. NVIDIA

NVIDIA Corporation adalah sebuah perusahaan produsen prosesor grafis (graphics processing unit), kartu grafis, dan media dan alat-alat komunikasi untuk komputer pribadi, dan konsol permainan Sony Playstation 3. Produk paling terkenal dari NVIDIA adalah seri GeForce yang digunakan untuk bermain permainan komputer. Markas utama NVIDIA berada di Jalan Bebas Hambatan San Tomas, Santa Clara, California. Seri terbaru NVIDIA adalah GeForce GTX 280 yang telah menggunakan directX versi 10. *)id.wikipedia.org/nvidia



B. GPU-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. Setiap inti memiliki kemampuan untuk menjalankan ribuan “thread” secara simultan. Jika aplikasi yang dijalankan sesuai dengan arsitektur ini, GPU dapat menyediakan keuntungan yang lebih besar dari segi performa proses aplikasi tersebut. Berikut adalah spesifikasi*nya:

CUDA Developer(s) NVIDIA Corporation

Stable release 3.2 September 17, 2010; 5 months ago (2010-09-17)

Operating system Windows (7, Vista, XP, Server 2008, & Server 2003), Linux, Mac OS X

Type GPGPU

License Proprietary, Freeware

Website www.nvidia.com/object/cuda_home_new.html

*)id.wikipedia.org/nvidia

KEUNGGULAN ARSITEKTUR CUDA:

* CUDA menggunakan bahasa “C” standar, dengan beberapa ekstensi yang simpel.

* Scattered writes (penyebaran penulisan) – kode dapat ditulis pada tujuan-tujuan yang tersebar dalam memori.

* Shared memory – CUDA menyingkapkan wilayah memory yang cepat (berukuran 16 KB) yang dapat di bagi diantara thread-thread yang ada. Hal ini dapat digunakan sebagai user-managed-cache, sehingga mengaktifkan bandwitdth yang lebih besar (dari besaran bandwidth yang dimungkinkan), menggunakan texture loops.

* Proses download dan readbacks yang lebih cepat, dari dan ke GPU.

* Support penuh terhadap operasi integer dan bitwise.

Keterbatasan CUDA (terutama di sektor grafis) adalah; CUDA tidak support texture rendering, Bus Bandwidth dan latensi antara CPU dengan GPU bisa jadi bottleneck (tidak imbang), serta CUDA hanya terdapat pada GPU Nvidia :)

NVIDIA’s CUDA development tools terbagi atas 3 komponen kunci yaitu:

1. CUDA driver.

2. A complete CUDA toolkit.

3. CUDA SDK code samples.

CUDA Toolkit adalah pengembangan lingkunan bahasa “C” untuk CUDA-enabled GPU. Ruang lingkup pengembangan CUDA termasuk:

* NVCC “C” compiler.

* CUDA FFT and BLAS libraries for the GPU* Profiler* gdb debugger for the GPU.

* CUDA runtime driver (also available in the standard NVIDIA GPU driver).

* CUDA programming manual.



C. Parallel Processing

adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar (di industri keuangan, bioinformatika, dll) ataupun karena tuntutan proses komputasi yang banyak*.

*)www.id.wikipedia.org/komputasi parallel

Tidak ada komentar:

Posting Komentar