CUDA Çekirdekleri ile Tensör Çekirdekleri Arasındaki Fark Nedir? (Açıklandı) - All The Differences

 CUDA Çekirdekleri ile Tensör Çekirdekleri Arasındaki Fark Nedir? (Açıklandı) - All The Differences

Mary Davis

CUDA ve Tensor çekirdekleri Nvidia adlı bir şirket tarafından geliştirilen ürünlerdir. Peki CUDA çekirdekleri ve Tensor çekirdekleri nedir? CUDA'nın açılımı Compute Unified Device Architecture'dır. CUDA çekirdekleri GPU'larınızda, akıllı telefonlarınızda ve hatta Nvidia geliştiricilerinin söylediği gibi arabalarınızda bile mevcuttur.

CUDA çekirdekleri, yazılımın genel amaçlı işleme için belirli grafik işleme birimi (GPU) türlerinden yararlanmasını sağlayan paralel bir bilgi işlem platformu ve uygulama programlama arayüzüdür (API).

Yine Nvidia tarafından geliştirilen tensör çekirdekleri ise GPU'larda kullanılmaktadır. Tensör Çekirdekleri, karışık hassasiyetli hesaplamaya olanak tanıyarak, doğruluğu korurken verimi artırmak için hesaplamaları dinamik olarak uyarlar.

Basit bir ifadeyle, bu çekirdekler belirli hesaplamaları yapmak için bilgisayarınızdaki GPU'ların önemli bir parçasıdır. CUDA çekirdekleri iki sayıyı çarpmak ve başka bir sayıya eklemek için kullanılır.

Tensor çekirdeği ise aynıdır, ancak 4×4 matrislerle. Bu hesaplamalar temelde grafikleri sizin için daha hızlı oluşturuyor.

CUDA Nedir?

Nvidia tarafından geliştirilen ve 23 Haziran 2007'de piyasaya sürülen Compute Unified Device Architecture, kısaca CUDA, bir paralel hesaplama platformu ve uygulama programlama arayüzüdür (API).

Bu, yazılımın genel amaçlı işlem için belirli grafik işlem birimi (GPU) türlerini kullanmasını sağlar; bu yöntem GPU'larda genel amaçlı hesaplama (GPU) olarak bilinir.

CUDA, GPU'nun sanal komut setine ve hesaplama çekirdeklerinin yürütülmesi için paralel hesaplama öğelerine doğrudan erişim sağlayan bir yazılım katmanıdır. CUDA, C, C++ ve Fortran gibi farklı programlama dilleriyle çalışmak üzere geliştirilmiştir.

Farklı programlama dilleriyle çalışabilme özelliği, grafik programlamada daha gelişmiş bir beceri tabanına sahip olmanızı gerektiren Direct3D veya OpenGL gibi önceki API'lerden ayırırsak, paralel programlama uzmanlarının GPU kaynaklarından yararlanmasını kolaylaştırır.

CUDA'lı GPU, OpenMP, OpenACC, OpenCL ve ayrıca bu tür kodu CUDA'ya derleyebilen HIP gibi programlama çerçevelerini de destekler. CUDA için kullanılan ilk isim, Compute Unified Device Architecture'ın kısaltmasıydı. Ancak Nvidia daha sonra yaygın olarak kullanılan kısaltmayı bıraktı.

Güçlü bir Nvidia Grafik kartı GTX 1080 Ti

CUDA Hakkında Daha Fazla Bilgi

Özel bir bilgisayar işlemcisi olan grafik işlem birimi (GPU), gerçek zamanlı, yoğun hesaplama gerektiren 3D grafik iş yüklerinin ihtiyaçlarını karşılar.

2012 yılı civarında GPU'lar gelişti ve büyük bloklar için etkili veri işleme sağlayan son derece paralel çok çekirdekli sistemler haline geldi.

Büyük veri bloklarını paralel olarak işlerken bu tasarım, aşağıdaki gibi algoritmalar için genel amaçlı merkezi işlem birimlerinden (CPU'lar) daha üstündür:

  • kriptografik hash fonksiyonları
  • makine öğrenimi
  • moleküler di̇nami̇k si̇mülasyonlar
  • fi̇zi̇k motorlari
  • sıralama algoritmaları

CUDA Mimarisinin Şimdi ve Gelecekte Kullanım Alanları

  • 3D grafiklerin hızlandırılmış işlenmesi
  • Video dosyası formatlarının hızlandırılmış birbirine dönüştürülmesi
  • Hızlandırılmış şifreleme, şifre çözme ve sıkıştırma
  • Biyoinformatik, örn. NGS DNA dizileme BarraCUDA
  • Proteinlerin doğal konformasyonunu tahmin etmek gibi dağıtılmış hesaplamalar
  • Tıbbi analiz simülasyonları, örneğin CT ve MRI tarama görüntülerine dayalı sanal gerçeklik
  • Fiziksel simülasyonlar, özellikle akışkanlar dinamiği
  • Makine öğrenimi problemlerinde sinir ağı eğitimi
  • Yüz tanıma
  • email protected] gibi dağıtık hesaplama projeleri ve BOINC kullanan diğer projeler
  • Moleküler dinamikler
  • Kripto para madenciliği
  • Hareketten yapı (SfM) yazılımı

