EMZETT.
Giriş yap

SIMD ve vektörleştirme

Kısaca: SIMD (“Single Instruction, Multiple Data”), tek bir CPU komutunun aynı anda birden çok değeri işlemesini sağlar.

Biraz daha ayrıntılı: Geniş bir yazmaç (128, 256 veya 512 bit) örneğin sekiz 32 bitlik sayı tutar. Tek bir toplama hepsini birden hesaplar. Bu, görüntü, ses ve matris hesaplarını büyük ölçüde hızlandırır.

Ayrıntılı

  • Komut kümeleri: x86’da SSE ve AVX, ARM’de NEON ve SVE, RISC-V’te RVV.
  • Otomatik vektörleştirme: Yinelemeler birbirinden bağımsızsa derleyiciler basit döngüleri kendileri SIMD koduna çevirir.
  • Elle: “Intrinsics” (özel işlevler) veya kütüphanelerle. Daha zahmetli ama denetlenebilir.
  • Frenler: Hizalanmamış bellek erişimi, döngü içi dallanmalar, veri bağımlılıkları, çok kısa döngüler.
  • İlgili: GPU’lar bu ilkeyi çok daha ileri taşır (SIMT). Bkz. YZ yongaları karşılaştırması.
  • Güç: Çok geniş birimler saati düşürebilir (bazı CPU’larda AVX-512 kısıtlaması).

Ayrıca bak: CPU yapısı