SON DAKİKA

Nvdia

NVIDIA cuBLAS 12.9 ile Matris Çarpım Hızını ve Esnekliğini Artırma

NVIDIA’nın CUDA-X Matematik Kütüphaneleri, geliştiricilerin yapay zeka, bilimsel hesaplama, veri işleme ve daha fazlası için hızlandırılmış uygulamalar oluşturmasına yardımcı olmaktadır.

CUDA-X kütüphanelerinin en önemli iki uygulaması, büyük dil modellerinin (LLM) eğitimi ve çıkarım işlemleridir. Bu modeller, günlük tüketici uygulamalarından ilaç keşfi gibi yüksek uzmanlık gerektiren bilimsel alanlara kadar geniş bir yelpazede kullanılmaktadır. Birden fazla CUDA-X kütüphanesi, LLM’leri etkili bir şekilde eğitmek ve çıkarım görevlerini gerçekleştirmek için NVIDIA Blackwell mimarisi üzerinde çığır açan performans sunuyor.

cuBLAS, temel lineer cebir işlemlerini gerçekleştirmek için yüksek derecede optimize edilmiş çekirdekler sunan bir CUDA-X kütüphanesidir. Bu işlemler, LLM eğitimi ve çıkarımında kritik bir öneme sahiptir.

NVIDIA CUDA Toolkit 12.9 ile birlikte gelen yeni cuBLAS, matmul performansını daha da optimize eden yeni özellikler içermektedir. Ayrıca, emülasyon yapı taşlarını kullanarak floating point hassasiyetini ayarlayarak, doğruluk ve enerji verimliliği gibi ihtiyaçlar arasında daha fazla esneklik sağlamaktadır.

Bu yazıda cuBLAS 12.9’un sunduğu yeni özellikler incelenecektir:

  • Hopper GPU’lar için yeni FP8 ölçekleme şemaları sunarak, esneklik ve performans sağlar.
  • FP4 ve FP8 matmuls için NVIDIA Blackwell beşinci nesil Tensor Core’larla birlikte kullanılan blok ölçeklemeyi getirir.
  • FP4 dahil olmak üzere çeşitli hassasiyetlerde matmul performansını artırır; FP4 matmuls, Blackwell ve Hopper GPU’larda FP8 matmuls’a göre 2.3x ve 4.6x hızlanma sağlar.
  • Blackwell BF16 tensor çekirdekleri ile FP32 emülasyonunu mümkün kılarak, matmuls’ları Blackwell ve Hopper native FP32 matmuls’a göre 3x ila 4x daha hızlı çalıştırırken enerji verimliliğini artırır.

Yenilikçi FP8 Ölçme ve Ölçekleme Yöntemleri

Ölçekleme, dar veri türleri (örneğin FP8) ile gerçekleştirilen matmulların doğruluğunu sağlamada temel bir faktördür. Önceki cuBLAS sürümleri, NVIDIA Hopper ve NVIDIA Ada GPU’larında FP8 için tensör-genel ölçekleme (tek bir ölçek faktörü) sağlamıştır. Ancak, cuBLAS 12.9, Hopper GPU’larında bir dizi yeni ölçekleme şemasını desteklemektedir.

Bu yeni yöntemlerden ilki, channel-wide ya da dış vektör ölçekleme olarak bilinir. Bu yöntemde, A[MxK] matrisinin belirli satırlarına ve B[KxN] matrisinin belirli sütunlarına tek bir ölçek faktörü uygulanabilmektedir. Ayrıca, K boyutunda yer alan her 128-öğeli 1D blok veya 128×128 2D bloka ölçekleme uygulamak mümkündür.

1D blok kullanmak, daha iyi doğruluk sağlar, 2D bloklar ise daha yüksek performans sunar. cuBLAS, A ve B matrisleri için farklı ölçekleme modlarını (1D x 1D, 1D x 2D ve 2D x 1D) desteklemektedir.

Farklı boyutlarda büyük matmullar için yapılan bir benchmark, çeşitli FP8 ölçekleme şemalarının sağladığı hızlandırmanın %75 oranında daha fazla performans sunabildiğini göstermektedir.

FP4 ve FP8 Üzerinde Blok Ölçekleme Yöntemleri

NVIDIA Blackwell Tensor Cores, FP4 ve FP8 eşit boyutlu 1D blok ölçekleme türlerini yerel olarak desteklemektedir. Bu yöntem, her blok içindeki değerlerin daha hassas bir şekilde temsilini mümkün kılmakta ve tek bir küresel ölçek faktörü kullanmaya kıyasla genel doğruluğu artırmaktadır.

cuBLAS 12.9, cuBLASLt API’leri aracılığıyla bu yeni hassasiyetleri kullanarak matmullar gerçekleştirmektedir:

  • `CUDA_R_4F_E2M1`: 16-element bloklarla `CUDA_R_UE4M3` ölçekleri ile matmullar içerir. Ölçekleme türü, işaretin yok sayıldığı bir `CUDA_R_E4M3` varyantıdır. API örneğine buradan ulaşabilirsiniz.
  • `CUDA_R_8F` varyantları: 32-element bloklarla `CUDA_R_UE8` ölçekleri ile matmullar içerir. Bu tür, işaret ve mantissa bitleri olmadan FP32 olarak düşünülebilir. API örneğine buradan ulaşabilirsiniz.

cuBLAS 12.9 Performansı ve Gelecek

cuBLAS 12.9 ile birlikte, Blackwell GPU’larının sunduğu olağanüstü performansı kullanabilirsiniz. FP4 blok ölçekleme, Blackwell mimarisinde %4.6 daha hızlı matmullar gerçekleştirirken, Hopper GPU’ları üzerindeki FP8 temelinde %2.2 kadar hız avantajı sunmaktadır.

Blackwell mimarisi, bu performansı daha da artırmak için heuristics API ve otomatik ayarlama yöntemi ile optimize edilebilir.

Ayrıca, FP32 matmurların hızlandırılması amacıyla BF16 tensor çekirdekleri ile emülasyon özelliği de sunulmaktadır. En büyük matris boyutlarında, emülasyon ile %3 ila %4 oranında daha fazla performans elde edilebilir.

DAHA FAZLA BİLGİ İÇİN, cuBLAS 12.9 sürümünü indirerek uygulamalarınızı hızlandırmaya başlayabilirsiniz. Buna ek olarak, cuBLAS belgelerine de başvurabilirsiniz.

Ayrıca, NVIDIA GTC 2025 etkinliğinde Matematik Kütüphanelerinin Uygulamalarınızı Hızlandırmaya Nasıl Yardımcı Olabileceği konulu bir sunum da mevcut.

Kaynak

Nvdia Blog

Düşüncenizi Paylaşın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgili Teknoloji Haberleri