GPU Hesaplama – Nedir?

GPU hesaplama veya hızlandırma hakkında bir şeyler duymaya devam ediyor, ancak ne anlama geldiklerinden emin değil misiniz? İşte bilmeniz gereken her şey.

GPU veya Grafik İşlem Birimleri, özellikle bilgisayar olmak üzere, bir görüntü veya diğerini üreten tüm elektronik devrelerde bulunur.

Erken grafik işlemcileri nispeten basitti. Ancak CPU'ları sınırlarının ötesine iten oyun, 3D animasyon ve video işleme görevlerinin ortaya çıkmasıyla birlikte, daha güçlü GPU'lar kurtarmaya gelmek zorunda kaldı.

Bu yeni GPU kartları, paralel yürütme avantajlarından yararlanmanın yollarını arayan farklı şirketler ve araştırmacılarla birlikte zaman içinde güç ve karmaşıklık içinde büyüdü. Bu gönderi size şimdiye kadar nasıl gittiğini gösteriyor.

GPU Nedir?

Bir GPU veya Grafik İşlem Birimi, görüntüleme için görüntülerin oluşturulmasına yardımcı olmak için verilerin işlenmesi için tasarlanmış özel bir devredir. Başka bir deyişle GPU, bilgisayar monitörü, akıllı telefon ekranı, oyun konsolları vb. gibi herhangi bir ekran yüzeyinde gördüğünüz görüntüleri oluşturan bir sistemdir.

GPU'lar başlangıçta belirli bir aygıt için ideal bir çıktı oluşturmak üzere grafik öğelerini bir araya getiren basit aygıtlardı. Ancak zamanla ve bilgisayar oyunlarının ortaya çıkmasıyla birlikte GPU'lar karmaşıklık ve güç açısından büyümeye başladı ve GPGPU or General Purpose Bilgisayar on GPUs.

GPU Hesaplama Nedir?

GPU computing or GPGPU is the use of a GPU for computation beyond graphics. This means using the GPUs embedded in a computer’s video card and originally intended for processing computer graphics for the computation of other types of data, such as scientific simulations, cryptocurrency mining, algebra computations, weather forecasting, neural networks, and so on.

GPU hesaplamanın bu evriminin nedeni, modern GPU sistemlerinin dağıtılmış paralel mimarisinden gelen grafik işleme birimlerinin etkileyici gelişiminden kaynaklanmaktadır.

Bilgisayarın CPU'su daha güçlü hale geldikçe ve daha karmaşık programları ve oyunları yönetebilir hale geldikçe, video kartı üreticileri de modern bilgi işlem ve 3D grafiklerdeki gelişmelere ayak uydurmaya çalıştılar. Nvidia açıkladı GeForce 256 1999'da dünyanın ilk GPU ekran kartı oldu ve her şey oradan gelişti.

GPU kartlarının CPU'lara göre en büyük avantajı, darboğazları ve CPU donmalarını önleyen, büyük veri görevlerini dağıtılmış, paralel bir şekilde işlemelerini sağlayan paralel işleme mimarisidir.

GPU Hesaplama Uygulamaları Nelerdir?

GPU hesaplama uygulamaları çoktur, işte bazı en iyi kullanımlara bir göz atın:

  1. Makine öğrenimi ve sinir ağları
  2. Bulanık mantık
  3. biyo-informatik
  4. Moleküler modelleme
  5. Video oluşturma
  6. geometrik hesaplama
  7. İklim Araştırması ve hava tahmini
  8. Astrofizik
  9. Kriptografi
  10. Bilgisayar görüşü
  11. Şifre kırma
  12. kuantum araştırması

GPU'ya Karşı CPU İşleme

GPU'lar ve CPU'lar dijital verileri işler, ancak bunu farklı şekillerde yaparlar. CPU veya merkezi işlem birimi, yüksek hızlarda seri işleme için tasarlanmıştır, GPU'lar ise çok daha düşük hızlarda paralel işleme için tasarlanmıştır. Elbette, bir CPU, çekirdek başına 2 iş parçacığı elde etmek için hiper iş parçacığı kullanabilir veya hatta düzinelerce çekirdeğe sahip olabilir, ancak bunlar temelde seri işlemcilerdir.

CPU'lar birkaç çekirdeğe sahip olabilirken, modern GPU'lar binlerce çekirdeğe sahiptir; örneğin, Nvidia GeForce RTX 3090 10K+ çekirdeğe sahip. Yine de CPU'lara göre bir avantaj elde etmek için verilerin, bir seferde binlerce görüntü içeren bir akışı işlemek gibi paralel işleme yeteneğine sahip olması gerekir.

GPU'lar ve ASIC'ler

