CPU vs GPU: Mengupas Arsitektur dan Rahasia dibalik Kecepatan Komputasi Modern pada era AI
Ketika mendengar kata CPU tidak jarang orang
mengasumsikan sebagai “otak” yang dimiliki komputer. Sebagai “otak”, CPU
mengatur proses yang terjadi di dalam komputer seperti memindahkan data,
menonton video di Youtube, berselancar di internet, dan lain sebagainya. Definisi
atau penjelasan CPU sebelumnya tidak salah. CPU atau kepanjangannya central
processing unit adalah salah satu komponen perangkat keras pada komputer
yang bertanggung jawab dalam mengeksekusi instruksi dan memproses data. CPU
terdiri dari jutaan hingga milyaran transistor yang dapat dimanipulasi untuk
melakukan berbagai macam kalkulasi. Transistor ini berfungsi seperti saklar
yang menyambung dan memutuskan arus listrik. Jadi ketika transistor menyalurkan
arus listrik dapat dianalogikan seperti sedang menyalakan saklar lampu sehingga
lampu hidup, keadaan transistor ini biasa direpresentasikan dengan bilangan
biner 1. Sebaliknya ketika transistor dalam keadaan memutuskan arus listrik
direpresentasikan dengan bilangan biner 0. Jadi bisa dibayangkan dengan jutaan
hingga milyaran transistor di dalam sebuah CPU ada berapa banyak kalkulasi yang
bisa dilakukan?
“Otak” yang telah disebut sebelumnya di dalam CPU dinamakan core (inti). Di dalam sebuah CPU modern untuk desktop atau laptop umumnya memiliki core mulai dari 4 hingga 24 buah. Artinya dalam sebuah CPU terdapat 4 hingga 24 buah otak. Ukuran kecepatan otak-otak CPU dalam mengeksekusi instruksi dinamakan clock yang diukur dalam siklus gelombang per detik atau Gigahertz (GHz).
GPU bukan singkatan dari gosok pijat urut melainkan Graphics Processing Unit. GPU adalah perangkat keras khusus atau spesifik yang
didesain untuk memproses atau merender gambar dan video digital. GPU awal
mulanya adalah perangkat keras yang populer dalam grafika komputer dan gim.
Perkembangan lebih lanjut GPU digunakan untuk mempercepat proses kalkulasi di
bidang sains dan teknik seperti aliran turbulensi fluida pada sayap pesawat.
Selain itu GPU juga diterapkan untuk mempercepat proses kalkulasi pada training
model kecerdasan artifisial.
Perbedaan CPU dan GPU dapat dilihat dari karakteristik core. CPU memiliki jumlah core yang lebih sedikit dibandingkan dengan GPU. Namun core CPU memiliki kecepatan yang tinggi sedangkan GPU memiliki core dengan kecepatan yang lebih lambat yang didesain untuk pemrosesan paralel. Meskipun core GPU memiliki kecepatan yang lambat, GPU mampu membagi tugas yang kompleks menjadi ribuan tugas-tugas kecil yang diproses secara paralel oleh ribuan core GPU. Ilustrasi bagaimana CPU dan GPU bekerja memproses gambar ditunjukkan pada video berikut:
https://www.youtube.com/watch?v=8_ZTvG1WQxM
Beberapa platform yang dapat digunakan untuk pemrograman GPU diantaranya CUDA dari NVIDIA dan OpenCL dari Khronos Group. Sedangkan platform yang dapat digunakan untuk pemrograman CPU secara paralel adalah OpenMP. Dari platform-platform tersebut sekarang sudah banyak implementasinya menggunakan bahasa pemrograman Python seperti pyCUDA, pyOpenCL, dan pyOMP.
Tulisan ini saya akhiri dengan pertanyaan “Apakah GPU selalu lebih cepat daripada CPU untuk masalah kalkulasi yang sama?”
-Harmon-