awesome-parallel-computing

Parallel computing library collection

A curated list of resources and libraries for building parallel computing systems

A curated list of awesome parallel computing resources

GitHub

683 stars
33 watching
66 forks
last commit: almost 2 years ago
distributed-computingdistributed-systemsheterogeneous-computingheterogeneous-parallel-programmingparallel-computingparallel-programming

Awesome Parallel Computing Resources / Software

CAF: An Open Source Implementation of the Actor Model in C++ 3,199 12 days ago
CGraph: A cross-platform DAG framework based on C++17 1,779 6 days ago
Chapel: A Programming Language for Productive Parallel Computing on Large-scale Systems
Charm++: A Parallel Programming Framework
Cilk Plus: C/C++ Extension for Data and Task Parallelism
Taskflow: A Modern C++ Parallel Task Programming Library 10,235 27 days ago
FastFlow: High-performance Parallel Patterns in C++ 286 9 days ago
Galois: A C++ Library to Ease Parallel Programming with Irregular Parallelism 315 6 months ago
Heteroflow: Concurrent CPU-GPU Task Programming using Modern C++ 100 almost 5 years ago
HPX: A C++ Standard Library for Concurrency and Parallelism 2,537 8 days ago
Intel TBB: Threading Building Blocks
Kokkos: A C++ Programming Model for Writing Performance Portable Applications on HPC platforms 2,003 10 days ago
MPICH: High-Performance Portable MPI
MPL: A message passing library
OmpSs: A task based programming model
OpenMP: Multi-platform Shared-memory Parallel Programming in C/C++ and Fortran
OpenMPI: A High Performance Message Passing Library
RaftLib: A C++ Library for Enabling Stream and Dataflow Parallel Computation 954 11 months ago
STAPL: Standard Template Adaptive Parallel Programming Library in C++
STLab: High-level Constructs for Implementing Multicore Algorithms with Minimized Contention
Transwarp: A Header-only C++ Library for Task Concurrency 623 over 1 year ago
UPC++: A C++ library that supports Partitioned Global Address Space (PGAS) programming
Workflow: C++ Parallel Computing and Asynchronous Networking Engine 13,133 10 days ago
Boost.Lockfree: Thread-safe and Lock-free Containers 125 6 days ago
ConcurrentQueue: A Fast Multi-producer Multi-consumer Lock-free Concurrent Queue in C++ 9,995 over 1 year ago
libcds: A C++ library of Concurrent Data Structures 2,566 about 1 year ago
Parallel-Hashmap: A Header-only Very Fast and Memory-friendly Hash Map 2,552 19 days ago
ReaderWriterQueue: A Fast Single-producer Single-consumer Lock-free Queue in C++ 3,743 5 months ago
xenium: A C++ library Providing Various Concurrent Data Structures and Reclamation Schemes 488 12 months ago
Boost.Fiber: A Framework for Userland-threads Programming and Scheduling 463 6 days ago
cppcoro: A Library for C++ Coroutines Abstractions for the Coroutines TS 3,424 11 months ago
Fiber Tasking Lib: A Library for Enabling Task-based Multi-threading using Fibers 936 8 months ago
coro-async: A lite C++ coroutine TS based networking library 37 almost 6 years ago

Awesome Parallel Computing Resources / Presentations

Concurrency in C++20 and Beyond A. Williams
Is Parallel Programming still Hard? P. McKenney, M. Michael, and M. Wong at CppCon 2017
The Speed of Concurrency: Is Lock-free Faster? Fedor G Pikus in CppCon 2016
Expressing Parallelism in C++ with Threading Building Blocks Mike Voss at Intel Webinar 2018
A Work-stealing Runtime for Rust Aaron Todd in Air Mozilla 2017
C++11/14/17 atomics and memory model: Before the story consumes you Michael Wong in CppCon 2015
The C++ Memory Model Valentin Ziegler at C++ Meeting 2014

Awesome Parallel Computing Resources / Learning Resources

C++ Concurrency in Action: Practical Multithreading Anthony Williams 2012
The Art of Multiprocessor Programming Maurice Herlihy 2012
Parallel Computing: Theory and Practice Umut A. Acar 2016
Parallel Computing Training Tutorials Lawrence Livermore National Laboratory
The Landscape of Parallel Computing Research: A View from Berkeley
Extreme Heterogeneity 2018: Productive Computational Science in the Era of Extreme Heterogeneity
Evaluation and Analysis of Dynamic Loop Scheduling in OpenMP
CS6290 High-performance Computer Architecture Milos Prvulovic and Catherine Gamboa at George Tech

Awesome Parallel Computing Resources / Datasets

HPEC Graph Challenge
PARRSEC Benchmark Suite for the Analysis of Multithreaded Programs
1024 Cores Dmitry Vyukov
Michael Wong's Standard on Parallelism and Programming Languages Michael Wong
Preshing on Programming Jeff Preshing
Sutter's Mill Herb Sutter
The Black Art of Concurrency Internal Pointers
IEEE Transactions on Parallel and Distributed Systems (TPDS)
Journal of Parallel and Distributed Computing
ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming (PPoPP)
ACM Symposium on Parallel Algorithms and Architectures (SPAA)
ACM/IEEE International Conference for High-performance Computing, Networking, Storage, and Analysis (SC)
HPC Asia
International Conference on Parallel Processing (ICPP)
International Conference on Supercomputing
IEEE International Parallel and Distributed Processing Symposium (IPDPS)
International Symposium on High-Performance Parallel and Distributed Computing
ISC High Performance

More related projects: