Skip to main content

PARALEL COMPUTING CUDA


Pengertian Parallel Computing

Parallel Computing merupakan suatu metode komputasi yang prosesnya membutuhkan beberapa komputer secara bersamaan untuk mendapatkan suatu informasi, biasanya hal tersebut terjadi dalam bidang misalnya keuangan, teknik informasi, atau hal-hal yang membutuhkan kapasitas besar baik dalam proses maupun komputasi yang banyak.

Untuk melakukan komputasi jenis parallel ini diperlukannya suatu infrastruktur yang terdiri dari beberapa komputer yang terhubung satu sama lainnya melalui jaringan secara parallel demi mendapatkan suatu informasi atau menyelesaikan suatu pekerjaan, hal ini bisa disebut sebagai sistem terdistribusi. Maka dari itu diperlukan suatu software guna mendukung dalam kegiatan parallel computing ini, perlu adanya middleware yang dimaksudkan sebagai pengatur distribusi pekerjaan antar node dalam satu paralel.

Namun, untuk merealisasikan parallel computing ini harus dibuatkannya pemrograman paralel terlebih dahulu, karena hal tersebut tidak bisa dilakukan secara otomatis. Adapun tujuan utama dari komputasi paralel itu sendiri yaitu untuk meningkatkan suatu performa komputasi yang dilakukan oleh banyak komputer.

Semakin banyak jumlah komputer yang dipakai dalam parallel computing, maka akan semakin cepat suatu pekerjaan dapat diselesaikan. Hal itu terjadi karena secara penjabaran bila suatu pekerjaan diselesaikan oleh banyak orang, maka akan semakin cepat pula pekerjaan tersebut selesai, begitupun sebaliknya.

Yang perlu diketahui adalah bahwa Parallel computing jelas berbeda dengan multitasking, hal ini karena arti dari multitasking sendiri adalah beberapan pekerjaan dapat dilakukan dalam satu waktu, tetapi arti dari parallel computing adalah suatu pekerjaan dapat dikerjakan oleh beberapa komputer yang saling terhubung dengan jaringan. Ada 2 teknik beberbeda yang digunakan untuk mengakses data, yaitu shared memory address dan message passing. Berdasarkan dari cara mengorganisasikan memori tersebut, computer parallel dibedakan menjadi shared memory parallel machine dan distributed memory parallel machine.

Adapun bahasa populer yang dipakai dalam pemrograman parallel, yaitu:

MPI (Message Passing Interface)

MPI merupakan pemrograman berbasis interface yang memungkinkan seorang terjadinya komunikasi antar komputer pada network dalam menyelesaikan suatu tugas.

OpenMP (Open Multi-Processing)

OpenMP adalah sebuah pemrograman berbasis interface yang mendukung multi processing shared memory di suatu pemrograman, pada dasarnya OpenMP tidak jauh berbeda dengan MPI, namun OpenMP lebih mudah digunakan.

Dalam pemodelan komputasi, terdapat 4 macam jenisnya; yaitu SISD (Single Instruction, Single Data), SIMD (Single Instruction, Multiple Data), MISD (Multiple Instruction, Single Data), dan MIMD (Multiple Instruction, Multiple Data). Adapun penjabaran secara jelasnya sebagai berikut:

SISD :  SISD menggunakan 1 prosesor sebagai model untuk komputasi tunggal. SISD juga satu-satunya yang menggunakan arsitektur model Von Neumann.

SIMD : SIMD menggunakan banyak prosesor dengan instruksi yang sama, namun setiap prosesor mengolah data yang berbeda-beda.

MISD : MISD menggunakan banyak prosesor dengan setiap prosesor menggunakan instruksi yang berbeda pula, namun mengolah data yang sama.

MIMD : MIMD menggunakan banyak prosesor dengan setiap prosesor memiliki instruksi yang berbeda, dan juga mengolah data yang berbeda pula.

Compute Unified Device Architecture (CUDA)

CUDA merupakan platform parallel computing dan model pemrograman yang telah dibuat oleh NVIDIA dan diimplementasikan oleh Graphic Processing Unit (GPU). CUDA memberikan akses pengembangan untuk kumpulan visual instruction dan ingatan dari parallel computasional elemen CUDA GPU.

CUDA adalah komputasi paralel Platform dan model aplikasi pemrograman interface (API) yang dibuat oleh Nvidia. Hal ini memungkinkan pengembang perangkat lunak dan insinyur perangkat lunak untuk menggunakan graphics processing unit CUDA-enabled (GPU) untuk tujuan umum pemrosesan dengan pendekatan yang disebut GPGPU (General-Purpose Graphics Processing Unit). Platform CUDA adalah lapisan perangkat lunak yang memberikan akses langsung ke set instruksi virtual GPU dan elemen komputasi paralel, untuk pelaksanaan penghitungan kernel.

CUDA, Compute Unified Device Architecture merupakan suatu framework dari bahasa pemrograman yang mendukung bahas C language, dimana mampu berkomunikasi langsung dengan GPU dan sangat mudah bekerjasama untuk segala multi-threading  parallel execution hampir diseluruh prosesor pada GPU. CUDA menggukan konsep nvcc sebagai ORM dalam object programmingnya.

