ScholarGate
Asistan

GPU ve Hızlandırıcı Hesaplama

GPU ve hızlandırıcı hesaplama, genel amaçlı CPU'ların ulaşabildiğinin çok ötesinde veri-paralel iş yüklerini hızlandırmak için büyük ölçüde paralel çok çekirdekli işlemcilerden yararlanmaktadır.

PaperMind ile konu bulYakındaMakale ve konu bul
Tools & resources
Slaytları indir
Learn & explore
VideoYakında

Tanım

GPU ve hızlandırıcı hesaplama, yüksek verimli veri-paralel yürütme için optimize edilmiş özel çok çekirdekli işlemcilerin, bir ana bilgisayar-aygıt programlama modeli altında bir hesaplamanın paralelleştirilebilir kısımlarını boşaltmak ve hızlandırmak amacıyla kullanılmasıdır.

Kapsam

Bu konu, grafik işlem birimlerinin ve diğer hızlandırıcıların verim odaklı, çok çekirdekli SIMD/SIMT makineleri olarak mimarisini; bunları hedefleyen programlama modellerini (CUDA, OpenCL ve direktif tabanlı yük boşaltma); iş parçacığı hiyerarşisi ve bellek hiyerarşisi soyutlamalarını (iş parçacıkları, warps, bloklar, ızgaralar; genel, paylaşımlı ve kayıt belleği); ve elde edilebilir verimi yöneten performans faktörlerini—doluluk (occupancy), bellek birleştirme (memory coalescing) ve ayrışma (divergence)—kapsamaktadır.

Temel sorular

  • Verim odaklı, çok çekirdekli hızlandırıcı modeli, genel amaçlı bir CPU'dan nasıl farklılaşmaktadır?
  • Hesaplamalar, bir iş parçacığı hiyerarjisi üzerinde büyük ölçüde paralel çekirdekler olarak nasıl ifade edilmektedir?
  • Hangi bellek ve yürütme davranışları—birleştirme (coalescing), ayrışma (divergence), doluluk (occupancy)—elde edilebilir performansı sınırlamaktadır?

Temel kuramlar

SIMT yürütme modeli
GPU'lar, eşzamanlı olarak (tek talimat, çoklu iş parçacığı) yürütülen warps adı verilen gruplara ayrılmış binlerce hafif iş parçacığını çalıştırmaktadır; performans, warps'ları meşgul tutmaya ve bir warp içindeki kontrol akışı ayrışmasını önlemeye bağlıdır.
Hiyerarşik iş parçacığı ve bellek modeli
CUDA, iş parçacıklarını bloklar ve ızgaralar halinde düzenlemekte ve kayıtlar, hızlı paylaşımlı bellek ve büyük genel bellekten oluşan bir bellek hiyerarşisi sunmaktadır; veri ve hesaplamayı bu hiyerarşiye eşlemek, merkezi performans görevidir.
Genel amaçlı GPU hesaplaması
Sabit işlevli grafik işlem hatlarından programlanabilir, genel amaçlı hızlandırıcılara evrilme, GPU'ları bilimsel ve veri yoğun hesaplama için ana akım bir platform haline getirmiştir.

Klinik önem

Hızlandırıcılar, modern hesaplama yoğun uygulamaların temelini oluşturmaktadır: derin öğrenme eğitimi ve çıkarımı, bilimsel simülasyon, görüntü ve sinyal işleme ve kriptografi, CPU'lara göre büyüklük mertebesinde hızlanmalar için GPU'lara güvenmektedir.

Tarihçe

GPU'lar, sabit işlevli grafik donanımından programlanabilir paralel işlemcilere evrilmiştir; Nickolls ve meslektaşları tarafından 2008'de tanımlanan CUDA'nın 2007'deki piyasaya sürülmesi, genel amaçlı GPU hesaplamasını erişilebilir kılmış ve hızlandırıcılar daha sonra yüksek performanslı ve makine öğrenimi hesaplamalarının merkezi haline gelmiştir.

Öne çıkan isimler

  • John Nickolls
  • Wen-mei Hwu
  • David Kirk
  • John Owens

İlgili konular

Temel eserler

  • nickolls2008
  • kirk2016
  • owens2008

Sıkça sorulan sorular

Bazı iş yükleri için GPU'lar neden CPU'lardan çok daha hızlıdır?
GPU'lar, transistörlerinin çok daha fazlasını aritmetik birimlere ayırmakta ve bellek gecikmesini gizlemek için binlerce iş parçacığı çalıştırmakta, tek iş parçacığı hızını toplam verimle takas etmektedir. Bu durum, onları düzenli, yüksek derecede veri-paralel işler için mükemmel kılarken, dallanmalı, gecikmeye duyarlı kodlar için pek uygun değildir.

Bu kavram için yöntemler

İlgili kavramlar