Tensör Çekirdeği Nedir?

Tensor Çekirdekleri adı verilen özel çekirdekler karışık hassasiyetli eğitime olanak tanır. Bu özel çekirdeklerin ilk nesli bunu birleştirilmiş çarpma-ekleme algoritması ile yapar. Bu, iki 4 x 4 FP16 matrisini 4 x 4 FP16 veya FP32 matrisine çarpmayı ve eklemeyi mümkün kılar.

Ayrıca bakınız: "Şimdi nasıl hissediyorsun?" vs. "Şimdi nasıl hissediyorsun?" - All The Differences

Nihai sonuç, yalnızca hafif bir hassasiyet kaybıyla FP32 olacaktır, karma hassasiyetli hesaplama, giriş matrisleri düşük hassasiyetli FP16 olsa bile bu şekilde belirtilir.

Pratikte bu, modelin nihai etkinliği üzerinde çok az etkisi olan hesaplamaları önemli ölçüde hızlandırır. Bu kapasite, daha sonraki mikro mimariler tarafından daha az hassas bilgisayar sayı temsillerine kadar genişletilmiştir.

İlk nesil V100'den başlayarak Volta mikro mimarisi ile tanıtıldı, her geçen nesilde yeni GPU mikro mimarileri ile daha fazla bilgisayar sayı hassasiyeti formatı hesaplama için kullanılabilir hale getirildi.

Takip eden bölümde Tensör Çekirdeklerinin kapasitesinin ve işlevselliğinin her mikro mimari neslinde nasıl değiştiğinden ve geliştiğinden bahsedeceğiz.

Titan V tarafından grafik olarak işlenmiş bir görüntü

Tensör Çekirdekleri Nasıl Çalışır?

Birinci Nesil:

Volta GPU mikro mimarisi, ilk nesil Tensor Çekirdekleri ile birlikte sunulmuştur. Bu çekirdekler, karışık hassasiyet ve FP16 sayı formatı ile eğitim yapmayı mümkün kılmıştır.

Bu, belirli GPU'lar için teraFLOP veriminde 12 kata kadar artış sağlayabilir. En üst seviye V100'ün 640 çekirdeği, önceki neslin Pascal GPU'larına göre performans hızında 5 kata kadar artış sağlar.

İkinci Nesil:

Turing GPU'ların piyasaya sürülmesiyle birlikte ikinci nesil Tensör Çekirdekleri tanıtıldı. Int8, Int4 ve Int1, daha önce FP16 ile sınırlı olan desteklenen Tensör Çekirdeği kesinlikleri listesine eklendi.

Karışık hassasiyetli eğitim prosedürleri sayesinde GPU'nun performans verimi Pascal GPU'lara kıyasla 32 kata kadar artmıştır.

Üçüncü Nesil:

Ampere GPU'daki mimari, FP64, TF32 ve bfloat16 hassasiyetleri için destek ekleyerek Volta ve Turing mikro mimarilerinin önceki ilerlemelerini genişletiyor.

Derin öğrenme eğitimi ve çıkarım faaliyetleri bu ekstra hassasiyetli formatlarla çok daha fazla hızlandırılır. Örneğin, TF32 formatı FP32'ye benzer şekilde işlev görürken aynı zamanda herhangi bir kodu değiştirmeden 20 kata kadar hızlanmayı garanti eder.

Ardından, sadece birkaç satır kodla, otomatik karışık hassasiyet uygulaması eğitimi 2 kat daha hızlandıracaktır.

Son derece hızlı çoklu GPU etkileşimlerini mümkün kılan üçüncü nesil NVLink, üçüncü nesil Ray Tracing çekirdekleri ve seyrek matris matematiği ile uzmanlaşma Ampere mikro mimarisinin diğer yönleridir .

Dördüncü Nesil:

Hopper mikro mimari tabanlı dördüncü nesil Tensör Çekirdeklerinin gelecekte piyasaya sürülmesi planlanmaktadır. Bir sonraki H100'de dördüncü nesil Tensör Çekirdekleri.

Mart 2022'de piyasaya sürülmesi beklenen FP8 hassas formatlarını işleyebilecek ve NVIDIA'ya göre devasa dil modellerini "önceki nesle göre şaşırtıcı bir şekilde 30 kat hızlandıracak."

