Nama :
Aji Prayitno
NPM :
50414677
Kelas : 4IA21
Mata
Kuliah : Pengantar Komputasi Modern
A.KOMPUTASI
PARALEL
Komputasi paralel adalah pengunaan
sumber daya secara bersaman dalam proses komputasi. Komputasi paralel bisa menggunakan
sebuah komputer dengan memanfaatkan beberapa procesor atau bisa juga dengan memanfaatkan
beberapa komputer yang terhubung melalui jaringan (computer cluster) atau juga
bisa menggunakan kombinasi dari keduanya
Komputasi Serial
Terlihat
komputasi serial untuk mengatasi suaty problema atau masalah akan dibagi
menjadi beberapa instruksi kemudian dijalankan secara satu persatu oleh CPU,
instruksi selanjutnya akan dijalankan ketika instruksi sebelumnya sudah selesai
jadi tidak bisa dijalankan secara bersaman. Ketika komputasi yang diperlukan
besar maka otomatis akan memerlukan sumber daya yang besar juga.
Komputasi Paralel
Bagaimana
komputasi paralel bekerja ketika ada suatu problem atau masalah akan membagi
menjadi beberapa bagian problem yang masing-masing bagian memilki instruksi-
instruksi yang bisa dijalankan bersamaan dengan instruksi-instruksi lain dengan
memanfaatkan jumlah core pada CPU.
B.
Graphics Procesing Unit (GPU)
GPU (Graphics Procesing Unit) adalah
salah satu teknologi pemrosesan data yang ada pada graphics card atau kartu
grafis. GPU biasanya dipakai untuk keperluan multimedia seperti proses
rendering. GPU memiliki banyak core untuk melakukan pemrosesan yang mendukung banyak
pemrosesan dalam satu waktu. Karena awalnya GPU hanya ditujukan untuk keperluan
multimedia jadi ketika tidak ada task atau tugas yang berhubungan dengan
multimedia otomatis GPU tidak digunakan.
GPU memiliki dua fitur yaitu GPU
menggunakan banyak core dalam pemrosesan paralel untuk meningkatkan kinerja atau
perfoma dan GPU memiliki memori bandwidth yang luas atau lebar untuk memberikan
GPU kualitas transmisi data yang lebih baik.
C.
CUDA
CUDA (Compute Unified Device
Architecture) merupakan toolkit NVIDA yang memungkinkan seorang programmer mengakses
kartu grafis untuk tujuan komputasi umum. CUDA hanya jalan pada device kartu
grafis yang dibuat oleh NVIDA. Untuk mengakses kartu grafis atsu GPU diperlukan
pemrograman tersendiri yang mirip dengan bahasa C, karena bahasa C dikhususkan
untuk pemrograman yang bisa mengakses hardware. Ekstensi progam dari CUDA adalah
.cu
Keahlian
daalm bahasa C setidaknya sangat diperlukan supaya memudahkan adaptasi dengan
programing CUDA. Karena C dan CUDA merupakan bahasa compiler maka ketika menjalankan
program seluruh code dalam akan dieksekusi secara keseluruhan dan cukup sedikt
menyulitkan ketika melakukan debug erorr.
CUDA
mendukung kerangka kerja pemrograman seperti OpenACC dan OpenCL. Ketika pertama
kali diperkenalkan oleh Nvidia, nama CUDA adalah akronim untuk Compute Unified
Device Architecture, tetapi Nvidia kemudian menjatuhkan penggunaan
akronim.
- Kemampuan
Program
Platform CUDA dapat diakses oleh pengembang perangkat
lunak melalui perpustakaan yang dipercepat CUDA, arahan kompilator seperti
OpenACC, dan ekstensi untuk bahasa pemrograman standar industri termasuk C, C
++ dan Fortran.Programmer C / C ++ menggunakan 'CUDA C / C ++', dikompilasi
dengan nvcc, kompiler C / C ++ berbasis LLVM dari Nvidia. Programmer
Fortran dapat menggunakan 'CUDA Fortran', yang dikompilasi dengan compiler PGI
CUDA Fortran dari The Portland Group.Selain pustaka, arahan kompilator, CUDA C
/ C ++ dan CUDA Fortran, platform CUDA mendukung antarmuka komputasi lainnya,
termasuk OpenCL Khronos Group, Microsoft DirectCompute, OpenGL Compute Shaders,
dan C ++ AMP. Pembungkus pihak ketiga juga tersedia untuk Python, Perl,
Fortran, Java, Ruby, Lua, Common Lisp, Haskell, R, MATLAB, IDL, dan dukungan
asli di Mathematica.
Dalam industri permainan komputer, GPU digunakan untuk perenderan grafis, dan untuk perhitungan fisika permainan (efek fisik seperti 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 dengan urutan besarnya atau lebih.
CUDA menyediakan API tingkat rendah dan API tingkat yang
lebih tinggi. CUDA SDK awal dibuat publik pada 15 Februari 2007, untuk
Microsoft Windows dan Linux. Dukungan Mac OS X kemudian ditambahkan dalam
versi 2.0,yang menggantikan versi beta yang dirilis 14 Februari 2008. CUDA
bekerja dengan semua GPU Nvidia dari seri G8x dan seterusnya, termasuk GeForce,
Quadro dan garis Tesla. CUDA kompatibel dengan sebagian besar sistem
operasi standar. Nvidia menyatakan bahwa program yang dikembangkan untuk
seri G8x juga akan bekerja tanpa modifikasi pada semua kartu video Nvidia masa
depan, karena kompatibilitas biner.
CUDA 8.0 dilengkapi dengan pustaka berikut (untuk kompilasi & waktu proses, dalam urutan abjad):
- CUBLAS - CUDA Basic Linear Aljabar subrutin
perpustakaan
- CUDART - CUDA RunTime library
- CUFFT - CUDA Transformasi Fourier Cepat
- CURAND - CUDA Random Number Generation library
- CUSOLVER - Koleksi berbasis CUDA dari pemecah
langsung padat dan jarang
- CUSPARSE - CUDA Sparse Matrix library
- NPP - pustaka Kinerja NVIDIA Primitif
- NVGRAPH - pustaka Analisis Grafik NVIDIA
- NVML - Pustaka Manajemen NVIDIA
- NVRTC - NVIDIA RunTime Compilation library untuk CUDA C ++
CUDA 8.0 dilengkapi dengan komponen perangkat lunak lain
ini:
- nView - NVIDIA nView Desktop Management
Software
- NVWMI - Toolkit Manajemen Perusahaan
NVIDIA(chm)
- PhysX - GameWorks PhysX adalah mesin permainan
fisika multi-platform,
Daftar pustaka:
http://kumikochiba.blogspot.com/2018/06/tugas-3-pengantar-komputasi-modern.html?q=paralel&view=sidebar
http://citee.ft.ugm.ac.id/download51.php?f=64-%20Muhammad%20Koprawi%20-%20Analisis%20Performa%20Komputasi%20Paralel.pdf