WebAssembly üzerinde NumPy OpenBLAS desteğiyle hızlandı
Öne çıkanlar
- NumPy, Emscripten-forge üzerinde OpenBLAS 0.3.34 ile WebAssembly SIMD desteğine kavuştu.
- 1024 boyutlu matris çarpımlarında float32 verilerinde 30,92 kat hız artışı elde edildi.
- Deneysel OpenBLAS 0.3.35 ve Relaxed SIMD ile matris hızlanması 64,89 kata kadar çıktı.
Emscripten-forge projesi, WebAssembly ortamındaki NumPy paketine OpenBLAS desteği ekleyerek tarayıcı içi bilimsel hesaplama performansını artırdı. Önceden hızlandırılmış bir BLAS kütüphanesinden yoksun çalışan NumPy, matris çarpımlarında önbellek ve SIMD optimizasyonu bulunmayan standart döngülere dayanıyordu. Yeni yayımlanan kararlı sürümle birlikte OpenBLAS 0.3.34 kütüphanesine bağlanan sistem, 1024 boyutlu kare matris çarpımlarında float32 türünde yaklaşık 31 kat, float64 türünde ise 15 kat hızlanma sağladı.
WebAssembly için Fortran derleyicisi eksikliği, bilimsel kütüphanelerin tarayıcıya taşınmasında uzun süre temel bir engel oluşturdu. Flang üzerinde yapılan çalışmalar ve Emscripten uyarlamaları, OpenBLAS ve LAPACK paketlerinin derlenip WebAssembly ikili formatına bağlanmasını mümkün kıldı. Emscripten-forge altyapısı, Python tekerlekleri yerine conda paketleme modelini kullandığı için NumPy kütüphanesini yeniden derlemeden alt düzey matematik kütüphanelerini dinamik olarak güncellemeyi destekliyor.
Geliştirme aşamasındaki OpenBLAS 0.3.35 sürümü, QuantStack ekibinin sunduğu yeni SIMD çekirdekleriyle performansı daha da yukarı taşıdı. Deneysel kanalda sunulan Relaxed SIMD destekli yapı, destekleyen tarayıcılarda taban çizgiye kıyasla matris çarpımlarında 65 kata varan performans artışı kaydetti. Taşınabilir SIMD128 yapıları varsayılan olarak sunulurken, Relaxed SIMD özelliği Chrome ve Firefox gibi tarayıcılarda isteğe bağlı paket olarak test edilebiliyor.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.