Kamis, 27 Juni 2013

Teori Komputasi Modern dan Pengimplementasian

        Komputasi bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Secara umum ilmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu.  Dalam hal penerapan simulasi komputer atau berbagai bentuk komputasi lainnya untuk menyelesaikan masalah-masalah dalam berbagai bidang keilmuan, tetapi dalam perkembangannya digunakan juga untuk menemukan prinsip-prinsip baru yang mendasar dalam ilmu sains.
         Menggunakan suatu algoritma dan juga penggunaan komputer dalam suatu pemecahan masalah, berarti  cara penyelesaiannya sudah termasuk modernisasi. Sekarang ini dengan semakin berkembangnya jaman, komputasi telah dilakukan dengan komputer. Hal inilah yang menyebabkan berkembangnya komputasi menjadi komputasi modern.
     Komputasi modern bisa dibilang adalah sebuah konsep sistem yang menerima intruksi-intruksi dan menyimpannya dalam sebuah memory, memory disini bisa juga dari memory komputer. Oleh karena pada saat ini kita melakukan komputasi menggunakan komputer maka bisa dibilang komputer merupakan sebuah komputasi modern.

Macam-macam Komputasi Modern
Komputasi modern terbagi tiga macam, yaitu komputasi mobile (bergerak), komputasi grid, dan komputasi cloud (awan). Penjelasan lebih lanjut dari jenis-jenis komputasi modern sebagai berikut :
  • Mobile computing

Mobile Computing adalah sebuah paradigma baru dalam kemajuan teknologi yang dapat melakukan komunikasi dengan jaringan  nirkabel sehingga user mampu melakukan perpindahan.
  • Grid computing (akan di bahas lebih lanjut di tugas ke dua)

Secara singkat, komputasi grid atau grid computing adalah penggunaan sumber daya komputer secara bersama-sama dimana komputer tersebut terpisah secara geografis. Komputasi grid ini biasanya digunakan untuk memecahkan suatu permasalahan berskala besar.
  • Cloud computing (akan di bahas di tugas ke dua)

Cloud computing adalah kumpulan dari beberapa resources yang terintegrasi menjadi satu dan digunakan melalui web.

        Sebenarnya, cloud computing ini didasarkan pada teknologi grid computing yang membuat skalabilitas suatu sistem komputasi menjadi sangat besar dengan cara menggabungkan beberapa sumber daya komputer menjadi satu resource.

Implementasi komputasi di dalam kehidupan sehari-hari : Fisika, Kimia, Matematika, Ekonomi, Geologi, Geografi.
  • Dalam bidang fisika

Computational Physics (Fisika) – Mempelajari implementasi algoritma numerik untuk memecahkan permasalahan teori kuantitatif fisika yang sudah ada.
  • Dalam bidang Biologi

Bioinformatics (Biologi) – Merupakan sebuah aplikasi dari teknologi informasi dan ilmu komputer terhadap bidang biologi molekuler.
  • Dalam bidang kimia

Computational Chemistry (Kimia) – Merupakan salah satu cabang kimia yang menggunakan ilmu komputer untuk membantu menyelesaikan masalah kimia.
  • Dalam bidang Matematika

Conoth penggunaannya adalah program Mapple, dapat menyelesaikan banyak perhitingan yang ada pada bidang matematika,
  • Dalam bidang ekonomi

Computational Economics (Ekonomi) – Mempelajari titik pertemuan antara ekonomi dan komputasi.
bidang geografi dan geologi, dapat mengetahui prakiraan cuaca dan juga mendeteksi gempa yang ada.

Pengantar Komputasi Cloud

A.      Pendahuluan

