CUDA(Compute Unified Device Architecture) adalah suatu skema
yang dibuat oleh NVIDIA agar NVIDIA selaku GPU (Graphic Processing Unit) mampu
melakukan komputasi tidak hanya untuk pengolahan grafis namun juga untuk tujuan
umum. Jadi dengan adanya CUDA kita dapat memanfaatkan banyak prosesor dari
NVIDIA untuk melakukan proses perhitungan ataunpun komputasi yang banyak.
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.
GPU dalah sebuah processor khusus untuk memepercepat dan
mengubah memori untuk mempercepat pemrosesan gambar. GPU ini sendiri biasanya
berada di dalam graphic card komputer ataupun laptop
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.
CUDA memiliki beberapa keunggulan dibandingkan tradisional
perhitungan tujuan umum pada GPU (GPGPU) menggunakan API grafis:
1. Tersebar membaca
- kode dapat membaca dari alamat sewenang-wenang dalam memori.
2. Memori bersama -
CUDA memperlihatkan cepat memori bersama wilayah (sampai 48KB per
Multi-Processor) yang dapat dibagi di antara benang. Ini dapat digunakan
sebagai cache dikelola pengguna, memungkinkan bandwidth yang lebih tinggi daripada
yang mungkin menggunakan pencarian tekstur.
3. Download lebih
cepat dan readbacks ke dan dari GPU.
4. Dukungan penuh
untuk integer dan bitwise operasi, termasuk pencarian tekstur bulat.
Komentar
Posting Komentar