Pendahuluan
Dengan semakin populernya bidang-bidang seperti pembelajaran mendalam, pemodelan/rendering 3D, game VR, dan penambangan kripto, persyaratan komputasi modern telah meroket. Komponen perangkat keras yang bertugas menyediakan daya komputasi berkembang sebagai tanggapan atas permintaan. Evolusi ini mencapai titik di mana terkadang sulit untuk membedakan peran mereka dalam sistem komputer.
Artikel ini akan memberikan perbandingan komprehensif antara dua mesin komputasi utama - CPU dan GPU.
CPU Vs. GPU:Ikhtisar
Di bawah ini adalah ikhtisar poin utama perbandingan antara CPU dan GPU.
CPU | GPU |
---|---|
Sejumlah kecil inti yang lebih besar (hingga 24) | Jumlah yang lebih besar (ribuan) dari inti yang lebih kecil |
Latensi rendah | Troughput tinggi |
Dioptimalkan untuk pemrosesan serial | Dioptimalkan untuk pemrosesan paralel |
Dirancang untuk menjalankan program yang kompleks | Dirancang untuk perhitungan sederhana dan berulang |
Melakukan lebih sedikit instruksi per jam | Melakukan lebih banyak instruksi per jam |
Manajemen cache otomatis | Memungkinkan manajemen memori manual |
Efisien biaya untuk beban kerja yang lebih kecil | Hemat biaya untuk beban kerja yang lebih besar |
Apa itu CPU?
CPU (Central Processing Unit) atau prosesor utama mengeksekusi instruksi komputasi. Terlampir ke motherboard melalui soket CPU, CPU mendengarkan input dari program komputer atau periferal seperti keyboard, mouse, atau touchpad. Ini kemudian menafsirkan dan memproses input dan mengirimkan output yang dihasilkan ke periferal atau menyimpannya di memori.
Apa Itu GPU?
GPU (Graphics Processing Unit) adalah prosesor grafis khusus yang dirancang untuk dapat memproses ribuan operasi secara bersamaan. Aplikasi 3D yang menuntut membutuhkan tekstur paralel, mash, dan pemrosesan ringan untuk menjaga gambar tetap bergerak mulus di layar, dan arsitektur CPU tidak dioptimalkan untuk tugas tersebut. Tujuan asli dari GPU adalah untuk mempercepat rendering grafis.
Perbedaan Antara CPU dan GPU
Meskipun keduanya adalah chip pemrosesan berbasis silikon, CPU dan GPU berbeda secara signifikan dalam arsitektur dan aplikasi.
CPU Vs. Arsitektur GPU
CPU terdiri dari miliaran transistor yang terhubung untuk membuat gerbang logika, yang kemudian dihubungkan ke blok fungsional. Pada skala yang lebih besar, CPU memiliki tiga komponen utama:
- Satuan Aritmatika dan Logika (ALU) terdiri dari sirkuit yang melakukan operasi aritmatika dan logika.
- Unit Kontrol mengambil instruksi dari input dan meneruskannya ke ALU, Cache, RAM, atau periferal.
- Tembolok menyimpan nilai antara yang diperlukan untuk perhitungan ALU atau membantu melacak subrutin dan fungsi dalam program yang sedang dijalankan.
CPU dapat memiliki banyak inti dengan ALU, unit kontrol, dan cache mereka sendiri.
GPU terdiri dari komponen serupa, tetapi memiliki jumlah inti yang lebih kecil dan khusus yang jauh lebih besar. Tujuan dari beberapa inti adalah untuk memungkinkan GPU melakukan beberapa operasi komputasi paralel .
CPU Vs. Rendering GPU
GPU terutama dibuat untuk manipulasi grafis, yang menjelaskan mengapa mereka lebih unggul daripada CPU dalam kecepatan rendering. Bergantung pada kualitas masing-masing bagian perangkat keras, rendering GPU bisa sampai seratus kali lebih cepat daripada rendering CPU.
Namun, pengalaman rendering yang baik tidak hanya bergantung pada kecepatan. Misalnya, bekerja dengan visual 3D memerlukan beberapa tugas kompleks sambil menjaga data tetap sinkron. Dirancang untuk kompleksitas, CPU cenderung mengungguli GPU dalam rendering 3D karena GPU dirancang untuk melakukan tugas yang lebih sederhana dan mudah.
Selain itu, GPU terbatas pada memori kartu grafisnya (biasanya hingga 12 GB), yang tidak menumpuk dan tidak dapat dengan mudah diperluas tanpa menyebabkan kemacetan dan merusak kinerja. CPU menggunakan memori sistem utama, yang dapat diperluas dengan mudah dan mencapai 64 GB.
CPU Cache Vs. Tembolok GPU
CPU menggunakan cache untuk menghemat waktu dan energi yang dibutuhkan untuk mengambil data dari memori. Cache dirancang agar lebih kecil, lebih cepat, dan lebih dekat dengan komponen CPU lain daripada memori utama.
Cache CPU terdiri dari beberapa lapisan. Level yang paling dekat dengan inti hanya digunakan oleh inti itu, sedangkan lapisan terjauh dibagi antara semua inti CPU. CPU modern melakukan manajemen cache secara otomatis. Setiap lapisan memutuskan apakah bagian memori harus disimpan atau dibuang berdasarkan frekuensi penggunaan.
Memori lokal GPU secara struktural mirip dengan cache CPU. Namun, perbedaan yang paling penting adalah bahwa memori GPU memiliki arsitektur akses memori yang tidak seragam. Hal ini memungkinkan pemrogram untuk memutuskan bagian memori mana yang akan disimpan di memori GPU dan mana yang harus dikeluarkan, sehingga memungkinkan pengoptimalan memori yang lebih baik.
CPU Vs. Pembelajaran Mendalam GPU
Pembelajaran mendalam adalah bidang di mana kinerja GPU jauh lebih baik daripada CPU. Berikut ini adalah faktor penting yang berkontribusi pada popularitas server GPU dalam pembelajaran mendalam:
- Bandwidth memori - Tujuan awal GPU adalah untuk mempercepat rendering 3D tekstur dan poligon, sehingga mereka dirancang untuk menangani kumpulan data besar. Cache terlalu kecil untuk menyimpan jumlah data yang berulang kali diproses oleh GPU, sehingga GPU memiliki bus memori yang lebih lebar dan lebih cepat.
- Kumpulan data besar - Model pembelajaran mendalam membutuhkan kumpulan data yang besar. Efisiensi GPU dalam menangani komputasi yang membutuhkan banyak memori menjadikannya pilihan yang logis.
- Paralelisme - GPU menggunakan paralelisme utas untuk memecahkan masalah latensi yang disebabkan oleh ukuran data - penggunaan beberapa utas pemrosesan secara bersamaan.
- Efisiensi biaya - Beban kerja jaringan saraf yang besar membutuhkan banyak daya perangkat keras. Untuk tujuan ini, sistem berbasis GPU menawarkan lebih banyak sumber daya secara signifikan dengan lebih sedikit uang.
CPU Vs. Penambangan GPU
Sementara penambangan GPU cenderung lebih mahal, GPU memiliki tingkat hash yang lebih tinggi daripada CPU. GPU mengeksekusi hingga 800 kali lebih banyak instruksi per jam daripada CPU, membuatnya lebih efisien dalam memecahkan masalah matematika kompleks yang diperlukan untuk menambang. GPU juga lebih hemat energi dan lebih mudah dirawat.
Bagaimana CPU dan GPU Bekerja Bersama?
Saat membandingkan keduanya, penting untuk dipahami bahwa GPU dirancang untuk melengkapi CPU, bukan untuk menggantikannya. CPU dan GPU bekerja sama untuk meningkatkan jumlah dan kecepatan data yang diproses.
GPU tidak dapat menggantikan CPU dalam sistem komputer. CPU diperlukan untuk mengawasi pelaksanaan tugas pada sistem. Namun, CPU dapat mendelegasikan beban kerja berulang tertentu ke GPU dan membebaskan sumber dayanya sendiri yang diperlukan untuk menjaga stabilitas sistem dan program yang sedang berjalan.