A curated list of awesome parallel computing resources. Please feel free to update this page through submitting pull requests or emailing me.
All the lists in this page are either in alphabetical order or chronological order.
- CAF: An Open Source Implementation of the Actor Model in C++
- CGraph: A cross-platform DAG framework based on C++17
- 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
- FastFlow: High-performance Parallel Patterns in C++
- Galois: A C++ Library to Ease Parallel Programming with Irregular Parallelism
- Heteroflow: Concurrent CPU-GPU Task Programming using Modern C++
- HPX: A C++ Standard Library for Concurrency and Parallelism
- Intel TBB: Threading Building Blocks
- Kokkos: A C++ Programming Model for Writing Performance Portable Applications on HPC platforms
- 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
- 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
- UPC++: A C++ library that supports Partitioned Global Address Space (PGAS) programming
- Workflow: C++ Parallel Computing and Asynchronous Networking Engine
- Boost.Lockfree: Thread-safe and Lock-free Containers
- ConcurrentQueue: A Fast Multi-producer Multi-consumer Lock-free Concurrent Queue in C++
- libcds: A C++ library of Concurrent Data Structures
- Parallel-Hashmap: A Header-only Very Fast and Memory-friendly Hash Map
- ReaderWriterQueue: A Fast Single-producer Single-consumer Lock-free Queue in C++
- xenium: A C++ library Providing Various Concurrent Data Structures and Reclamation Schemes
- Boost.Fiber: A Framework for Userland-threads Programming and Scheduling
- cppcoro: A Library for C++ Coroutines Abstractions for the Coroutines TS
- Fiber Tasking Lib: A Library for Enabling Task-based Multi-threading using Fibers
- coro-async: A lite C++ coroutine TS based networking library
- 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
- 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
- CS6290 High-performance Computer Architecture - Milos Prvulovic and Catherine Gamboa at George Tech
- 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