Selasa, 14 Mei 2019

Paralel Computation (Pengantar Pemrograman CUDA GPU)


1.      Latar Belakang

Di era modern pada bidang multimedia yang sarat akan teknologi, khususnya mengenai image processing atau teknik pengolahan citra yang merupakan teknik yang penting bagi kehidupan masyarakat. Teknik pengolahan citra digunakan untuk memanipulasi data gambar sesuai yang diinginkan dalam suatu kebutuhan informasi. Teknik tersebut dapat dilakukan menggunakan komputasi paralel yang menjadi suatu terobosan baru untuk melakukan proses komputasi dan telah berkembang mengikuti perkembangan teknologi komputer di seluruh dunia. Graphics Processing Unit (GPU) menjadi salah satu komputasi paralel yang memanfaatkan kartu grafis. Hal ini bertujuan agar kinerja komputer jauh lebih cepat dibandingkan proses yang sepenuhnya hanya dilakukan oleh Central Processing Unit (CPU). Ketertarikanpun timbul ketika mengetahui bahwa di dalam video graphic card (VGA) terdapat ratusan core dari GPU yang digunakan untuk mengolah gambar grafis untuk keperluan multimedia (pemutaran video dan game). Ratusan core tersebut dapat digunakan secara paralel untuk mengolah gambar. Compute Unified Device Architecture (CUDA) menjadi salah satu arsitektur bagi pengguna (user) untuk melakukan image processing yang memanfaatkan GPU secara terbuka. Image processing mampu diolah secara paralelmenggunakan GPU yang pada awalnya masing-masing pixel pada citra(image) diolah secara sekuensial yakni berurutan satu persatu dapat diolah secara parallel sekaligus untuk beberapa pixel dalam satu kali proses dengan membagi proses tersebut ke dalam core-core pada GPU. Selain image processing, video processing juga menjadi salah satu grafik yang dapat dijalankan secara parallel. Processor pada CPU telah makin berkembang dengan meningkatkan kinerja secara optimal. Sehingga perlu dibandingkan antara komputasi paralel GPU dengan CUDA dengan komputasi CPU dengan melakukan video processing baik mengunakan file video ataupun memanfaatkan webcam untuk menjalankan video secara realtime. Kinerja dari komputasi paralel menggunakan GPU dapat menjadi pertimbangan bagi pengguna untuk melakukan image processing maupun video processing tersebut dengan membandingkan terhadap komputasi CPU. Teknik komputasi dapat mempengaruhi kecepatan proses terhadap suatu pengolahan [Analisis Perbandingan Komputasi GPU dengan CUDA dan Komputasi CPU untuk Image dan Video Processing].

Saat ini teknologi semakin berkembang. Banyak perangkat elektronik seperti smartphone, dan perangkat lainnya yang memanfaatkan citra untuk keperluan grafisnya. Citra yang digunakan adalah citra digital, dan citra digital membutuhkan pengolahan citra. Pengolahan citra merupakan prosedur dalam mengkonversi citra kedalam bentuk digital dan memuat beberapa operasi didalamnya, dengan tujuan untuk meningkatkan kualitas citra dan mengambil beberapa informasi yang berguna dari pengolahan tersebut. Salah satu dari operasi pengolahan citra adalah Inpainting. Sejarah Inpainting berawal dari dunia seni. Untuk berabad-abad lamanya orang-orang tertarik untuk memperbaiki bagian yang hilang dari lukisan, dan berusaha untuk membuat lukisan tersebut menjadi pulih. Istilah inpainting dipinjam dari kesenian melukis, dimana para seniman bekerja dalam merestorasi lukisan yang kabur dan rusak. Fokus utama dalam inpainting adalah untuk memperbaiki bagian lukisan yang rusak dengan berbagai cara untuk melengkapi atau mengisi bagian yang hilang, dan salah satu cara yang mungkin untuk mengisi bagian yang hilang tersebut adalah dengan mengisi warna sesuai dengan warna yang terdekat dengan bagian yang hilang.
Pada tahun 2000 salah seorang peneliti yang bernama Bertalmio yang tertarik dengan inpainting mencoba menuangkan ide tersebut kedalam dunia digital. Dalam idenya disinggung bagaimana melakukan digital inpainting dengan cara pengolahan citra, yaitu agar proses dapat berjalan secara otomatis dan mengurangi interaksi oleh pengguna yang hendak melakukan inpainting. Akhirnya interaksi yang dilakukan oleh pengguna adalah hanya menyeleksi bagian citra yang hendak direstorasi. Bertalmio adalah salah satu dari sekian peneliti yang mempelopori digital inpainting.
Digital inpainting sendiri artinya adalah proses inpainting yang dilakukan secara digital pada citra digital. Ide dasar algoritma inpainting yang dikemukakan adalah menghaluskan informasi yang tersebar pada ruang lingkup area pada arah isophote. Hal yang diperlukan hanyalah menentukan daerah yang akan diinpaint, sisanya akan secara otomatis diselesaikan dengan algoritma. Image inpainting telah banyak dikembangkan dengan menggunakan metode yang berbeda-beda, beberapa peneliti yang mencoba mengembangkan adalah Oliveira et al (2001), Cant (2003), Criminisi et al (2004), Telea (2004), dan Grossauer & Scherzer (2005). Setiap metode yang dikembangkan membutuhkan waktu eksekusi yang cukup lama untuk memproses komputasinya, oleh karena itu dibutuhkan sebuah metode baru untuk mempercepat proses eksekusi. Salah satu metode yang dapat dipakai untuk mempercepat waktu eksekusi adalah dengan melakukan komputasi secara paralel. Dasar komputasi paralel adalah membagi pekerjaan ke banyak unit pemroses, sehingga mempercepat pemrosesan pekerjaan tersebut. Unit pemroses yang digunakan adalah GPU. Komputasi paralel diimplementasikan dengan CUDA. CUDA merupakan API(application programming interface) dari NVIDIA yang dapat menjalankan GPU (Tse, 2012).
Dalam penelitian ini, selain menggunakan komputasi paralel dalam proses inpainting, algoritma Heat yang digunakan untuk proses inpainting akan dimodifikasi dengan menambahkan algoritma Perona-Malik. Pada kasus ini, Perona-Malik berperan dalam proses deteksi tepi sebagai bagian dari proses inpainting, karena algoritma Perona-Malik mampu mempertahankan tepi pada citra yang tajam tanpa membuatnya blur [Komputasi Paralel Berbasis Gpu Cuda Untuk Pengembangan Image Inpainting Dengan Metode Perona-Malik].


2.      Metode

Pada jurnal Analisis Perbandingan Komputasi GPU dengan CUDA dan Komputasi CPU untuk Image dan Video Processing:

Menggunakan metode sobel filter. Masing-masing memiliki fungsi dan algoritme yang berbeda,terutama pada deteksi tepi yang menggunakan algoritme yang lebih panjang. Fungsi dari masing-masing algoritme tersebut berlaku untuk pengujian baik image processing maupun videoprocessing. Pengujian hanya dibedakan bahannya yakni gambar dengan video. Operasi deteksi tepi merupakan suatu proses yang menghasilkan tepi-tepi dari obyek-obyek citra. Metode yangdigunakan untuk deteksi tepi bermacam-macam. Salah satu metode yang digunakan untuk penelitian ini adalah metodesobel. Perbedaan antara metode sobel dengan metode deteksi tepi yang lain terdapat pada rumusnya sehingga hasil deteksi tepi tiap metode berbeda-beda.

Pada jurnal Komputasi Paralel Berbasis Gpu Cuda Untuk Pengembangan Image Inpainting Dengan Metode Perona-Malik:

            Menggunakan metode Perona-Malik. Metode ini adalah salah satu persamaan yang cocok digunakan untuk proses filtering. Setiap piksel tetangga dalam persamaan diffuse anisotropik digunakan untuk meningkatkan kehalusan pada citra digital. untuk metode Perona-Malik masing-masing metode memiliki rumus yang berbeda dan tentunya nilai yang berbeda pula. Rumus Perona-Malik didapatkan berdasarkan hasil persamaan difusi Perona-Malik atas nilai cx = cx = fungsi I(x,y) , lalu ditemukanlah hasil diskretisasi menjadi Perona-Malik 1 dan Perona-Malik 2.


3.      Analisa Perbandingan

NAMA JURNAL
DESKRIPSI JURNAL
Analisis Perbandingan Komputasi GPU dengan CUDA dan Komputasi CPU untuk Image dan Video Processing
1. pada jurnal ini menggunakan metode sobel filter yang digunakan berupa analisis pada eksperimen langsung untuk mendapatkan hasilnya.
2. Kemudian, data hasil eksperimen pada penelitian ini dipaparkan secara jelas dalam bentuk tabel disertai dengan penjelasan penulis mengenai tabel data hasil eksperimen perbandingan ini.
3. mempengaruhi kecepatan proses terhadap suatu pengolahan
4. Teknologi CUDA untuk komputasi paralel menggunakan GPU menunjukkan keunggulan terhadap komputasi sekuensial menggunakan CPU. Akan tetapi, OpenCV pada CPU sedikit lebih unggul dari CUDA dalam hal video processing.

Komputasi Paralel Berbasis Gpu Cuda Untuk Pengembangan Image Inpainting Dengan Metode Perona-Malik

1. Aplikasi untuk inpainting citra digital dengan metode Perona-Malik yang berjalan pada CPU dan GPU dengan CUDA telah berhasil dikembangkan.
2. Penerapan metode Perona-Malik pada inpainting menghasilkan kualitas hasil proses citra yang sebanding dengan metode Heat dan membuat waktu komputasi menjadi lebih lama.

3. Percepatan maksimal terjadi pada citra dengan resolusi paling besar. Semakin besar resolusi citra maka semakin tinggi percepatannya.


4.      Tanggapan

Menurut saya pada jurnal Analisis Perbandingan Komputasi GPU dengan CUDA dan Komputasi CPU untuk Image dan Video Processing masih belum dilakukan pengujian dengan algoritma yang lebih kompleks,selain itu data yang dihasilkan belum melalui proses pengujian secara nyata untuk proses rendering maupun video. Sedangkan pada jurnal Komputasi Paralel Berbasis Gpu Cuda Untuk Pengembangan Image Inpainting Dengan Metode Perona-Malik Program dapat dioptimalkan dengan mengubah penggunaan global memory menjadi texture memory atau shared memory.Program dapat dikembangkan dengan menambahkan GUI, agar pengoperasian menjadi lebih mudah.

5.      Referensi





Tidak ada komentar:

Posting Komentar