CUDA ve MatrixFlash
Cihaz işaretçileri, fused çekirdekler ve GEMM köprüsü.
01Host / cihaz sınırı#
NEXUS_MODEL_WITH_CUDA cihaz fonksiyonlarını derler. Host Tensor otomatik taşınmaz. cudaMalloc, transfer, eşzamanlama, hata kontrolü ve cudaFree çağırana aittir. Bu API cihaz üstü backward sunmaz.
02Fused arayüzler#
Softmax max/exp/toplam/bölmeyi; LayerNorm ortalama/varyans/normalize/scale/shift’i birleştirir. Tüm işaretçiler cihaz belleği, rows/cols pozitif olmalıdır.
namespace nexus_model::cuda { void relu(const float* x,float* y,int n); void gelu_tanh(const float* x,float* y,int n); void fused_softmax(const float* x,float* y,int rows,int cols); void fused_layernorm(const float* x,const float* gamma, const float* beta,float* y,int rows,int cols,float eps);}03MatrixFlash köprüsü#
WITH_MATRIXFLASH açıkken bridge/matrixflash.hpp, matrix_pro::multiply için gemm(left,right) sunar. CPU GEMM NexusModel’dedir. Bu başlık Linear forward’u otomatik değiştirmez; tüketen hedef köprüyü açıkça kullanır.
04Ölçümün kapsamı#
GPU ölçümleri cihazda hazır verinin cudaEvent süresidir. Transfer, bellek ayırma, backward veya tam eğitim pipeline’ı değildir. GEMM benchmark doğrudan cuBLAS çağırır; NexusModel’in kendi GPU GEMM’i değildir.