Ana içeriğe geç

Yan yana

CPUvsGPU

CPU ile GPU arasındaki fark nedir?

Güncellendi 2 dk okuma6 fark

Kısaca

CPU'da çeşitli ve sıralı işler için birkaç güçlü çekirdek vardır; GPU'da ise aynı işlemi çok sayıda veriye paralel uygulayan binlerce basit çekirdek vardır.

CPU

Merkezî İşlem Birimi

CPU (merkezî işlem birimi), program talimatlarını yürüten ve her yazılımın üzerinde çalıştığı aritmetik, mantık ve kontrol işlerini yapan işlemcidir.

CPU sayfasını oku

GPU

Grafik İşlem Birimi

GPU (grafik işlem birimi), binlerce küçük çekirdeğiyle aynı hesabı çok büyük veri üzerinde aynı anda yapan işlemcidir; grafik ve yapay zekâ için kullanılır.

GPU sayfasını oku

CPU ve GPU karşılaştırması

ÖzellikCPUGPU
ÇekirdeklerBirkaç ile birkaç düzine arası güçlü çekirdekBinlerce basit çekirdek
Tasarlandığı işÇeşitli, sıralı, dallanan işlerÇok veri üzerinde paralel olarak aynı işlem
BellekBüyük önbelleklerle sistem RAM'iAyrılmış yüksek bant genişlikli VRAM
Güçlü yanlarıİşletim sistemleri, veritabanları, uygulama mantığıGrafik, yapay zekâ, simülasyonlar, video kodlama
ProgramlamaHerhangi bir dilCUDA, shader'lar ya da PyTorch gibi kütüphaneler
RolBütün programı çalıştırır ve koordine ederYüksek oranda paralel kısımları hızlandırır

Fark, açıklamalı

CPU bir genel uzmandır. Çekirdekleri karmaşık ve hızlıdır; büyük önbellekleri, dal tahmini ve birçok talimatı sıra dışı (out of order) çalıştırma yeteneği vardır; bu yüzden işletim sistemlerinin, veritabanlarının, web sunucularının ve çoğu uygulama kodunun öngörülemeyen mantığını çok iyi ele alır. Tipik bir CPU'da birkaç tane ile birkaç düzine arasında çekirdek vardır.

GPU ise paralel işte bir uzmandır. Farklı veriler üzerinde aynı talimatları aynı anda çalıştıran binlerce küçük çekirdeği vardır; milyonlarca piksel çizmenin gerektirdiği de tam olarak budur. Kendi yüksek bant genişlikli belleği VRAM, bu çekirdekleri veriyle besler. Bu tasarım GPU'ları matris hesaplarında CPU'lardan çok daha hızlı yapar.

Modern yapay zekâyı GPU'ların çalıştırmasının nedeni budur. Sinir ağlarını eğitmek ve çalıştırmak çoğunlukla devasa matris çarpımlarıdır; bu yüzden PyTorch gibi framework'ler bu işi genellikle NVIDIA'nın CUDA platformu üzerinden GPU'lara gönderir. GPU'lar video kodlamayı, bilimsel simülasyonu ve kriptografiyi de hızlandırır; CPU ise programı koordine eder, veriyi hazırlar ve geri kalan her şeyi çalıştırır.

Sık yapılan bir yanlış, bir GPU'nun her programı hızlandırdığını düşünmektir. Çok dallanma, sıralı adım ya da küçük görev içeren kod CPU'da daha iyi çalışır; veriyi CPU ve GPU belleği arasında kopyalamak da zaman alır. İkisi birlikte çalışır: CPU programı çalıştırır, GPU yoğun paralel kısımları hızlandırır.

Hangisini kullanmalısınız?

CPU şu durumlarda doğru seçim:

  • Kodunuzda karmaşık mantık ve çok sayıda karar var.
  • Görevler küçük, çeşitli ya da sırayla çalışmak zorunda.
  • Web sunucuları ve veritabanları gibi genel yazılımlar çalıştırıyorsunuz.

GPU şu durumlarda doğru seçim:

  • Makine öğrenmesi modelleri eğitiyor ya da çalıştırıyorsunuz.
  • Grafik, video ya da büyük matrisler işliyorsunuz.
  • İş birçok özdeş ve bağımsız işleme bölünebiliyor.

Sık sorulan sorular

Yapay zekâ için neden GPU kullanılır?

Sinir ağları çoğunlukla milyonlarca bağımsız işleme bölünen matris çarpımlarıdır; bir GPU'nun binlerce çekirdeği de bunları aynı anda yapabilir.

GPU, CPU'nun yerini alabilir mi?

Hayır. Bir bilgisayarın işletim sistemini çalıştırmak ve işi koordine etmek için yine bir CPU'ya ihtiyacı vardır. GPU, belirli ve yüksek oranda paralel görevler için bir hızlandırıcıdır.

Tümleşik GPU nedir?

CPU ile aynı çipe yerleştirilmiş ve sistem belleğini paylaşan bir GPU'dur. Enerji tasarrufu sağlar ve gündelik grafikler için yeterlidir; harici GPU'lar ise oyunlar ve yapay zekâ için çok daha hızlıdır.

Daha fazla

Ayarlar