Cloud Computing adalah komputasi berbasis internet, dimana sumber daya bersama, perangkat lunak, dan informasi disediakan untuk komputer dan perangkat lain sesuai permintaan, seperti jaringan listrik. Cloud computing adalah istilah umum untuk apa pun yang melibatkan host yang memberikan layanan melalui internet. Layanan ini secara luas dibagi menjadi tiga kategori: Infrastruktur-as-a-Service (IaaS), Platform-as-a-Service (PaaS) dan Software-as-a-Service (SaaS). Cloud Computing (atau dalam bahasa Indonesia berarti “Komputasi Awan”) namanya terinspirasi oleh simbol awan yang sering digunakan untuk mewakili Internet di flowchart dan diagram.
Sebuah layanan Cloud Computing memiliki tiga karakteristik yang berbeda yang membedakannya dari tradisional hosting. Hal ini bergantung pada permintaan, biasanya setiap menit atau jam, setiap pengguna dapat mengakses layanan yang mereka inginkan pada suatu waktu tertentu, dan layanan ini sepenuhnya dikelola oleh penyedia (konsumen tidak membutuhan apa-apa selain komputer pribadi dan akses Internet). Inovasi yang signifikan dalam virtualisasi dan komputasi terdistribusi, serta peningkatan akses ke internet berkecepatan tinggi dan ekonomi lemah, telah mempercepat minat Cloud Computing.
Email yang tersedia dalam bentuk web mail merupakan contoh yang sangat kecil dari teknologi cloud computing. Dengan menggunakan layanan email seperti Gmail dan Yahoo Mail, orang tidak perlu lagi menggunakan Outlook atau aplikasi desktop lainnya untuk email mereka. Membaca email dengan browser memungkinkan dilakukan di mana saja sepanjang ada koneksi internet.
Pada tahun 2007, layanan lain termasuk pengolahan kata, spreadsheet, dan presentasi telah dipindahkan ke dalam komputasi awan. Google menyediakan pengolah kata, spreadsheet dan aplikasi presentasi di lingkungan komputasi yang awan dan terintegrasi dengan Gmail dan Google Calendar, menyediakan lingkungan kantor di web (atau di awan). Microsoft dan perusahaan lain juga bereksperimen dengan mengalihkan program-program ke awan untuk membuatnya lebih terjangkau dan lebih mudah diakses oleh pengguna komputer dan Internet. Perangkat lunak sebagai layanan (istilah Microsoft untuk komputasi awan) adalah barang yang sangat baru bagi kebanyakan orang di Microsoft.
Cloud computing saat ini sangat populer, selain dari pemain besar software seperti Microsoft dan Google, perusahaan lain bermunculan hanya untuk menyediakan layanan berbasis awan sebagai pengganti atau penyempurnaan aplikasi pada PC hari ini. Beberapa dari perusahaan tersebut adalah Zoho.com, sebuah office suite online, Evernote.com, merupakan sebuah situs yang ditujukan untuk catatan online , dan RememberTheMilk.com, manajemen tugas online.
Ada beberapa keuntungan yang dapat dilihat dari perkembangan Cloud Computing ini, seperti
·         Lebih efisien karena menggunakan anggaran yang rendah untuk sumber daya
·         Membuat lebih eglity, dengan mudah dapat berorientasi pada profit dan perkembangan yang cepat
·         Membuat operasional dan manajemen lebih mudah, dimungkinkan karena sistem pribadi atau perusahaan yang terkoneksi dalam satu cloud dapat dimonitor dan diatur dengan mudah
·         Menjadikan koloborasi yang terpecaya dan lebih ramping
·         Membantu dalam menekan biaya operasi biaya modal pada saat kita meningkatkan reliability dan kritikal sistem informasi yang kita bangun.
Teknologi komputasi dan teknik pemrograman baru atau teknik pengembangan berubah dengan cepat, tujuan dalam komputasi awan nampaknya akan membuat teknologi menjadi sangat mudah dimata user dan menjadikannya sesederhana mungkin. Pengembangan berbasis internet sangat pesat saat ini dengan boomingnya blogging dan microblogging serta layanan jejaring sosial yang bertujuan untuk menemukan cara baru membantu individu dan bisnis untuk dapat berkomunikasi satu sama lain di arena komputasi awan.
B.      Pengantar Komputasi GRID
Grid computing adalah arsitektur TI baru yang menghasilkan sistem informasi perusahaan yang berbiaya rendah dan lebih adaptif terhadap dinamika bisnis. Dengan grid computing, sejumlah komponen hardware dan software yang modular dan independen akan dapat dikoneksikan dan disatukan untuk memenuhi tuntutan kebutuhan bisnis. Lebih jauh, dari sisi ekonomi, implementasi grid computing berarti membangun pusat komputasi data yang tangguh dengan struktur biaya variatif yang bisa disesuaikan dengan kebutuhan. 
Definisi Grid Computing menurut beberapa sumber, yaitu:
·         Komputasi Gridadalah penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar. (http://id.wikipedia.org)
·          Komputasi gridadalah infrastruktur perangkat keras dan perangkat lunak yang dapat menyediakan akses yang bisa diandalkan, konsisten, tahan lama dan tidak mahal terhadap kemampuan komputasi mutakhir yang tersedia. (The Grid 2: Blue Print for a New Computing Infrastructureyang ditulis oleh Ian Foster dan Carl Kesselman)
·         Grid computingmerupakan sebuah sistem komputasi  terdistribusi, yang memungkinkan seluruh sumber daya (resource) dalam jaringan, seperti pemrosesan, bandwidth jaringan, dan kapasitas media penyimpan, membentuk sebuah sistem tunggal secara virtual. (http://ismetsaja.wordpress.com)

Struktur Grid Computing

Grid computing merupakan sistem komputer dengan sumber daya yang dikelola dan dikendalikan secara lokal. Dimana sumber daya ini berbeda dalam hal kebijakan dan mekanisme yaitu  mencakup sumber daya komputasi yang dikelola oleh sistem batch berbeda, sistem storage berbeda pada node berbeda. Kebijakan berbeda dipercayakan kepada user yang sama pada sumber daya berbeda pada Grid. Grid computing memiliki sifat alami dinamis artinya Sumber daya dan pengguna dapat sering berubah.
Grid computing dibangun dengan cara menggabungkan seluruh sistem komputasi grid yang ada di institusi-institusi penelitian menjadi sebuah kesatuan. Pengaturan hardwaredan software pada masing-masing sistem di tingkat institusi kemungkinan berbeda, namun dengan menjalankan teknologi Grid computing dengan menggabungkan simpul-simpul penghubung dari masing-masing sistem, maka akan terbentuk sebah kesatuan sumber daya komputasi grid. Dengan ini berarti pengguna pada suatu institusi dapat memanfaatkan sumber daya komputasi yang berada di luar institusinya. Salah satu syarat dari pembentukan grid computing adalah adanya suatu backbone jaringan berkapasitas besar untuk menghubungkan simpul-simpul penghubung (memiliki lebar pita mulai dari 2 Mbps sampai dengan 155 Mbps).

Jenis-jenis Grid Computing

·         Gram (Grid Resources Allocation & Management)
Komponen ini dibuat untuk mengatur seluruh sumberdaya komputasi yang tersedia dalam sebuah sistem komputasi grid. Pengaturan ini termasuk eksekusi program pada seluruh komputer yang tergabung dalam sistem komputasi grid, mulai dari inisiasi, monitoring, sampai dengan penjadwalan dan koordinasi antar proses yang terjadi dalam sistem tersebut. Juga dapat berkoordinasi dengan sistem-sistem pengaturan sumber daya yang telah ada sebelumnya. Dengan mekanisme ini program-program yang telah dibuat sebelumnya tidak perlu dibangun ulang atau bila dimodifikasi, modifikasinya minimum.
·         RFT/GridFTP (Reliable File Transfer/Grid File Transfer Protocol)
Komponen ini dibuat agar pengguna dapat mengakses data yang berukuran besar dari semua simpul komputasi yang telah tergabung dalam sebuah sistem komputasi secara efisien. Hal ini tentu saja berpengaruh karena kinerja komputasi tidak hanya bergantung pada kecepatan komputer yang tergabung dalam mengeksekusi program, tapi juga seberapa cepat data yang dibutuhkan dapat diakses. Data yang diakses juga tidak selalu ada pada komputer yang mengeksekusi.
·         MDS (Monitoring and Discovery Service)
Komponen ini dibuat untuk memonitoring proses komputasi yang sedang dijalankan agar dapat mendeteksi masalah yang timbul dengan segera.  Sedangkan fungsi disovery dibuat agar pengguna mampu mengetahui keberadaan sumber daya komputasi beserta karakteristiknya.
·         GSI (Grid Security Infrastructure)
Komponen ini dibuat untuk mengamankan sistem komputasi grid secara keseluruhan. Komponen ini membedakan teknologi GT4 dengan teknologi-teknologi sebelumnya. Dengan menerapkan mekanisme keamanan yang tergabung dengan komponen-komponen komputasi grid lainnya, sistem ini dapat diakses secara luas tanpa sedikitpun mengurangi tingkat keamanannya. Sistem keamanan ini dibangun dengan segala komponen yang telah diuji, mencakup proteksi data, autentikasi, delegasi dan autorisasi.

Kelebihan Grid Computing

Beberapa kelebihan dari grid computing adalah:
·         Perkalian dari sumber daya: Resource pool dari CPU dan storage tersedia ketika idle.
·         Lebih cepat dan lebih besar: Komputasi simulasi dan penyelesaian masalah dapat berjalan lebih cepat dan mencakup domain yang lebih luas.
·         Software dan aplikasi: Pool dari aplikasi dan pustaka standard,  akses terhadap model dan perangkat berbeda, metodologi penelitian yang lebih baik.
·         Data: Akses terhadap sumber data global dan hasil penelitian lebih baik.
·         Ukuran dan kompleksitas dari masalah mengharuskan orang-orang dalam beberapa organisasi berkolaborasi dan berbagi sumber daya komputasi, data dan instrumen sehingga terwujud bentuk organisasi baru yaitu virtual organization. Organisasi virtual sebagai hasil kolaborasi memberikan beberapa keuntungan lebih lanjut, di antarnya :
·         Sumber daya dan orang-orang yang tersebar ;
·         Dihubungkan oleh jaringan, melintasi domain-domain admin;
·         Berbagi sumber daya, tujuan bersama;
·         Dinamis;
·         Fault-tolerant, dan
·         Tidak ada batas-batas geografis.

Kekurangan Grid Computing

Kekurangan pada grid computing yang lebih saya tekankan disini adalah mengenai hambatan yang dialami oleh masyarakat Indonesia dalam mengaplikasikan teknologi grid computing. Hambatan-hambatan tersebut adalah sebagai berikut :
·         Manajemen institusi  yang terlalu birokratis menyebabkan mereka enggan untuk merelakan fasilitas yang dimiliki untuk digunakan secara bersama agar mendapatkan manfaat yang lebih besar bagi masyarakat luas.
·         Masih sedikitnya sumber daya manusia yang  kompeten dalam mengelola grid computing.
·         Kurangnya pengetahuan yang mencukupi bagi teknisi IT maupun user non teknisi mengenai manfaat dari grid computing itu sendiri.

Dengan adanya beberapa manfaat dan hambatan mengenai tersedianya grid computing di Indonesia, maka harus ada solusi yang berfungsi untuk mewujudkan manfaat dan menghilangkan hambatan yang muncul tersebut. Solusi itu antara lain adalah sebagai berikut :
·         Memberikan sosialisasi pada instansi pendidikan maupun institusi non pendidikan mengenai manfaat serta biaya dengan menggunakan sistem komputasi grid.
·         Kerjasama riset dan pengembangan antara departement dalam suatu perguruan tinggi dan industri.
·         Diberikannya mata kuliah tentang grid computing sehingga dapat menghasilkan generasi yang menguasai teknologi ini.
·         Adanya pengembangan aplikasi yang relevan dengan grid computing.

C.      Virtualisasi
Virtualisasi memiliki salah satu pengertian adalah sebuah teknik untuk    menyembunyikan karakteristik fisik dari sumber daya komputer dari bagaimana cara sistem lain, aplikasi atau pengguna berinteraksi dengan sumber daya tersebut. 

D.      Komputasi Terdistribusi Pada Cloud Computing 

Pada dasarnya dengan seiringnya maju teknologi maka kegiatan atau pekerjaan kita menjadi lebih mudah.komputasi terdistribusi sendiri memiliki artimempelajari penggunaan terkoordinasi dari komputer yang secara fisik terpisah atau terdistribusi. Sistem terdistribusi membutuhkan softwere yang berbeda dengan sistem terpusatjadi, server data yang hadir dalam lautan awan, Anda dapat setiap saat Kapan, dan di mana saja untuk dengan aman dan nyaman untuk mengakses atau berbagi dengan orang lain. Cloud computing membuat Internet ke setiap pusat penyimpanan pusat data.

E.        Map reduce dan noSQL(Not Only SQL) 
Map reduce adalah sebuah framework pemrograman untuk memproses data yang berukuran besar,biasanya digunakan untuk komputasi terdistribusi pada kumpulan komputer.
 NoSQL (singkatan dari Not Only SQL) adalah tipe database yang sangat jauh berbeda dengan konsep RDBMS(Relational Database Management System) ataupun ODBMS(Objecy Oriented Database Management System). Perbedaan utamanya karena tidak mengenal istilah relation dan tidak menggunakan konsep schema. Kalau biasanya dapatmenggunakan query 'Join’ di sini tidak bisa menggunakannya karena setiap tabel berdiri sendiri tanpa tergantung dengan tabel lainnya alias independen.
Selain itu di dalam konsep DBMS biasanya sebelum insert data diharuskan untuk mendefinisikan terlebih dahulu struktur tabel seperti tipe data dan ukurannya, di konsep NoSQL ini bisa menyimpan data tanpa perlu mendefinisikan tipe data dan ukurannya lagi. Jadi lebih fleksibel bila ada perubahan di masa mendatang.  Adapun beberapa database NoSQL yang ada saat ini yaitu Cassandra, Big Table, CouchDB, Redis, Riak, Dynamo dan lainnya.

F.       noSQL Database
Istilah NoSql pertama kali digunakan pada tahun 1998 sebagai nama untuk open source database yang ringan tidak mengekspos antarmuka SQL. Penulisnya, Carlo Strozzi, mengklaim bahwa sebagai gerakan NoSql “ berangkat dari model relasional yang lebih tepat disebut NoREL atau sesuatu yang berpengaruh. Istilah ini diperkenalkan kembali pada awal 2009 oleh karyawan Rackspace, Eric Evans, ketika Johan Oskarsson dari Last.fm ingin mengorganisir sebuah acara untuk membahas open source database terdistribusi .

Kelebihan
·         Vendor relasional database besar (Oracle, IBM, Sybase dan Microsoft) merupakan andalan untuk menyimpan data.  
·         Pertumbuhan internet yang semakin besar (mereka mencari RDBMS yangberbiaya rendah seperti MySQL dan PostgreSQL) 
·         Pengunjung web yang besar menyebabkan lalu lintas data yang besar sehingga dapat mengakibatkan “efek slash dot”

Parallel Computation

    Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar (di industri keuangan, bioinformatika, dll) ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi) dll.
       Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Tidak berarti dengan mesin paralel semua program yang dijalankan diatasnya otomatis akan diolah secara parallel.

Distributed Processing
          Pada komputasi pararel terjadi pemrosesan yang terdistribusi. Maksud dari pemrosesan terdistribusi ini adalah kemampuan computer yang dijalankan untuk memecahkan masalah dengan proses yang cepat dan terdistribusi. Intinya adalah menyatukan kemampuan dari sumber daya  yang terpisah secara fisik, ke dalam suatu sistem gabungan yang terkoordinasi dengan kapasitas yang jauh melebihi dari kapasitas individual komponen-komponennya.

Arsitektur Komputer Pararel
Ada 4 model komputasi yang digunakan, yaitu:
1.    SISD (Single Instruction, Single Data) adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.
2.     SIMD(Single Instruction, Multiple Data) menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).
3.  MISD(Multiple Instruction, Single Data) menggunakan banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang menggunakan model MISD.
4.   MIMD( Multiple Instruction, Multiple Data) menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.

Pengantar Thread Programming
            Thread adalah sebuah alur kontrol dari sebuah proses. Suatu proses yang multithreaded mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama. Keuntungan dari multithreaded meliputi peningkatan respon dari user, pembagian sumber daya proses, ekonomis, dan kemampuan untuk mengambil keuntungan dari arsitektur multiprosesor. 

Message Passing
         Message Passing adalah sebuah program untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel. Message passing dikembangkan untuk membuat aplikasi pengirim pesan secara portable. Pembagian data antar proses pada pararel dilakukan dengan message passing, yaitu dengan mengirim dan menerima pesan antar proses.

Pemrograman CUDA GPU
    GPU (Graphical Processing Unit) awalnya adalah sebuah prosesor yang berfungsi khusus untuk melakukan rendering pada kartu grafik saja, tapi pada akhirnya terjadi peningkatan kemampuan prosesor dan dapat mempercepat waktu proses dalam mengeksekusi program. CUDA (Compute Unified Device Architecture) merupakan  sebuah arsitektur komputer parallel yang dikembangkan oleh Nvidia. Dalam teknologi CUDA GPU ini kartu grafis dapat digunakan lebih optimal ketika menjalankan sebuah software aplikasi dibandingkan kartu grafis terdahulu yang lebih banyak digunakan untuk menjalankan aplikasi game saja. CUDA GPU dapat memberikan proses dengan pendekatan bahasa C, sehingga programmer atau pengembang software dapat lebih cepat menyelesaikan perhitungan yang komplek. Bukan hanya aplikasi seperti teknologi ilmu pengetahuan yang spesifik. CUDA sekarang bisa dimanfaatkan untuk aplikasi multimedia, misalnya mengedit film dan melakukan filter gambar.