1 repository
Mechanisms for selecting the most efficient low-level implementation of a mathematical operation based on performance and accuracy targets.
Distinct from Algorithmic Performance Optimizations: Focuses on switching between specific kernel implementations (e.g., Winograd vs GEMM) rather than general complexity analysis.
Explore 1 awesome GitHub repository matching software engineering & architecture · Kernel Implementation Selection. Refine with filters or upvote what's useful.
oneDNN este o bibliotecă pentru accelerarea deep learning-ului care oferă blocuri de construcție optimizate pentru antrenarea și inferența rețelelor neuronale. Aceasta gestionează calculul tensorial pe hardware CPU și GPU, permițând execuția de primitive de înaltă performanță pentru antrenarea modelelor și optimizarea inferenței rețelelor neuronale. Proiectul se distinge prin optimizarea kernel-ului specifică hardware-ului și utilizarea compilării „just-in-time” pentru a viza seturi de instrucțiuni specifice ale procesorului. Suportă execuția rețelelor neuronale cuantizate folosind cuantizarea statică și dinamică pentru a reduce utilizarea memoriei și a crește throughput-ul. Biblioteca acoperă o gamă largă de capabilități, inclusiv primitive de deep learning precum convoluții, înmulțirea matricelor și execuția rețelelor neuronale recurente. Implementează optimizări avansate de performanță, inclusiv fuziunea operațiunilor, optimizarea grafului de calcul și gestionarea formatului memoriei. Integrarea este oferită printr-un ABI C stabil și un wrapper C++, cu suport pentru SYCL, OpenCL și biblioteci externe de algebră liniară. Sistemul include instrumente de observabilitate pentru profilarea performanței hardware, benchmarking-ul primitivelor și log-uri detaliate de execuție.
Selects between direct, Winograd, or implicit GEMM implementations to balance performance, memory, and numerical accuracy.