tag CUDA

Bu sayfada CUDA etiketi ile işaretlenmiş 2 yapay zeka kavramını bulabilirsiniz.

CUDA (Compute Unified Device Architecture), NVIDIA tarafından 2006 yılında geliştirilen ve GPU'ları genel amaçlı hesaplama (GPGPU) için kullanmayı mümkün kılan paralel hesaplama platformu ve programlama modelidir. Grafik işleme birimlerinin binlerce çekirdeğini eş zamanlı olarak çalıştırma kapasitesini yapay zeka ve bilimsel hesaplamalar için açan bu teknoloji, modern derin öğrenmenin temel altyapısını oluşturur. CUDA, geleneksel CPU programlamadan temel bir paradigma değişikliği sunar. CPU'lar güçlü ancak sınırlı sayıda çekirdekle sıralı işlemler için optimize edilmişken; NVIDIA GPU'ları onlarca binden yüz binlerce CUDA çekirdeğiyle aynı anda binlerce işlem gerçekleştirebilir. Bu eşzamanlılık, matris çarpımı, konvolüsyon ve gradyan hesaplama gibi derin öğrenme operasyonlarını CPU'ya kıyasla 10–100 kat hızlandırır. CUDA'nın iş parçacığı hiyerarşisi üç katmandan oluşur: Temel birim olan iş parçacıkları (threads), bu iş parçacıklarını gruplandıran bloklar (blocks) ve blokları organize eden ızgaralar (grids). Bir CUDA çekirdeği (kernel) çağrıldığında GPU'da binlerce iş parçacığı eş zamanlı olarak çalışır; her blok içindeki iş parçacıkları paylaşılan belleği (shared memory) kullanarak birbirleriyle iletişim kurabilir. CUDA'nın bellek hiyerarşisi de performans açısından kritik rol oynar. Global bellek geniş kapasiteli (~80 GB/s bant genişliği) ancak yüksek gecikmeli; paylaşılan bellek ise blok başına ~100 KB kapasitesiyle SRAM hızında (~8 TB/s) çalışır. Verimli CUDA kodu, veri hareketini minimize ederek paylaşılan belleği akıllıca kullanır. Kaydediciler (registers), sabit bellek (constant memory) ve doku belleği (texture memory) ise erişim desenlerine göre optimize edilmiş ek bellek katmanları sunar. CUDA Toolkit, geliştiricilere nvcc derleyicisi, cuBLAS (lineer cebir), cuDNN (derin sinir ağları), cuFFT (Fourier dönüşümü) ve NCCL (çoklu GPU iletişimi) gibi optimize kütüphaneler sunar. Günümüzde FlashAttention ve TensorRT-LLM gibi araçlar CUDA kernellerini büyük dil modellerinin çıkarım aşaması için özelleştirerek LLM hızını 2–4 kat artırmaktadır. NVIDIA H100 gibi gelişmiş veri merkezi GPU'ları 16.896 CUDA çekirdeğine ek olarak FP16/BF16/INT8 matris işlemlerini 4–16 kat hızlandıran Tensor Core'lar içerir.

memory

CUDA (Compute Unified Device Architecture)

CUDA (Compute Unified Device Architecture), NVIDIA tarafından 2006 yılında geliştirilen ve GPU'ları genel amaçlı hesaplama (GPGPU) için kullanmayı mümkün kılan paralel hesaplama platformu ve programlama modelidir. Grafik işleme birimlerinin binlerce çekirdeğini eş zamanlı olarak çalıştırma kapasitesini yapay zeka ve bilimsel hesaplamalar için açan bu teknoloji, modern derin öğrenmenin temel altyapısını oluşturur. CUDA, geleneksel CPU programlamadan temel bir paradigma değişikliği sunar. CPU'lar güçlü ancak sınırlı sayıda çekirdekle sıralı işlemler için optimize edilmişken; NVIDIA GPU'ları onlarca binden yüz binlerce CUDA çekirdeğiyle aynı anda binlerce işlem gerçekleştirebilir. Bu eşzamanlılık, matris çarpımı, konvolüsyon ve gradyan hesaplama gibi derin öğrenme operasyonlarını CPU'ya kıyasla 10–100 kat hızlandırır. CUDA'nın iş parçacığı hiyerarşisi üç katmandan oluşur: Temel birim olan iş parçacıkları (threads), bu iş parçacıklarını gruplandıran bloklar (blocks) ve blokları organize eden ızgaralar (grids). Bir CUDA çekirdeği (kernel) çağrıldığında GPU'da binlerce iş parçacığı eş zamanlı olarak çalışır; her blok içindeki iş parçacıkları paylaşılan belleği (shared memory) kullanarak birbirleriyle iletişim kurabilir. CUDA'nın bellek hiyerarşisi de performans açısından kritik rol oynar. Global bellek geniş kapasiteli (~80 GB/s bant genişliği) ancak yüksek gecikmeli; paylaşılan bellek ise blok başına ~100 KB kapasitesiyle SRAM hızında (~8 TB/s) çalışır. Verimli CUDA kodu, veri hareketini minimize ederek paylaşılan belleği akıllıca kullanır. Kaydediciler (registers), sabit bellek (constant memory) ve doku belleği (texture memory) ise erişim desenlerine göre optimize edilmiş ek bellek katmanları sunar. CUDA Toolkit, geliştiricilere nvcc derleyicisi, cuBLAS (lineer cebir), cuDNN (derin sinir ağları), cuFFT (Fourier dönüşümü) ve NCCL (çoklu GPU iletişimi) gibi optimize kütüphaneler sunar. Günümüzde FlashAttention ve TensorRT-LLM gibi araçlar CUDA kernellerini büyük dil modellerinin çıkarım aşaması için özelleştirerek LLM hızını 2–4 kat artırmaktadır. NVIDIA H100 gibi gelişmiş veri merkezi GPU'ları 16.896 CUDA çekirdeğine ek olarak FP16/BF16/INT8 matris işlemlerini 4–16 kat hızlandıran Tensor Core'lar içerir.

arrow_forward
developer_board

Tensor Core (Tensor Çekirdeği)

Tensor Core, NVIDIA'nın 2017'de Volta mimarisiyle (V100) tanıttığı, matris çarpma-biriktirme (Matrix Multiply-Accumulate, MMA: D = A × B + C) işlemini tek saat döngüsünde gerçekleştiren özel donanım birimidir. Derin öğrenme modellerinin hem eğitimi hem çıkarımı dev matris çarpmalarından oluştuğu için bu birimler, modern yapay zekâ hesaplamasının fiili motoru konumundadır. Klasik CUDA çekirdekleri genel amaçlı skaler ve vektör işlemler için tasarlanmıştır; Tensor Core ise sabit işlevli bir matris motorudur. Bir warp (32 iş parçacığı), `wmma` API'si üzerinden 16×16 matrisleri 4×4 bloklara bölerek işler ve aynı hassasiyetteki FP32 CUDA hesabına kıyasla teorik tepe verimini kata katlar: FP16 modunda yaklaşık 8×, düşük bitli formatlarda çok daha fazlası. En kritik yetenek karma hassasiyettir (mixed precision): çarpma FP16, BF16 veya FP8 gibi kısa formatlarda yapılırken biriktirme FP32'de tutulur. Böylece bellek bant genişliği ihtiyacı yarıya iner, model doğruluğu büyük ölçüde korunur. PyTorch'ta `torch.autocast`, TensorFlow'da `tf.keras.mixed_precision` bu donanımı şeffaf biçimde devreye alır; cuBLAS, cuDNN ve TensorRT kütüphaneleri de arka planda Tensor Core kullanır. Nesil gelişimi hızlıdır: Volta FP16 ile başladı, Turing (2018) INT8/INT4 ekledi, Ampere (A100, 2020) TF32, BF16 ve 2:4 yapısal seyreklik getirdi, Hopper (H100, 2022) FP8 ve Transformer Engine ile LLM eğitiminin standardı oldu. Blackwell (B200/GB200, 2024) 5. nesil Tensor Core'larda FP4 ve FP6 formatlarını, 2. nesil Transformer Engine'i ve mikro ölçekleme (MX) veri tiplerini tanıttı; B200 tek başına FP4'te 9 PFLOPS'u aşan yoğun matris verimi sunar. 2026 itibarıyla GPT, Claude, Gemini ve Llama sınıfı modellerin eğitimi on binlerce Blackwell GPU'luk kümelerde, çıkarımı ise FP8/FP4 nicemlemeyle Tensor Core'lar üzerinde koşar; NVIDIA'nın Rubin mimarisi de 2026 yol haritasında aynı çizgiyi sürdürür.

arrow_forward