Jumat, 29 Juni 2018

Paralel Computing (CUDA)

Nama : Achmad Rofiq El Fakih
NPM : 50414145
Kelas : 4IA21
Mata Kuliah : Pengantar Komputasi Modern
Dosen : Indra Adi Permana
1
Teknologi CUDA sebenarnya barawal dari riset yang dilakukan NVIDIA mengenai GPGPU (General-Purpose Computing on Graphics processing Unit). Riset tersebut akhirnya melahirkan CUDA (Compute Unified Device Architecture) suatu arsitektur pemrosesan paralel yang diimplementasikan ke dalam GPU buatan NVIDIA, baik untuk seri GeForce, Quadro, maupun Tesla.
Sejak awal kemunculannya sampai saat ini, CUDA mengalami perkembangan yang cukup pesat. Hal ini bisa dilihat dari perbandingan banyaknya riset berbasis CUDA yang dilakukan dan juga banyaknya CUDA SDK yang didownload dalam dua tahun terakhir. Tahun lalu, hanya ada 67 riset mengenai CUDA dan juga 293.000 CUDA SDK yang didownload. Jumlah itu meningkat jauh untuk tahun ini menjadi 334 riset mengenai CUDA dan juga 668.000 CUDA SDK yang didownload.
Selain itu, perkembangan CUDA juga ditandai dengan meningkatnya dukungan aplikasi dan juga berbagai perusahaan terhadap penggunaan CUDA, diantaranya:
  • Hadirnya compiler CUDA-x86 hasil kerja sama NVIDIA dengan Portland Group. Compiler CUDA-x86 memungkinkan developer untuk membuat aplikasi dengan memanfaatkan CUDA untuk beragam platform yang tersedia.
  • Simulator biologis, AMBER, pada versi terbarunya, AMBER 11, sudah mendukung pemanfaatan multi GPU dan mendukung CUDA. NVIDIA mengumumkan bahwa dengan menggunakan IBM Cluster yang dilengkapi dengan 8 GPU Fermi yang sudah mendukung CUDA, simulator bisa menghasilkan perhitungan 52nanosecond dalam sehari, lebih tinggi bila dibandingkan dengan cluster terkuat AMBER saat ini, KRAKEN, hanya bisa menghasilkan 46nanosecond dalam sehari. Sebagai informasi tambahan, satu simulasi langkah manusia membutuhkan jutaan nanosecond.
  • ANSYS, perusahaan yang memiliki spesialisasi di bidang desain dan simulasi produk yang memiliki beberapa klien ternama seperti Boeing dan P&G, juga memanfaatkan CUDA untuk melakukan simulasi. Satu proses simulasi, misalnya simulasi kemungkinan masalah yang terjadi pada roda pesawat terbang, membutuhkan kemampuan proses yang tinggi. Dengan menggunakan GPU yang dilengkapi dengan CUDA, proses panjang tersebut dapat diselesaikan dalam waktu setengah dari waktu normal yang diperoleh dengan menggunakan CPU termutakhir.

Cara kerja GPU

Kenapa kartu grafis dibutuhkan? Karena di dalamnya ada GPU (Graphical Processing Unit). Semacam prosesor yang ada di dalam kartu grafis.
Bedanya dengan CPU (prosesor yang ada di motherboard), GPU didesain khusus untuk mengolah data gambar/grafis agar bisa tampil ke monitor dengan cepat dan tepat. Karena GPU mempunyai kemampuan khusus, yaitu melakukan perhitungan matematika yang kompleks untuk membentuk gambar (geometri) dalam ruang 3-D, yang tidak mungkin ditangani oleh CPU.
Contoh saja dalam game. Ketika kamu memainkan karakter game dari satu titik ke titik lain, atau melakukan sebuah aksi.. bukankah ruangnya, tata cahayanya, warnanya, dan objek-objek di dalamnya harus berubah? Di belakangnya ada rumus-rumus matematika yang sangat kompleks yang memperhitungkan sistem koordinat, vektor, jarak, dan hukum-hukum fisika agar terbangun sebuah realitas tiga dimensi. Dan semuanya harus berjalan secara realtime.
Begitupun dalam software editing, compositing, dan 3D. Juga dibutuhkan formulasi yang sangat kompleks.
Ini semua hanya bisa dilakukan oleh GPU. Kenapa?
Secara arsitektur, perbedaan CPU dan GPU adalah:
CPU hanya memiliki beberapa inti prosesor (dual-core, quad-core, octa-core) yang bekerja secara serial. Sedangkan GPU terdiri atas RIBUAN core kecil-kecil yang bekerja secara paralel.
Inilah yang membuat GPU bisa menyelesaikan soal matematika tadi dengan cepat.
(Ini seperti mengerjakan tugas dari guru matematika yang sangat banyak. Cara cepatnya adalah dengan kerja kelompok, masing-masing mengerjakan satu soal)
2

Sumber:

Tidak ada komentar:

Posting Komentar