Bir RTX ekran kartı, tensör çekirdekleri içerdiğinden grafikleri çok hızlı işlemek için kullanılır.

CUDA Çekirdekleri ve Tensör Çekirdekleri Arasındaki Fark

Tensör çekirdekleri şu anda Titan V ve Tesla V100 ile sınırlıdır. Her iki GPU'daki 5120 CUDA çekirdeği, GPU saati başına maksimum bir tek hassasiyetli çarpma-toplama işlemi (örneğin, fp32'de: x += y * z) kapasitesine sahiptir (örneğin, Tesla V100 PCIe frekansı 1.38Gz'dir).

Her tensör çekirdeği küçük matrisler için 4×4 küçük matrisler üzerinde çalışır. Bir GPU saati başına, her tensör çekirdeği bir matris çarpma-biriktirme işlemini tamamlayabilir.

Ayrıca bakınız: X264 ve H264 Arasındaki Fark Nedir? (Fark Açıklandı) - All The Differences

İki 4×4 FP16 matrisini çarpar ve akümülatörde (bu da bir fp32 4×4 matrisidir) ortaya çıkan 4×4 FP32 matrisini ekler.

Giriş matrisleri fp16 iken çarpma sonuçları ve akümülatör fp32 olduğundan, algoritma karışık hassasiyetli olarak bilinir.

Doğru terim muhtemelen sadece "4×4 matris çekirdekleri" olacaktır, ancak NVIDIA pazarlama ekibi "tensör çekirdekleri" kullanmayı tercih etti.

Tensör çekirdeklerinin kısaca tam açıklaması

GPU kartı CUDA çekirdekleri VRAM
GeForce GTX 1660 Ti 1536 6GB
GeForce GTX 1660 Süper 1408 6GB
GeForce GTX 1660 1408 6GB
GeForce GTX 1650 Süper 1408 4GB
GeForce GTX 1650 1024 ve 896 4GB
GeForce GTX 1060 3GB 1280 4GB
GeForce GTX 1650 1280 3GB
GeForce GTX 1060 6GB 768 6GB
GeForce GTX 1050 Ti (3GB) 768 4GB
GeForce GTX 1050 (2GB) 640 3GB
GeForce GTX 960 1024 2GB
GeForce GTX 950 786 2GB
GeForce GTX 780 Ti 2880 2GB
GeForce GTX 780 2304 3GB
GeForce GTX 750 Ti 640 2 GB
GeForce GTX 750 512 1GB veya 2 GB

CUDA çekirdekleri içeren GPU'lar

Sonuç

  • CUDA ve Tensor çekirdekleri, her ikisi de Nvidia adlı bir şirket tarafından geliştirilen ürünlerdir. CUDA, Compute Unified Device Architecture'ın kısaltmasıdır. Bu CUDA çekirdekleri GPU'larınızda, akıllı telefonlarınızda ve hatta arabalarınızda bulunur.
  • GPU'larda ise yine Nvidia tarafından geliştirilen tensör çekirdekleri kullanılmaktadır. "Tensör çekirdeği" adı verilen özel çekirdekler karışık hassasiyetli eğitime olanak sağlamaktadır. İlk nesil Tensör Çekirdekleri karışık hassasiyet ve FP16 sayı formatı ile eğitim yapmayı mümkün kılmıştır.
  • Bu, belirli GPU'lar için teraFLOP veriminde 12 kata kadar artış sağlayabilir. Int8, Int4 ve Int1, desteklenen Tensor Core hassasiyetleri listesine eklendi.
  • Karışık hassasiyetli eğitim prosedürleri sayesinde GPU'nun performansı 32 kata kadar artırılmıştır. Hopper mikro mimari tabanlı dördüncü nesil Tensor Çekirdeklerinin gelecekte piyasaya sürülmesi planlanmaktadır.

Diğer Makaleler

    Mary Davis

    Mary Davis, çeşitli konularda karşılaştırma analizi konusunda uzmanlaşmış bir yazar, içerik oluşturucu ve hevesli bir araştırmacıdır. Gazetecilik diplomasına ve bu alanda beş yıldan fazla deneyime sahip olan Mary, okuyucularına tarafsız ve doğrudan bilgi verme tutkusuna sahiptir. Yazma sevgisi gençken başladı ve başarılı yazarlık kariyerinin arkasındaki itici güç oldu. Mary'nin bulguları kolay anlaşılır ve ilgi çekici bir biçimde araştırma ve sunma becerisi, onu dünyanın her yerindeki okuyuculara sevdirdi. Mary yazmadığı zamanlarda seyahat etmekten, okumaktan ve ailesi ve arkadaşlarıyla vakit geçirmekten hoşlanır.