Sabtu, 30 Juni 2018

Paralel Computing Cuda

Parallel Computing

Parallel computing muncul ketika komputer membawa lebih dari satu task secara simultan (bersamaan). Teknik ini dapat
memungkinkan komputer bekerja secara lebih cepat dibandingkan dengna melakukannya secara sekaligus, seperti halnya seseorang dengan dua tangan dapat menyelesaikan lebih banyak pekerjaan dengan orang yang hanya menggunakan satu tangan saja.

Pada dasarnya, program komputer didesain dengan menggunakan sebuah cara di mana tidak memungkinkan parallel computing, yaitu dengan menyelesaikan setiap langkah dalam satu waktu. Untuk program yang melakukan proses dengan cara ini (parallel computing), maka program tersebut didesain untuk dapat membagi task ke dalam task-task yang lebih kecil yang dapat dikerjakan secara individual.


Keuntungan utama parallel computing adalah program dapat melakukan eksekusi secara lebih cepat. Jika hardware komputer yang mengeksekusi sebuah program yang menggunakan parallel computing memiliki arsitekturnya, seperti pada processor (CPU / Central Processing Unit), parallel computing dapat menjadi sebuah teknik yang efisien.


Sebagai sebuah analogi, jika satu orang membawa satu boks dan orang tersebut adalah processor, program yang mengeksekusi secara berurutan hanya dapat membawa satu boks dalam satu waktu. Ketika mengeksekusi dalam paralel, program yang sama dapat terbagi ke dalam dua task berbeda, dan jika terdapat dua processor yang tersedia, maka dapat membawa dua boks dalam waktu yang sama. Dengan melakukan hal ini, orang tersebut dapat membawa boks dan menyelesaikan tugasnya secara lebih cepat.


Programming CUDA


GPU (Graphical Processing Unit) pada awalnya adalah sebuah prosesor yang berfungsi khusus untuk melakukan rendering pada kartu grafik saja, tetapi seiring dengan semakin meningkatnya kebutuhan rendering, terutama untuk mendekati waktu proses yang realtime /sebagaimana kenyataan sesungguhnya, maka meningkat pula kemampuan prosesor grafik tersebut. akselerasi peningkatan teknologi GPU ini lebih cepat daripada peningkatan teknologi prosesor sesungguhnya (CPU), dan pada akhirnya GPU menjadi General Purpose, yang artinya tidak lagi hanya untuk melakukan rendering saja melainkan bisa untuk proses komputasi secara umum.penggunaan Multi GPU dapat mempercepat waktu proses dalam mengeksekusi program karena arsitekturnya yang natively parallel. Selain itu Peningkatan performa yang terjadi tidak hanya berdasarkan kecepatan hardware GPU saja, tetapi faktor yang lebih penting adalah cara membuat kode program yang benarbenar bisa efektif berjalan pada Multi GPU.
CUDA merupakan teknologi anyar dari produsen kartu grafis Nvidia, dan mungkin belum banyak digunakan orang secara umum. Kartu grafis lebih banyak digunakan untuk menjalankan aplikasi game, namun dengan teknologi CUDA ini kartu grafis dapat digunakan lebih optimal ketika menjalankan sebuah software aplikasi. Fungsi kartu grafis Nvidia digunakan untuk membantu Processor (CPU) dalam melakukan kalkulasi dalam proses data.


CUDA merupakan singkatan dari Compute Unified Device Architecture, didefinisikan sebagai sebuah arsitektur komputer parallel, dikembangkan oleh Nvidia. Teknologi ini dapat digunakan untuk menjalankan proses pengolahan gambar, video, rendering 3D, dan lain sebagainya.
Singkatnya, CUDA dapat memberikan proses dengan pendekatan bahasa C, sehingga programmer atau pengembang software dapat lebih cepat menyelesaikan perhitungan yang komplek. Bukan hanya aplikasi seperti teknologi ilmu pengetahuan yang spesifik. CUDA sekarang bisa dimanfaatkan untuk aplikasi multimedia. Misalnya meng-edit film dan melakukan filter gambar. Sebagai contoh dengan aplikasi multimedia, sudah mengunakan teknologi CUDA. Software TMPGenc 4.0 misalnya membuat aplikasi editing dengan mengambil sebagian proces dari GPU dan CPU. VGA yang dapat memanfaatkan CUDA hanya versi 8000 atau lebih tinggi.
Keuntungan dengan CUDA sebenarnya tidak luput dari teknologi aplikasi yang ada. CUDA akan mempercepat proses aplikasi tertentu, tetapi tidak semua aplikasi yang ada akan lebih cepat walaupun sudah mengunakan fitur CUDA. Hal ini tergantung seberapa cepat procesor yang digunakan, dan seberapa kuat sebuah GPU yang dipakai. Dan bagian terpenting adalah aplikasi apa yang memang memanfaatkan penuh kemampuan GPU dengan teknologi CUDA. Kedepan seperti pengembang software Adobe akan ikut memanfaatkan fitur CUDA pada aplikasi mereka.Jawaban akhir adalah, untuk memanfaatkan CUDA kembali melihat aplikasi software yang ada. Apakah software yang ada memang mampu memanfaatkan CUDA dengan proses melalui GPU secara penuh. Hal tersebut akan berguna untuk mempercepat selesainya proses pada sebuah aplikasi. Dengan kecepatan proses GPU, aplikasi akan jauh lebih cepat. Khususnya teknologi ilmu pengetahuan dengan ramalan cuaca, simulator pertambangan atau perhitungan yang rumit dibidang keuangan. Sedangkan aplikasi umum sepertinya masih harus menunggu.



Sumber :

  • http://rohmansubscribe.blogspot.com/2018/06/parallel-computing-cuda.html

Tidak ada komentar:

Posting Komentar