ASIC, Uygulamaya Özel Tümleşik Devre anlamına gelir ve bu, yalnızca bir görevi gerçekleştirebileceği anlamına gelir - yani gerçekleştirmek için tasarlandığı görev. ASIC, sıfırdan geliştirilen ve inşa etmek için uzman donanım bilgisi gerektiren benzersiz bir makinedir. ASIC'ler, GPU'lardan daha iyi paralel işleme avantajları ve daha iyi verimlilik sundukları için kripto para madenciliğinde yaygın olarak kullanılır.

Ancak ikisi arasındaki en büyük fark, GPU'ların daha çok yönlü olmasıdır. Örneğin, GPU'ları kullanarak kolayca bir kripto para madenciliği teçhizatı oluşturabilirsiniz. Parçalar kolayca temin edilebilir ve madenciliği bitirdiyseniz, GPU kartını her zaman oyunculara veya diğer madencilere satabilirsiniz. Ancak ASIC'lerle, kullanılmış bir makineyi yalnızca diğer madencilere satabilirsiniz, çünkü onunla başka hiçbir şey yapamazsınız.

Kripto para madenciliğinin ötesinde, bir ASIC makinesine el koymak daha da zorlaşıyor çünkü bunlar toplu ürünler değil. Bu, her yerde bulabileceğiniz ve kolayca yapılandırabileceğiniz GPU sistemleriyle güçlü bir tezat oluşturuyor.

GPU'ya Karşı Küme Hesaplama

Tek bir GPU kartı, onu bağladığınız herhangi bir bilgisayara muazzam güç katan binlerce çekirdeğe sahipken, teorik olarak bilgisayar ana kartına kaldırabileceği kadar çok GPU kartı ekleyebilir ve işleme kapasitesini daha da artırabilirsiniz.

Öte yandan, bir bilgisayar kümesi, büyük bir bilgisayar - bir süper bilgisayar olarak işlev görmek için birbirine bağlanan birden çok bilgisayarı ifade eder. Ağdaki her bilgisayara düğüm denir ve çok çekirdekli bir CPU'nun yanı sıra bir veya daha fazla GPU kartına sahip olabilir.

Her kümenin, çalışan düğümlerini yönetmekten ve zamanlamaktan sorumlu olan ön bilgisayar olan bir ana düğümü olmalıdır. Ayrıca, sonuçları hesaplamak ve döndürmek için çalışan düğümlerine veri ve programlar tahsis eden bir yazılım da içerecektir.

GPU Hızlandırması ve Hiper İş Parçacığı

CPU aynı anda birden fazla görevi yerine getirmek üzere tasarlanmıştır ve bu nedenle çok yüksek hızlarda çalışır ve bu çoklu işlemler arasında işlem süresini planlar. Ancak, yoğun hesaplama gerektiren bir işlevle karşılaştığında, diğer işlemlere dönmeden önce döngüde biraz zaman harcayabilir. Bu genellikle bilgisayarın genel olarak yavaşlamasına ve daha kötü durumlarda sistemin tamamen donmasına neden olur.

Bilgisayar tasarımcıları, hiper iş parçacığı veya GPU hızlandırma kullanarak bu korkunç senaryodan kaçınabilir. Hiper iş parçacığı, tek bir CPU çekirdeğinin iki işleme iş parçacığı olarak işlev görmesine izin verir. Bu nedenle, bir iş parçacığı hesaplama yoğun bir döngüde yakalandığında, diğer iş parçacığı sistemi hala bir arada tutabilir.

Modern bilgisayarlar artık 2'den 4'e, 8, 16, 32 vb.'den çok sayıda çekirdeğe sahiptir. Ayrıca, hiper iş parçacığı özelliğine sahiptirler, bu nedenle 2 çekirdekli bir CPU 4 iş parçacığı sunar, 4 çekirdekli bir 8 iş parçacığı vb.

Çok çekirdekli CPU'larla hiper iş parçacığı, çoğu bilgi işlem sorununu çözecek, darboğazları önleyecek ve basit oyunlar, müzik prodüksiyonu ve küçük grafik, video ve makine öğrenimi projeleriyle en yüksek performansı sunacaktır. Ancak bundan daha fazla güce ihtiyacınız olduğunda, GPU genellikle doğru çözümdür.

GPU veya donanım hızlandırma, bir yazılım uygulamasının, CPU'yu boğmadan çok sayıda veriyi işlemek için GPU'nun paralel işlem gücünden yararlanma yeteneğidir. Birçok profesyonel uygulamanın iyi çalışması için GPU hızlandırmasına bağlıdır. Bunlara video ve animasyon tasarım/oluşturma programları, kodlayıcılar, kriptografi, büyük sinir ağları vb. dahildir.

GPGPU Programlama Temelleri

GPU'ların genel amaçlı programlanması başlangıçta DirectX ve OpenGL kütüphaneler. Ancak bunlar yalnızca grafik geliştirme için tasarlandı, bu nedenle çalışmak için verilerinizi grafik benzeri modellerde yeniden amaçlamanız gerekiyordu.

Neyse ki, GPGPU'da yıllar içinde kütüphanelere, programlama dillerine ve çerçevelere yol açan büyük gelişmeler oldu. Bu çerçevelerin en popüleri Nvidia'dan CUDA'dır.

CUDA, herhangi bir geliştiricinin klasik GPU programlamanın temel özelliklerini bilmesine gerek kalmadan GPU programlamaya dalmasını kolaylaştırır. Geliştirmeyi grafiklerin ötesinde geliştiren özellikler sağlar, hatta birçok ünite makine öğrenimine özel işlevler içerir.

Mevcut kitaplıklar, sıfırdan yeni GPU hızlandırmalı programlar oluşturmayı veya önceden yazılmış programları paralel işlemeye uyarlamayı da kolaylaştırır. Doğru kitaplığı seçersiniz, kodunuzu paralel döngüler için optimize edersiniz, yeniden derlersiniz ve hepsi bu kadar.

CUDA Çekirdekleri ve Akış İşlemcileri

Çoğu zaman, terimlerle karşılaşacaksınız Cuda çekirdekleri ve akış işlemcileri. Her iki terim de basitçe GPU çekirdeğini veya Aritmetik Mantık Birimleri bir GPU'nun. CUDA Core, Nvidia'nın tescilli bir teknolojisidir, Stream işlemcileri ise AMD'dendir.

Karşılaşabileceğiniz başka bir terim, Akış Çok İşlemcili veya SM'dir. Bu, başlangıçta SM başına 8 CUDA çekirdeğini gruplandıran başka bir Nvidia teknolojisidir. Komut başına 32 saat döngüsü kullanarak bir seferde 4 iş parçacıklı çözgüler yürütür. Daha yeni tasarımlar artık akışlı çok işlemcili başına 100'den fazla çekirdeğe sahiptir.

En İyi GPU Dilleri ve Kitaplıkları

Hem Nvidia CUDA hem de AMD platformlarında çalışan çok sayıda kütüphane ve dil var. Aşağıdakiler sadece birkaçıdır:

  1. Nvidia cuBLAS'ı – CUDA için temel lineer cebir alt programları
  2. cuDNN – Derin sinir ağları kütüphanesi
  3. OpenCL – Paralel programlama için açık standart
  4. Openmp – AMD GPU'lar için
  5. KALÇA – C++ kütüphanesi
  6. Nvidia curRAND – Rastgele sayı üretimi
  7. cFFT – Hızlı Fourier dönüşümü için
  8. Nvidia nükleer santrali – 2D görüntü ve sinyal işleme
  9. GPU VSIPL'i – Vektör görüntü ve sinyal işleme
  10. OpenCV – Bilgisayarla görü için GPU kitaplığı
  11. ACC'yi aç – Paralel gelişim için dil
  12. PyCUDA – CUDA platformu için Python
  13. TensorRT – CUDA için derin öğrenme
  14. CUDA C++ – CUDA için C++ dili
  15. CUDA-C – CUDA için C dili
  16. CUDA Fortran – FORTRAN geliştiricileri için CUDA

En İyi GPU Küme Projeleri

Haziran 2022 itibariyle dünyanın en hızlı 8 süper bilgisayarından 10'i GPU hızlandırmalı. Hepsi de Linux işletim sistemini paylaşır ve aşağıdaki gibidir:

SIRALAMANamepetaflopCPU ÇekirdeğiGPU ÇekirdekleriGüç (kW)Yıl
1.Sınır1,102591,8728,138,24021,1002022
2.LUMİ151.9075,2641,034,8802,9002022
3.Zirve148.6202,7522,211,84010,0962018
4.Dişli doruk94.64190,0801,382,4007,4382018
5.Perlmutter64.59N / AN / A2,5892021
6.Selene63.4671,680483,8402,6462020
7.Tianhe-261.445427,0084,554,75218,4822013
8.Astra ilanı46.121,632297,4409212022

Sonuç

GPU hesaplamaya ve onunla birlikte gelen her şeye bu dalışın sonuna geldiğinizde, şimdiye kadar gücü ve kapsamı hakkında bir fikir edinmiş olmalısınız.

Daha fazla bilgi için geliştirici platformuna göz atabilirsiniz. Nvidia burada ya da AMD burada.

Nnamdi Okeke

Nnamdi Okeke

Nnamdi Okeke, çok çeşitli kitapları okumayı seven bir bilgisayar meraklısıdır. Windows/Mac yerine Linux tercihi var ve
Ubuntu ilk günlerinden beri. Onu twitter üzerinden yakalayabilirsiniz. bongotrax

Makaleler: 278

Teknik malzeme alın

Teknoloji trendleri, başlangıç ​​trendleri, incelemeler, çevrimiçi gelir, web araçları ve pazarlama ayda bir veya iki kez

Yorum bırak

E-posta hesabınız yayımlanmayacak. Gerekli alanlar işaretlenmişlerdir. *