Grafik işlemci biriminde genel amaçlı hesaplama

Grafik işlemci biriminde genel amaçlı hesaplama ya da sıkça kullanılan İngilizce kısaltmasıyla GPGPU, alışılagelmiş yöntemlerde merkezî işlem birimi (CPU) üzerinde yapılan hesaplamaların, alışılagelmiş yöntemlerde sadece grafik hesaplamalarını yapan bilgisayarın grafik işlemci birimi (GPU) üzerinde yapılmasıdır. Ekrana grafik çizilmesi işleminin doğası gereği (ekran üzerindeki pixellerin birbirlerini koşullandırmaması), modern grafik işlemcileri çok çekirdeklidir ve yüksek bir paralelliğin açığa çıkartılmasına olanak sağlayabilirler. Grafik işlemcisi üzerinde hesaplama yapılması; paralel doğadaki algoritmalarda çok ciddi performans artışları sağlayabilmektedir. Özellikle heterojen işlem teknikleriyle GPGPU ve diğer platformlar arası işbirliği sağlanıp çok daha etkin programlar yazılabilmektedir.

GPGPU Platformları

NVIDIA CUDA

CUDA (Compute Unified Device Architecture – Birleşik Hesap Cihazı Mimarisi) NVIDIA firması tarafından 2006 yılında NVIDIA GPU larda genel amaçlı hesaplama yapılmasına olanak sağlamak üzere tasarlanmış bir mimaridir. Linux, Windows ve Mac OSX üzerinde çalışabilen hem düşük seviyeli hem de yüksek seviyeli birer yazılım geliştirme arayüzü(API) NVIDIA tarafından sunulmaktadır. CUDA sadece NVIDIA GPU larda çalışması itibarıyla rakiplerinden farklı olsa da, 2012 yılı itibarıyla dünya üzerinde 300 milyondan fazla CUDA destekli GPU olduğu bilinmektedir.

OpenCL

OpenCL(Open Computing Language), Apple tarafından 2008 yılında kâr amacı gütmeyen teknoloji şirketleri birliği Khronos Group'a önerilen, kabul gördükten sonra spesifikasyonu pek çok şirketin katkılarıyla hazırlanan heterojen hesaplama platformudur. OpenCL; destekli grafik işlemcileri, genel amaçlı işlemciler ve FPGA ler gibi farklı platformlarda hesaplama yapılmasına olanak sağlar. OpenCL AMD, Intel, NVIDIA ve ARM tarafından desteklenmektedir.

DirectCompute

DirectCompute Microsoft tarafından yaratılan, DirectX 10 ve 11 de desteklenen bir GPGPU API sidir. 2012 Mayıs ayı itibarıyla yalnızca Windows Vista ve Windows 7 işletim sistemlerinde desteklenmektedir.

Dış bağlantılar

  • https://web.archive.org/web/20051214111850/http://www.gpgpu.org/
  • GPGPU Wiki
  • http://www.khronos.org/opencl/9 Ağustos 2011 tarihinde Wayback Machine sitesinde arşivlendi.
  • https://web.archive.org/web/20140106051908/http://www.nvidia.com/object/cuda_home_new.html
  • g
  • t
  • d
Genel
Koşutluk düzeyleri
Bit · Komut · Veri · Görev
İzlekler
Üst izlekleme · Yüksek izlekleme
Kuram
Amdahl yasası · Gustafson yasası · Karp-Flatt ölçütü · Yavaşlama · Hızlanma
Ögeler
İşlem · İzlek · Lif · PRAM · Buyruk penceresi · Dizi
Eşgüdüm
Çoklu işleme · Çoklu izlekleme · Bellek tutarlılığı · Ön bellek tutarlılığı · Engel · Eşzamanlılaştırma · Aşamalı uygulama denetimi
Programlama
Modeller (Gizli koşutluk · Açık koşutluk · Koşutzamanlılık)
Donanım
Flynn Sınıflandırması (SISD • SIMD • MISD • MIMD) · Boru hattı yöntemi · Çoklu işleme (Bakışımlı · Bakışımsız) · Bellek (NUMA · COMA · Dağıtık · Paylaşımlı · Dağıtık paylaşımlı) · SMT
MPP · Sayılüstü · Dizi işlemcisi · Süper bilgisayar · Beowulf
APIler
POSIX Threads · OpenMP · MPI · OpenCL · UPC · Intel İzlekleme Yapıtaşları · Boost.Thread · Evrensel Diziler · Charm++ · Cilk · CUDA · PVM
Sorunsallar
Olağanüstü koşutluk · Büyük Sorun · Yazılım durağanlığı  · Ölçeklenebilirlik  · Yarışma koşulları  · Deadlock  · Gerekirci algoritma
  • Kategori Kategori
  • Commons sayfası Paralel hesaplama