Diberdayakan oleh Blogger.



INTERAKSI MANUSIA & KOMPUTER
NVIDIA CUDA




Muhammad Darmawan
24112910
2KB01



SISTEM KOMPUTER
FAKULTAS ILMU KOMPUTER & TEKNOLOGI INFORMASI
UNIVERSITAS GUNADARMA
2014

Kata pengantar
Puji syukur saya panjatkan kehadirat Allah swt, Karena atas izin dan kehendak-NYA makalah NVIDIA CUDA ini dapat saya selesaikan tepat pada waktunya.
Dalam penyusunan makalah ini, penulis banyak mendapat tantangan dan hambatan akan tetapi dengan bantuan dari berbagai pihak tantangan itu bisa teratasi. Oleh karena itu, penulis mengucapkan terima kasih yang sebesar - besarnya kepada semua pihak yang telah membantu dalam penyusunan makalah ini. Terutama kepada dosen pembimbing saya Bapak Mohammad Iqbal, Skom, MMSI.
Penulis menyadari bahwa makalah ini masih jauh dari kesempurnaan baik dari bentuk penyusunan maupun materinya. Kritikan yang bersifat membangun dari pembaca sangat penulis harapkan untuk penyempurnaan makalah selanjutnya.
Akhir kata semoga makalah ini dapat memberikan manfaat kepada kita semua. Sekian dan terimakasih.

Jakarta, April 2014


                                 
Penulis







DAFTAR ISI


KATA PENGANTAR ............................................................................................. i
DAFTAR ISI ........................................................................................................... ii
BAB I : PENDAHULUAN ...................................................................................... 1
1.1 Latar Belakang Masalah .............................................................................. 1
1.2 Rumusan Masalah ........................................................................................ 1
1.3 Tujuan ......................................................................................................... 1
1.4 Kegunaan ..................................................................................................... 2
1.5 Metode Penulisan .......................................................................................   2
BAB II : PEMBAHASAN ........................................................................................   3
2.1 Apa itu NVIDIA CUDA...............................................................................   3
2.2 Sejarah NVIDIA CUDA............................................................................ .... 6
2.3 Cara Kerja NVIDIA CUDA....................................................................... 7
2.4 Keunggulan NVIDIA CUDA..................................................................... 8
2.5 Seri GPU NVIDIA yang Menggunakan Teknologi CUDA.........................            9
BAB III : PENUTUP .............................................................................................   10
3.1 Kesimpulan ................................................................................................   10
3.2 Saran ..........................................................................................................   10
DAFTAR PUSTAKA ...........................................................................................    iii

PENDAHULUAN

1.1  Latar Belakang Masalah
Belakangan istilah CUDA populer untuk menjalankan proses pengolahan gambar, video, rendering 3D, dan lain sebagainya. Sebenarnya apa sih CUDA itu? CUDA adalah sebuah teknologi yang dikembangkan oleh NVIDIA untuk mempermudah utilitasi GPU untuk keperluan umum (non-grafis). Arsitektur CUDA ini memungkinkan pengembang perangkat lunak untuk membuat program yang berjalan pada GPU buatan NVIDIA dengan syntax yang mirip dengan syntax C yang sudah banyak dikenal. Akibatnya, sekarang para developer dapat memanfaatkan kemampuan prosesing GPU untuk mengakselerasi komputasi program mereka dengan jauhh lebih mudah.
1.2  Rumusan Masalah
Rumusan masalah dari makalah CUDA adalah :
1.      Apa itu NVIDIA CUDA?
2.      Bagaimana Sejarah dan Bagaimana Cara Kerja NVIDIA CUDA?
3.      Apa saja keunggulan NVIDIA CUDA?

1.3  Tujuan
Tujuan penulisan makalah NVIDIA CUDA adalah :
1.      Kita mengetahui apa itu NVIDIA CUDA.
2.      Kita dapat mengetahui sejarah dari NVIDIA CUDA.
3.      Kita dapat mengetahui cara kerja NVIDIA CUDA.
4.      Kita dapat mengetahui keunggulan NVIDIA CUDA.





1.4  Kegunaan
Makalah ini dibuat untuk menjadi tambahan media pembelajaran serta pengetahuan bagi masyarakat umumnya, khususnya untuk mahasiswa yang berada pada jurusan yang berhubungan dengan komputer dan mahasiswa yang suka bermain game dengan kualitas yang memuaskan. Makalah ini berisi tentang NVIDIA CUDA mulai dari pengertian NVIDIA CUDA sampai dengan keunggulan-keunggulan NVIDIA CUDA.
1.5  Metode Penulisan
Dalam penulisan makalah tentang NVIDIA CUDA menggunakan metode kepustakaan dengan literatur-literatur yang kami dapat dengan tambahan bahan-bahan dari internet jadi apabila terdapat kesamaan dengan source yang tertulis pada daftar pustaka mohon dimaklumi.














BAB II PEMBAHASAN
2.1 Apa itu NVIDIA CUDA?

 NVIDIA
NVIDIA Corporation (NASDAQ: NVDA) adalah sebuah perusahaan produsen prosesor grafis (graphics processing unit), kartu grafis, dan media dan alat-alat komunikasi untuk komputer pribadi, dan konsol permainan Sony Playstation 3. Produk paling terkenal dari NVIDIA adalah seri GeForce yang digunakan untuk bermain permainan komputer.
Markas utama NVIDIA berada di Jalan Bebas Hambatan San Tomas, Santa Clara, California. Seri terbaru NVIDIA adalah GeForce GTX 280 yang telah menggunakan directX versi 10. Perusahaan saingan terberat NVIDIA adalah ATI yang mengeluarkan seri Radeon. Pada 2001, perusahaan ini meraih pemasukan AS$1,37 milyar dan pendapatan bersih AS$177,1 juta.

Sejarah dan Perkembangan Nvidia sebagai Produsen VGA CARD

Berdirinya nvidia pada tahun 1993 yang di gagas oleh beberapa pendirinya , antara lain adalah jen hsung huang ( CEO nvidia yang sekarang ) , Curtis Priem dan Chris malachowsky,
ide nama nvidia sebagai nama perusahaan digagas dari kombinasi antara huruf inisial n sebagai variabel dalam matematika – dan kata video berasal dari bahasa latin yang artinya melihat hingga akhirnya nama tersebut memiliki makna “pengalaman visual terbaik” Namun dalam publikasi dan dokumentasi perusahaan , nama nvidia lebih sering ditulis dalam huruf kapital NVIDIA
Berikut sejarah produksi grafis nvidia dari tahun ke tahun :
1. NVIDIA NV1
Dirilis pada pada zaman PC 486 atau sekitar tahun 1995, dan bukan merupakan kartu grafis murni, karena NV1 mempunyai integrated soundcard, jadi lebih bisa disebut sebagai kartu multimedia dari pada kartu grafis murni. Walaupun sudah bisa memainkan game 3d namun pilihan game yang saat itu sangat sangat terbatas sehingga menjadikan kartu ini sedikit mubazir.



2. NVIDIA RIVA
lebih dikenal sebagai Riva 128 dirilis pada akhir 1997 , mempunyai 3,5 juta transistor dan berbeda dengan NV1 yang tidak mendukung direct 3D Riva 128 mendukung penuh direct3D 5 dan OpenGL API, selain itu kemampuan untuk menampilkan kualitas 2D sangat baik untuk saat itu.

3.NVIDIA RIVA TNT 1 & 2
RIVA merupakan kepanjangan dari Realtime interactive Video and Animation Accelarator dan TNT adalah singkatan dari Twin Texel, TNT pertama kali dirilis pada tahun pada akhir tahun 1998. TNT2 pada awal 1999, keduanya sebenrnya sangat mirip baik dari kecepatan dan fitur yang di tawarkan, namun TNT mempunyai sedikit perbedaan yaitu telah mendukung AGP4x, mendukung memory hingga 32MB, dan proses produksinya sudah 25PM. Persaingan kartu grafis ini adalah dengan 3DFX VooDoo 2 dan 3 , matroxG400 dan Ati rage 128 . TNT RIVA merupakan kartu grafis pertama yang 100% diciptakan oleh nvidia corporation

4.NVIDIA GEFORCE 256
Bagi nvidia kartu ini merupakan pembuka dari semua seri Geforce yang akan muncul selanjutnya, memiliki TMU ( Texture Map Unit ) untuk tiap 4 Pixel pipelines-nya menjadikan arsitektur kartu grafis ini 100% perbeda dengan seri RIVA TNT, CORE gpu kartu Grafis ini membawa kecepatan 120 MHZ dan pada seri2 selanjutnya geforce 256 yang membawa memory DDR.

5. NVIDIA GEFORCE 2 SERIES
Geforces 2 dirilis dengan dua varian yang berbeda, GTS dan dan MX. GTS merupakan kasta tertinggi untuk gerforce 2 dan MX merupakan versi value nya. Seiring berjalannya waktu MX justru mendominasi penjualan untuk kartu GE force2 mengingat banyak nya OEM yang menggunakan jartu grafis ini sebagai sebagai bundle untuk PC buatan mereka, tidak ada banyak perbedaan selain pengurangan kecepatan core dan memory, keduanya indentik sama. dan dengan sedikit perbedaan dan sedikit melakukan Overcloking pada GF2MX bisa menyamani GEforce GTS.

6. NVIDIA GEFORCE 3 SERIES
Geforce 3 merupakan salah satu kartu grais nvidia dengan masa hidup yang pendek, keluar pertama kali hanya versi standar saja, kemudian disusul dengan kemunculan dua carian Ti Ti200 dan Ti 500. Kartu ini menghadapi kendala yang sangat pelik ketika karena ketiganya bukanlah kelas value melainkan kelas enthusiast semua, dengan tidak menghadirkan kelas value, maka card ini pun sangat kalah bersaing dengan radeon versi 8500.







7. NVIDIA GEFORCE 4 SERIES
NVIDIA geforce 4 ini juga merupakan salah satu seri tersukses dari semua Geforce yang ada. Membawa dua varian untuk dua pangsa pasar yang berbeda menjadikan card ini mempunyai pilihan bagi jenis konsumen, kalangan enthusiast mendapatkan versi Ti dan kalangan yang mementingkan budget mendapatkan versi MX, seperti layaknya kartu sukses, Geforce 4 mempunyai jenis kartu yang cukup laris manis di pasaran, MX440 dan Ti 4200.


8. NVIDIA GEFORCE FX series
Karena ingin terburu2 ingin menyaingi aTi radeon 9700 series, Nvidia kemudian menelurkan kartu grafis yang munkin umurnya paling pendek dalam sejarah nvidia, kini varian High-end dan konsumen tidak lagi berbagi atas versi Ti dan MX namun angka kedua dari 4digit yang ada menandakan pangsa pasarnya. Kegagalan seri ini adalah letak bus widht interface ( BIT ) yang masih menggunakan 128 – bit sedangkan ATI sudah beralih ke 256 BIT yang memungkinkan mengolah grafis dalam resolusi besar. hal ini lah yang membuat kartu ini gagal total bersaing dengan ati 9700, apalagi kalau di test pixel shadernya , akan sangat terlihat bahwa katru grafis ini memang bukan tandingan langsung radeon 9700 dari segi apapun juga.

9. GEFORCE 6
SERIES Terlahir dengan GPU code name NV40 , seakan ingin menjawab semua tantangan ATI kartu grafis ini memberikan semua yang bisa tidak bisa diberikan oleh seri FX. Pembenahan arsitektur mandasar, implementasi Vertex Shader 3.0 dan Pixel Shader 3.0 yang hanya bisa berjalan di directx 9.0c sudah terdapat dikartu grafis ati. akhirnya kalang kabut juga karena kartu ini benar – benar melebihi ekspektasi pihak nvidia dengan menghadirkan sejumlah power baru untuk menyaingi x800 milik ati, inilah pukulan balik nvidia terhadap ati.
 
10. GEFORCE 7 SERIES
nvidia semakin di atas angin dengan menghadirkan Geforce seri 7, karena saat itu Ati belum bisa mengejar kinerja Nvidia saat mereka terkena pukulan telak oleh nvidia dengan seri 6. Sebagai flagship pertama nya 7800 kemudian ati merilis seri X1800XT dan lahir 7900 dari nvidia, dan disaingi oleh X1950XTX, dan senjata pamungkas ketika itu, nvidia merilis 7950×2 yang membungkam semua kartu grafis yang dimiliki Ati… dan seri 7 ini merupakan salah satu seri tersukses dari nvidia karena tersedia dari kelas high end hingga value dan semua nya bekerja optimal.

11. GEFORCE 8 SERIES
Geforce 8 series merupakan seri paling fenomenal ketika itu, karena Nvidia membuat seri atas seperti 8800GTX dan 8800Ultra dengan harga yang selangit, hampir menyamai suzuki shogun saya ketika itu seri ini pun sangat berjaya karena ati dengan mengeluarkan seri 2xxx kurang sukses karena selalu bermasalah denga kompatibiltas driver. Nvidia 8000 series menjadi seri paling pamungkas dengan menghadirkan 8800GTX, 8800GTS, dan 8800Ultra, kartu grafis seri ini pun pertama kali nya seri nvidia menggunakan aplikasi DX10 untuk windows vista.

 CUDA
CUDA (Compute Arsitektur Unified Device) adalah komputasi paralel Platform dan model pemrograman yang diciptakan oleh NVIDIA dan dilaksanakan oleh unit pengolahan grafis (GPU) yang mereka hasilkan. CUDA memberikan pengembang program akses langsung ke virtual set instruksi dan memori elemen komputasi paralel dalam CUDA GPU. Menggunakan CUDA, GPU dapat digunakan untuk pengolahan tujuan umum (yaitu, tidak eksklusif grafis); Pendekatan ini dikenal sebagai GPGPU . Tidak seperti CPU, bagaimanapun, GPU memiliki arsitektur throughput yang paralel yang menekankan mengeksekusi banyak benang bersamaan perlahan, daripada mengeksekusi thread tunggal sangat cepat. Platform CUDA dapat diakses oleh pengembang perangkat lunak melalui perpustakaan CUDA-accelerated, arahan compiler (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, [2] dan Fortran pemrogram dapat menggunakan 'CUDA Fortran', dikompilasi dengan compiler PGI CUDA Fortran dari The Portland kelompok. Selain perpustakaan, arahan compiler, CUDA C / C + + dan CUDA Fortran, platform CUDA mendukung antarmuka komputasi lainnya, termasuk Khronos Grup 's OpenCL , Microsoft DirectCompute , dan C + + AMP . [4] pembungkus 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 render 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 menyediakan baik tingkat rendah API dan tingkat yang lebih tinggi API. Awal CUDA SDK dibuat publik pada tanggal 15 Februari 2007, untuk Microsoft Windows dan Linux . Mac OS X dukungan kemudian ditambahkan di versi 2.0, yang menggantikan beta dirilis 14 Februari 2008. CUDA bekerja dengan semua Nvidia GPU dari seri G8x seterusnya, termasuk GeForce , Quadro dan Tesla line. CUDA kompatibel dengan sebagian besar sistem operasi standar. Nvidia menyatakan bahwa program yang dikembangkan untuk seri G8x juga akan bekerja tanpa modifikasi pada semua video card Nvidia masa depan, karena kompatibilitas biner.





2.2 Sejarah NVIDIA CUDA
NVIDIA CUDA Peluncuran 5
NVIDIA hari ini membuat NVIDIA CUDA tersedia 5 rilis produksi, versi baru yang kuat dari platform komputasi paralel paling luas di dunia dan model pemrograman untuk mempercepat aplikasi ilmiah dan rekayasa pada GPU. Hal ini dapat didownload secara gratis dari situs Zone NVIDIA Developer. Dengan lebih dari 1,5 juta download, mendukung lebih dari 180 rekayasa terkemuka, aplikasi ilmiah dan komersial, model pemrograman CUDA adalah cara yang paling populer bagi para pengembang untuk mengambil keuntungan dari komputasi GPU-accelerated.


Bangunan pada keberhasilan ini, fitur pemrograman baru dari 5 Platform CUDA membuat pengembangan aplikasi GPU-accelerated lebih cepat dan lebih mudah dari sebelumnya, termasuk dukungan untuk paralelisme dinamis, perpustakaan GPU-callable, NVIDIA GPUDirect dukungan teknologi untuk RDMA (akses memori langsung jarak jauh ) dan NVIDIA Nsight Eclipse Edition lingkungan pengembangan terpadu (IDE)

Penghargaan pengembang untuk CUDA 5
Pengembang yang dievaluasi versi pre-release dari CUDA 5 telah melaporkan sering dramatis percepatan aplikasi dan meningkatkan programabilitas. Industri pertahanan dan kedirgantaraan menyadari manfaat dari akselerasi GPU CUDA untuk pengolahan gambar, data video dan sensor, seperti radar. Menurut Dustin Franklin, aplikasi GPGPU insinyur di GE Cerdas Platform di Charlottesville, Va, “CUDA 5 adalah teknologi penting bagi kami. Banyak aplikasi yang kami gunakan melibatkan data streaming sensor langsung ke GPU dengan latency rendah, sehingga GPUDirect dukungan untuk RDMA pada baru Kepler GPU adalah sangat penting bagi pelanggan kami. kami memiliki dukungan terintegrasi untuk banyak sensor kustom sudah dan sangat senang dengan hasilnya. “

Guillaume Belz, seorang ahli biokimia penelitian di Lyon University Hospital di Lyon, Prancis, telah menggunakan paralelisme dinamis dan perpustakaan GPU-callable untuk analisis sinyal kompleks dan data mining. “Dengan akselerasi GPU, kita bisa mendapatkan hasil dalam beberapa jam untuk proyek-proyek yang digunakan untuk meminta minggu atau bahkan berbulan-bulan dengan CPU saja. Tanpa akselerasi GPU, analisis tidak mungkin sama sekali,” kata Belz.

Weihua (Wayne) Sun, Ph.D. kandidat dalam ilmu pencitraan di Rochester Institute of Technology di New York, terkesan dengan NVIDIA Nsight Eclipse Edition. “Ketika saya belajar bahwa CUDA 5 termasuk baru Nsight Eclipse IDE Edition, aku tahu aku membutuhkannya segera. Memiliki semua program saya, debugging dan optimasi alat dalam satu lingkungan pengembangan terpadu adalah meningkatkan produktivitas yang besar bagi saya.”



Fitur terbaru CUDA 5
CUDA 5 memungkinkan pengembang untuk mengambil keuntungan penuh dari kinerja GPU NVIDIA, termasuk akselerator GPU didasarkan pada NVIDIA Kepler menghitung arsitektur – tercepat, paling efisien, arsitektur komputasi kinerja tertinggi yang pernah dibangun. Fitur utama meliputi:
.   Dinamis Paralelisme – Membawa akselerasi GPU untuk algoritma baru. Benang GPU secara dinamis dapat menelurkan thread baru, yang memungkinkan GPU untuk beradaptasi dengan data. Dengan meminimalkan bolak-balik dengan CPU, paralelisme dinamis sangat menyederhanakan pemrograman paralel. Dan itu memungkinkan akselerasi GPU dari satu set yang lebih luas dari algoritma populer, seperti yang digunakan dalam perbaikan mesh adaptif dan dinamika fluida komputasi aplikasi.
. Perpustakaan GPU-Callable – Memungkinkan ekosistem pihak ketiga. Sebuah baru CUDA BLAS library memungkinkan pengembang untuk menggunakan paralelisme dinamis untuk sendiri perpustakaan GPU-callable mereka. Mereka dapat merancang plug-in API yang memungkinkan pengembang lain untuk memperluas fungsionalitas dari kernel mereka, dan memungkinkan mereka untuk mengimplementasikan callback pada GPU untuk menyesuaikan fungsi pihak ketiga perpustakaan GPU-callable. The “objek yang menghubungkan” kemampuan menyediakan proses yang efisien dan akrab untuk mengembangkan aplikasi GPU besar dengan memungkinkan pengembang untuk mengkompilasi beberapa file sumber CUDA ke file objek yang terpisah, dan menghubungkan mereka ke dalam aplikasi yang lebih besar dan perpustakaan.
• GPUDirect Dukungan untuk RDMA – sistem kemacetan memori Meminimalkan. GPUDirect teknologi memungkinkan komunikasi langsung antara GPU dan perangkat PCI-E lainnya, dan mendukung akses memori langsung antara kartu antarmuka jaringan dan GPU. Hal ini juga secara signifikan mengurangi latency MPISendRecv antara node GPU dalam sebuah cluster dan meningkatkan kinerja aplikasi secara keseluruhan.



NVIDIA Nsight Eclipse Edition – Hasilkan kode CUDA dengan cepat dan mudah.
NVIDIA Nsight Eclipse Edition memungkinkan programmer untuk mengembangkan, debug dan aplikasi GPU profil dalam IDE berbasis Eclipse akrab di Linux dan Mac OS X platform. Sebuah CUDA terintegrasi Editor dan sampel CUDA mempercepat generasi CUDA kode, dan refactoring kode otomatis memudahkan porting CPU loop untuk CUDA kernel. Sebuah sistem analisis pakar terintegrasi menyediakan analisis kinerja otomatis dan panduan langkah-demi-langkah untuk memperbaiki hambatan kinerja dalam kode, sedangkan sintaks memudahkan untuk membedakan kode GPU dari kode CPU.



2.3 Cara Kerja NVIDIA CUDA
CUDA adalah sebuah teknologi yang dikembangkan oleh NVIDIA untuk mempermudah utilitasi GPU untuk keperluan umum (non-grafis). Arsitektur CUDA ini memungkinkan pengembang perangkat lunak untuk membuat program yang berjalan pada GPU buatan NVIDIA dengan syntax yang mirip dengan syntax C yang sudah banyak dikenal. Akibatnya, sekarang para developer dapat memanfaatkan kemampuan prosesing GPU untuk mengakselerasi komputasi program mereka dengan jaaauuuuh lebih mudah.
Lalu apa manfaatnya susah-susah menggunakan GPU untuk menjalankan program? Begini, berbeda dengan CPU yang harus siap untuk menjalankan berbagai instruksi program, GPU didesain khusus untuk menghitung dan menyajikan pixel-pixel gambar yang akan ditampilkan. Karena satu pixel tidak berhubungan dengan pixel yang lain, GPU dirancang untuk melakukan banyak operasi secara paralel. Nah, kemampuan eksekusi paralel secara masif inilah yang kemudian dapat dimanfaatkan dengan CUDA.
                                       
Pemorgraman CUDA sama seperti membuat program C biasa. Saat kompilasi, syntax2 C biasa akan diproses oleh compiler C, sedangkan syntax dengan keyword CUDA akan diproses oleh compiler CUDA (nvcc)
Bagaimana bagi pengguna biasa, apakah ada manfaat yang bisa didapat dari membeli hardware berteknologi CUDA. Hmm, saat ini sudah mulai banyak software yang mendukung akselerasi dengan CUDA. Misalnya MATLAB dan beberapa plugin dari Adobe Photoshop CS5. Bila perangkat lunak ini mendeteksi adanya hardware yang kompatibel dengan CUDA, maka beberapa proses komputasinya akan dilaksanakan oleh GPU. Walhasil, program akan dapat dieksekusi dengan lebih cepat. Review di tomshardware ini contohnya, menampilkan pengurangan waktu eksekusi yang mengesankan dari plugin Photoshop untuk manipulasi gambar.
Seperti telah disebutkan, CUDA memungkinkan programmer untuk mengeksekusi program pada GPU. Tentu saja, program – program yang akan mendapat akselerasi adalah program-program yang dapat dipecah menjadi banyak eksekusi paralel. Untungnya, buanyak komputasi saintifik masuk pada kategori tersebut. Beberapa aplikasinya antara lain Computational Fluid Dynamics (CFD), Molecular Dynamics, Seismic Simulation, Simulasi Finansial dan Saham, Image Processingdan Video Processing

Secara bisnis ini adalah ide yang luar biasa. Pengembangan hardware GPU telah mendapat “subsidi” dari industri gaming dan hasilnya sekarang dapat digunakan untuk aplikasi yang lebih, ahem, “berguna”. Tidak heran saat ini teknologi CUDA telah merevolusi dunia High Performance Computing.

Penjumlahan Matriks dengan CUDA

Langkah-langkah yang perlu dilakukan untuk melakukan operasi matematik dengan CUDA adalah:
1. Deklarasikan kernel
2. Pindahkan data yang diperlukan ke memori GPU
3. Tentukan parameter kernel
4. Eksekusi kernel
5. Pindahkan lagi data hasil komputasi ke host
Untuk lebih memudahkan saya menyediakan contoh program untuk menjumlahkan dua buah matriks A dan B
1.Deklarasi Kernel
Seperti telah disebutkan dalam tutorial tentang prinsip kernel, kernel CUDA didefinisikan dengan syntax __global__ . Perhatikan bahwa dalam kernel tidak terdapat loop untuk menjumlahkan elemen matriks satu demi satu. Ini mendemonstrasikan eksekusi parallel threads-threads dalam menghitung elemen array secara bersamaan.
2.Penyalinan Data dari Host ke GPU
Proses penyalinan data yang melibatkan transfer dari host ke GPU atau sebaliknya ditangani CUDA dengan syntax cudaMemcpy .
3. Parameter Kernel
Kernel pada tutorial ini dieksekusi oleh satu block. Block tersebut mempunyai threads sebanyak elemen yang ada pada matriks. Tentu saja parameter ini hanya akan bekerja bila jumlah elemen matriks tidak melebihin jumlah maksimum threads yang boleh ada pada satu block.
4. Eksekusi Kernel
Panggil kernel dengan parameter yang telah ditentukan dan pass data ke kernel.
5. Ambil Hasil
Pindahkan hasil dari GPU ke host, masih dengan cudaMemcpy . Selain untuk menyalin data dari GPU ke host dan sebaliknya, syntax ini juga dapat digunakan untuk menyalin dari memori GPU ke memori GPU dengan parameter akhirnya diganti menjadi cudaMemcpyDeviceToDevice
6. Bebaskan pointer
Membebaskan pointer ke memori GPU dilakukan dengan syntax cudaFree(pointer)

Menjalankan Fungsi pada GPU: kernel CUDA

CUDA menyediakan ekstensi pada bahasa C berupa fungsi yang ditandai tag khusus:
__global__
Bila membaca keyword __global__, CPU akan menjalankan fungsi tersebut di dalam GPU. Setelah memulai eksekusi pada GPU, program akan segera mengeksekusi perintah berikutnya, tidak harus menunggu eksekusi GPU selesai. Hal ini memungkinkan pemrogram untuk menjalankan komputasi secara paralel antara CPU dan GPU.
Selain dengan keyword __global__ , kernel juga dapat dideklarasikan dengan keyword __device__. Bedanya, kernel __device__ini hanya dapat dipanggil oleh kernel yang lain, alias oleh fungsi yang sudah berjalan pada GPU. Kernel CUDA, baik yang didefinisikan dengan keyword __global__ maupun__device__ , mempunyai kelemahan: ia tak dapat dieksekusi secara rekursif. Artinya, suatu kernel tidak dapat memanggil dirinya sendiri. Kernel CUDA juga tak dapat memanggil fungsi selain kernel CUDA yang lain. Ini berarti fungsi host (CPU) tidak dapat dipanggil dari kernel (GPU).
2.4 Keunggulan NVIDIA CUDA
1. CUDA menggunakan bahasa “C” standar, dengan beberapa ekstensi yang simpel.
2. Scattered writes (penyebaran penulisan) – kode dapat ditulis pada tujuan-tujuan yang tersebar dalam memori.
3.Shared memory – CUDA menyingkapkan wilayah memory yang cepat (berukuran 16 KB) yang dapat di bagi diantara thread-thread yang ada. Hal ini dapat digunakan sebagai user-managed-cache, sehingga mengaktifkan bandwitdth yang lebih besar (dari besaran bandwidth yang dimungkinkan), menggunakan texture loops.
4. Proses download dan readbacks yang lebih cepat, dari dan ke GPU.
5. Support penuh terhadap operasi integer dan bitwise.
2.5 Seri GPU NVIDIA yang Menggunakan Teknologi CUDA
Nvidia GeForce GTX 280,
GTX 260,9800 GX2,
GeForce® 9800 GTX+,
GeForce® 9800 GTX,
GeForce® 9800 GT,
GeForce® 9600 GSO,
GeForce® 9600 GT,
GeForce® 9500 GT,
GeForce® 9400 GT,
GeForce® 9400 mGPU,
GeForce® 9300 mGPU,
GeForce® 8800 Ultra,
GeForce® 8800 GTX,
GeForce® 8800 GTS,
GeForce® 8800 GT,
GeForce® GS,
GeForce® 8600 GTS,
GeForce® 8600 GT,
GeForce® 8500 GT,
GeForce® 8400 GS,
GeForce® 8300 mGPU,
GeForce® 8200 mGPU,
GeForce® 8100 mGPU.
BAB III  PENUTUP

3.1  Kesimpulan
Kesimpulan dari makalah ini adalah teknologi CUDA yang dikembangkan oleh NVIDIA merupakan teknologi yang sangat bagus, CUDA berarti FISIKA yaitu kalkulasi yang diterapkan dalam game untuk mensimulasikan benda-benda fisik sehingga berlaku layaknya di dunia nyata. Membuat game terlihat semakin nyata, seakan-akan kita berada langsung di game tersebut.
3.2  Saran
Tidak semua game harus menggunakan teknologi CUDA, dengan menggunakan kartu grafis yang Non-grafis kita juga dapat memainkan game HD(High Definition). Namun efeknya akan lebih terasa jika kita menggunakan teknologi CUDA.










DAFTAR PUSTAKA

















  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar