Daftar Isi ⇅
show
Pengertian Graphic Processing Unit
Graphic processing unit atau bisa disingkat dengan GPU yang sering sekali kita sebut dengan VGA merupakan salah satu perangkat pemrosesan yang khusus menangani pemrosesan grafis yang dilakukan dengan memanipulasi dan mengubah memori untuk mengakselerasi pembuatan gambar yang akan ditampilkan pada monitor (Suryawinata, 2018, hlm. 40).
Graphic processing unit atau unit pemrosesan grafis adalah sirkuit elektronik khusus yang dirancang untuk mempercepat pembuatan gambar keluaran ke peranti tampilan komputer seperti monitor (Wijanto, dkk, 2021, hlm. 82). Pada PC atau komputer desktop, GPU biasanya berwujud peripheral kartu yang dimasukkan pada socket GPU di motherboard. Akan tetapi, kini GPU low-end juga dapat tertanam bersamaan dengan prosesor.
Selain itu, graphic processing unit juga biasanya digunakan pada embedded system (sistem tertanam) di ponsel pintar, laptop, dan konsol game. GPU modern sangatlah efisien dalam memanipulasi grafis komputer dan pemrosesan gambar. Strukturnya yang sangat paralel membuatnya lebih efisien daripada unit pusat pemrosesan (CPU).
GPU merupakan sebuah komponen elektronika yang bentuknya seperti prosesor. GPU dikhususkan untuk memproses tampilan stay display pada komputer. Dalam praktiknya, graphic processing unit biasanya digunakan untuk merender gambar animasi dan video pada layar computer.
Pada awal perkembangannya, GPU digunakan untuk memroses serta menampilkan citra dua dimensi saja, seperti tampilan antarmuka pengguna dan permainan elektronik sederhana. Seiring dengan perkembangan teknologi permainan elektronik yang pesat, maka GPU mulai mengusung kemampuan akselerasi grafis tiga dimensi dengan berbagai fitur dan kemampuan kompleks yang mampu memanipulasi shader, pencahayaan real time, dsb.
Struktur Graphic Processing Unit
Graphic processing unit memiliki bagian-bagian yang mendukung proses komputasi dari GPU itu sendiri.
- Bagian pertama adalah graphic and computing array yang terdiri dari pixelshader dan vertex shader serta stream processor.
- Komponen selanjutnya adalah video processing unit, bagian ini menangani pemrosesan kompresi dan dekompresi berbagai macam format video.
- Komponen selanjutnya adalah graphics memory controller yang berfungsi untuk mengatur manajemen memori pada kartu grafis yang ada (Suryawinata, 2018, hlm. 42).
Selain itu, GPU modern juga memilik banyak hardware shader, Pada mikroprosesor dari GPU, terdapat beberapa hardware shader, yang berfungsi untuk melakukan manipulasi citra sebelum ditampilkan pada display output. Jenis dari shader pada GPU ini di antaranya adalah sebagai berikut.
- Pixel Shade
Berfungsi untuk melakukan manipulasi ter-hadappixel dari citra dua dimensi. Beberapa tugas daripixel shader antara lain memberikan gradasi warna, menampilkan efek cahaya, mengolah citra dua dimensi (citra digital dan tekstur), serta mengolah video secara terbatas. - Vertex Shader
Berfungsi untuk melakukan transformasi terhadap data tiga dimensional dari seluruh vertex menjadi bidang dua dimensi untuk ditampilkan pada display output. Vertex shader juga mengolah tingkat kedalaman relatif suatuvertex terhadap layar monitor. - Geometry Shader
Merupakan jenis shader tiga dimensi yang berfungsi melakukan pengolahan terhadap obyek geometri ti-ga dimensi. Data vertex darivertex shader dapat diolah men-jadi obyek tiga dimensi dengan menambahkan titik maupun garis terhadap vertex, sebelum dirasterasi dan diolah oleh pixel shader. - Tessellation Shader
Merupakan jenis shader yang berfungsi mengolah polygon mesh tiga dimensi, yaitu sekumpulan vertex yang telah membentuk sebuah obyek 3D. [9]
Fungsi Graphic Processing Unit
Fungsi utama dari GPU adalah untuk merender gambar dua dimensi maupun tiga dimensi yang terdiri dari bentuk-bentuk polygon. Kebanyakan transformasi poligon melibatkan bilangan-bilangan desimal. Oleh karena graphic processing unit dikhususkan untuk melakukan operasi floating point, pheriperal dapat melakukan operasi ini lebih efisien daripada CPU yang tercepat sekalipun.
Akhir-akhir ini GPU juga dimanfaatkan kemampuan komputasinya pada bidang cryptocurrency. Kalau mungkin istilah itu kurang familiar, istilah lain yang anda ketahui mungkin adalah Bitcoin mining atau penambangan uang digital.
Cara Kerja GPU
Dalam menampilkan representasi citra dua dimensi dari suatu obyek tiga dimensi, maka terdapat beberapa proses yang dilakukan pada GPU. Proses tersebut dinamakan graphic pipeline atau rendering pipeline. Secara berurutan, proses pada rendering pipeline terdiri atas beberapa tahap berikut ini.
- CPU mengirimkan instruksi berupa shading program serta data-data geometris dari objek kepada GPU.
- Pada GPU, data geometris berupa vertex ditransformasikan menjadi model objek tiga dimensi.
- Objek tiga dimensi yang terbentuk dipindahkan menuju koordinat bidang tiga dimensi, kemudian ditransformasikan terhadap posisi kamera (sudut pandang) dari display output.
- Objek kemudian diberikan pencahayaan sesuai dengan tingkat reflektivitas permukaan objek terhadap cahaya serta arah dari sumber cahaya. Proses ini dinamakanlighting.
- Objek pada koordinat kamera tiga dimensi kemudian ditransformasikan menjadi objek bidang dua dimensi. Transformasi dilakukan terhadap letak dan jarak objek dari kamera.
- Bagian dari objek yang tidak tampak dari sudut pandang kamera akan dibuang dan tidak digunakan pada proses-proses selanjutnya. Proses tersebut dinamakan clipping.
- Objek selanjutnya diubah menjadi bentuk raster atau pixelated image sesuai dengan nilai yang telah disimpan pada proses sebelumnya. Tekstur yang digunakan dapat berupa citra bitmap dua dimensi, gradasi warna, serta detil spekular (tingkat reflektivitas dan bayangan permukaan dari objek).
GPU General Purpose Computing
Sebelumnya telah dijelaskan bahwa graphic processing unit memiliki cara kerja yang lebih efisien dari CPU. Oleh karena itu, GPU juga sering digunakan sebagai “otak komputer” untuk menyumplemen bahkan menggantikan CPU. Ketika GPU tidak hanya digunakan untuk merender grafis komputer, maka GPU tersebut disebut dengan konsep general purpose computing using graphic processing unit (GPGPU).
Konsep dari GPGPU dilatarbelakangi oleh perkembangan teknologi unified shaders serta kemampuan memproses floating point pada GPU. Komputasi yang membutuhkan kalkulasi matriks dan vektor lebih mudah dikerjakan oleh GPU. Pada konsep GPGPU, GPU core bertindak sebagai parallel processor, di mana komputasi dilakukan menggunakan satu instruksi, namun dieksekusi oleh banyak processing core secara bersamaan.
Pada awal perkembangannya, agar komputer dapat dijalankan menggunakan GPU, program terlebih dahulu ditranslasikan ke dalam batuk grafikal (bentuk-bentuk vertex dan pixel) agar dapat dibaca oleh API atau jembatan penghubung dari GPU yang digunakan, seperti OpenGL dan DirectX. Seiring dengan perkembangan dan popularitas penggunaannya, mulai bermunculan library serta API yang mempermudah implementasi dan penggunaan dari konsep GPGPU ini seperti NVIDIA CUDA, Microsoft Direct Compute, serta OpenCL.
Beberapa contoh aplikasi umum dari konsep GPGPU di antaranya adalah sebagai berikut.
- Komputasi Saintifik (Scientific Computing), di mana GPGPU digunakan untuk membantu melakukan simulasi, permodelan, dan algoritma untuk menyelesaikan berbagai macam permasalahan ilmiah menggunakan teknik komputasi yang kompleks, seperti dinamika molekuler (Molecular Dynamic Simulation), simulasi propagasi cahaya, dinamika fluida, Deep Machine Learning, simulasi mekanika kuantum, bioinformatika, dan sebagainya.
- Pada ilmu kriptografi dan kriptoanalisis, komputasi GPGPU dapat digunakan untuk menguji implementasi dari berbagai algoritma enkripsi data, seperti AES, MD6, dan RSA. Selain itu, kemampuan komputasi tersebut dapat digunakan untuk pemrosesan transaksi cryptocurrency yang biasa disebut dengan Mining.
- Hardware Accelerated Video Transcoding and Post-processing, seperti kompresi video, noise reduction, teknik deinterlacing, koreksi warna, serta hardware accelerated playback.
Referensi
- Suryawinata, M. (2018). Arsitektur dan organisasi komputer. Sidoarjo: UMSIDA Press.
- Wijanto, dkk. (2021). Informatika smp kelas VII. Jakarta: Pusat Kurikulum dan Perbukuan Kemdikbudristek.