2 repository-uri
Development of multi-core execution models and libraries specifically for the C++ language.
Distinct from C++ Implementations: Candidates focus on general implementations or tutorials; this is the domain of building parallel primitives for C++.
Explore 2 awesome GitHub repositories matching programming languages & runtimes · C++ Parallel Programming. Refine with filters or upvote what's useful.
oneTBB este o bibliotecă și un framework de paralelism C++ conceput pentru a adăuga paralelism multi-core aplicațiilor. Oferă un model de paralelism bazat pe sarcini (task-based) care mapează sarcinile computaționale logice pe nucleele hardware disponibile, eliminând necesitatea gestionării manuale a thread-urilor. Biblioteca funcționează ca un instrument de scalare multi-core, utilizând șabloane generice pentru a scala operațiunile de paralelism de date pe procesoare, pentru performanță portabilă. Utilizează un framework bazat pe sarcini pentru a asigura distribuirea sarcinilor de lucru computaționale pe resursele hardware. Proiectul acoperă paralelismul cu memorie partajată, programarea sarcinilor multi-core și scalarea paralelismului de date. Utilizează un scheduler de sarcini de tip work-stealing, divizarea recursivă a intervalelor și echilibrarea dinamică a încărcării pentru a gestiona distribuția muncii pe nuclee la runtime.
Provides a comprehensive framework for implementing multi-core execution in C++ applications without manual thread management.
Thrust este o bibliotecă de calcul eterogen și o bibliotecă de șabloane C++ care oferă o colecție de șabloane de nivel înalt pentru executarea operațiunilor de date paralele. Acesta funcționează ca o bibliotecă de algoritmi paraleli concepută pentru a lucra pe diferite backend-uri hardware, inclusiv CPU-uri multicore și hardware GPU NVIDIA. Framework-ul utilizează o implementare header-only și o interfață de politică de programare generică pentru a abstractiza diferențele dintre modelele de memorie și execuție CPU și GPU. Acesta folosește o abstractizare a datelor bazată pe iteratori pentru a oferi o interfață uniformă pentru accesarea elementelor din RAM-ul gazdă și VRAM-ul dispozitivului. Biblioteca acoperă capabilități de procesare paralelă, inclusiv sortarea paralelă a datelor și procesarea de reducere agregată pentru calcularea valorilor pe seturi mari de date. Aceste operațiuni sunt gestionate printr-o bibliotecă de programare paralelă CUDA pentru calcul de înaltă performanță pe hardware GPU.
Enables high-performance C++ programming for data-parallel operations across heterogeneous hardware.