Platform CUDA dapat diakses oleh pengembang perangkat lunak melalui library CUDA-accelerated , perintah kompiler (seperti OpenACC ), dan ekstensi untuk bahasa pemrograman standar industri, termasuk C, C++ dan Fortran . C / C++ programmer menggunakan CUDA C / C + +, yang disusun dengan "nvcc", NVIDIA LLVM berbasis C / C++ compiler, dan Fortran programmer dapat menggunakan 'CUDA Fortran', yang disusun dengan PGI CUDA Fortran compiler dari The Portland Grup. Selain library, arahan compiler, CUDA C / C++ dan CUDA Fortran, platform CUDA mendukung interface komputasi lainnya, termasuk Khronos Grup 's OpenCL , Microsoft DirectCompute , dan C++ AMP . Pemrograman pihak ketiga juga tersedia untuk Python , Perl , Fortran , Java , Ruby , Lua , Haskell, Matlab , IDL , dan dukungan asli di Mathematica.

Dalam permainan komputer industri, GPU yang digunakan tidak hanya untuk rendering grafis tetapi juga dalam perhitungan fisika permainan (efek fisik seperti puing-puing, asap, api, cairan), contoh termasuk PhysX dan Bullet . CUDA juga telah digunakan untuk mempercepat aplikasi non-grafis dalam biologi komputasi , kriptografi dan bidang lainnya oleh urutan besarnya atau lebih.



Sumber :

Comments

Popular posts from this blog

Profile Perusahaan BHINNEKA.COM

Tugas Softskill 1 PT Bhinneka Mentari Dimensi (Bhinneka.com) Bhinneka.com lahir dari situasi genting di saat krisis ekonomi yang melanda Indonesia tahun 1997-1998 yang kemudian berkembang menjadi krisis sosial politik.  PT Bhinneka Mentari Dimensi lahir tahun 1993 dan memilih bidang teknologi informasi sebagai inti bisnisnya. Fokus pertama dimulai dari distribusi produk IT seperti PC Build Up dan PC Compatible, Peripherals, rancang bangun perangkat lunak jasa jaringan (Lan/Wan), solusi video editing hingga pusat servis. Saat krisis, nyaris lumpuh juga bisnis PT Bhinneka Mentari Dimensi, berbagai ektensifikasi bisnis yang dipikir mampu mendongkrak bisnis dilakukan untuk survive, di saat itulah Nicholas Tio & Hendrik Tio melihat peluang yang barangkali dapat dilakukan, yaitu perkembangan internet yang luar biasa di USA. Maka situs Bhinneka.com yang masih berupa profil perusahaan, disetujui untuk dijadikan model online store. Maka pada 1 Juni 1999, dengan 24 pers...

Arti dari Sebuah Keindahan

Keindahan Apa sih keindahan itu? Dalam Kamus Besar Bahasa Indonesia, keindahan diartikan sebagai keadaan yang enak dipandang, cantik, bagus benar atau elok. Keindahan dipelajari sebagai bagian dari estetika, sosiologi, psikologi sosial, dan budaya. Sebuah "kecantikan yang ideal" adalah sebuah entitas yang dikagumi, atau memiliki fitur yang dikaitkan dengan keindahan dalam suatu budaya tertentu, untuk kesempurnaannya. Keindahan adalah sifat-sifat yang merujuk kepada sesuatu yang indah di mana manusia mengekspresikan perasaan indah tersebut melalui berbagai hal yang mengandung unsur estetis yang dinilai secara umum oleh masyarakat. Menurut The Liang Gie dalam bukunya “ Garis Besar Estetik” (Filsafat Keindahan), dalam bahasa Inggris Keindahan diterjemahkan dengan kata “Beautiful”, bahasa Perancis “Beau” , Italia dan Spanyol “Bello” , kata-kata itu ber asal dar i bahasa Latin “Bellum” , akar katanya adalah “Bonum” yang berarti Kebaikan kemudian mempunyai bentuk pengecila...

Tutorial Membuat Puzzle Game dengan Unity 5.2

Tutorial Membuat Puzzle Game dengan Unity 5.2 Tugas Kelompok 6 :  Achmad Rofiq El Fakih Lutfianto Triatmojo Bagas Andhika Sakti Bemby Aditya Gabriel Baruch K.     Buat Project dengan nama “Puzzle Game1” untuk pacakages 2D seperti dibawah, lalu create project. Akan muncul tampilan dibawah seperti ini.     Buat folder di bagian bawah dengan cara Create > Folder, lalu namai Folder tersebut dengan Scenes. Berikutnya buat panel dengan cara klik GameObject > UI > Panel. Jika sudah maka akan seperti tampilan dibawah ini, berikutnya ubah render mode menjadi Screen Space – Camera. Lalu drag Main Camera ke Render Camera. Berikutnya ubah UI Scale Mode menjadi Scale with Screen size, setelah itu ubah reference solution menjadi    X 1280 dan Y 720 dan ubah match menjadi 0,5. Jika sudah kita akan membuat button untuk puzzlenya. Dengan cara GameObject ...