CPU ve SIMD
Çalışma zamanı dispatch ve vektör çekirdekleri.
01Yönerge seçimi#
Donanım özellikleri ve OS XCR0 denetlenir. AVX2 yolu FMA kullanır. NEXUS_MODEL_ENABLE_AVX512 açıkken AVX-512F kodu derlenir; ReLU ve dot, işlemci AVX-512 bildirirse o yola geçer. Ryzen 7 5800H üzerinde AVX-512 seçilmez. linear_forward, AVX-512 sarmalayıcısı dahil, bloklu AVX2 motorunu çağırır. Bu depodaki Linear karosu 6×16’dır. 21 Ekim 2026 akşamının rakip protokolünde duran GEMM çekirdeği avx2-4x16’dır.
02Skalar referans#
kernels::set_force_scalar(true) referans yolu, false otomatik seçimi açar. Derleyici skalar döngüyü yine vektörleştirebilir. Tablo seçimi atomiktir; tekrarlanabilir ölçümler için hesap sırasında değiştirmeyin.
#include <nexus_model/core/kernels.hpp>kernels::set_force_scalar(true);// Reference measurementkernels::set_force_scalar(false);03Derleme ve taşınabilirlik#
MSVC /arch:AVX2 ve /arch:AVX512; GCC/Clang -mavx2/-mfma ve -mavx512f kullanır. Release genelinde -march=native kullanılmaz; ISA bayrakları yalnız ilgili kaynak dosyalarına uygulanır.
04Ölçülen kazanç#
Linear [32,256]→[32,256] forward+backward süreleri 29 Eylül 2026 CPU tablosundadır. Bu belirli ölçümdür. 21 Ekim 2026 akşamı ayrı bir protokoldür: GEMM avx2-4x16, N=2048 Nexus 330/362/369 GFLOPS, TensorFlow 389. CPU Conv2d PyTorch 31.6 GFLOPS gerisindeydi; Nexus yaklaşık 4.9–6.8 GFLOPS. Depthwise AVX, PyTorch 4.93 ve TensorFlow 0.688 önündeydi. AVX-512 bu Ryzen’de seçilmez. Dünya sıralaması yoktur.