2 repository-uri
User-managed, low-latency caches within multiprocessors for high-speed data exchange between threads.
Distinct from Shared Memory Data Exchange: Distinct from Shared Memory Data Exchange: focuses on hardware-level scratchpad caches for thread blocks rather than inter-process communication.
Explore 2 awesome GitHub repositories matching data & databases · Scratchpad Memories. 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.
Provides user-managed or internal low-latency scratchpad memories for intermediate compute buffers.
Acest proiect servește drept resursă educațională cuprinzătoare pentru învățarea programării paralele și a calculului de înaltă performanță folosind unități de procesare grafică. Oferă îndrumări tehnice privind paradigmele fundamentale necesare pentru a descărca sarcinile intensive din punct de vedere computațional de la un sistem gazdă către acceleratoare hardware specializate. Materialele acoperă metodologiile de bază pentru gestionarea operațiunilor de date-paralele, inclusiv orchestrarea memoriei între spațiile gazdă și dispozitiv și organizarea firelor de execuție în grid-uri și blocuri structurate. Detaliază modelele de execuție necesare pentru a distribui sarcinile de lucru pe mai multe nuclee de procesare, permițând dezvoltatorilor să scaleze eficient aplicațiile intensive în date. Dincolo de implementarea de bază, resursa include practici de diagnosticare pentru analizarea metricilor de execuție și identificarea blocajelor de performanță. Oferă strategii pentru optimizarea execuției kernel-ului și depanarea erorilor logice în cadrul bazelor de cod concurente pentru a asigura un throughput și o eficiență maximă în mediile de calcul accelerate.
Provides a user-managed, low-latency cache within each multiprocessor to facilitate high-speed data exchange between threads.