awesome-parallel-computing

A curated list of awesome parallel computing resources

GitHub

665 stars
31 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,178 5 days ago
CGraph: A cross-platform DAG framework based on C++17 1,719 18 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,091 12 days ago
FastFlow: High-performance Parallel Patterns in C++ 282 5 months ago
Galois: A C++ Library to Ease Parallel Programming with Irregular Parallelism 310 5 months ago
Heteroflow: Concurrent CPU-GPU Task Programming using Modern C++ 99 almost 5 years ago
HPX: A C++ Standard Library for Concurrency and Parallelism 2,516 12 days ago
Intel TBB: Threading Building Blocks
Kokkos: A C++ Programming Model for Writing Performance Portable Applications on HPC platforms 1,867 11 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 948 9 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 621 over 1 year ago
UPC++: A C++ library that supports Partitioned Global Address Space (PGAS) programming
Workflow: C++ Parallel Computing and Asynchronous Networking Engine 12,987 11 days ago
Boost.Lockfree: Thread-safe and Lock-free Containers 119 11 days ago
ConcurrentQueue: A Fast Multi-producer Multi-consumer Lock-free Concurrent Queue in C++ 9,837 over 1 year ago
libcds: A C++ library of Concurrent Data Structures 2,553 12 months ago
Parallel-Hashmap: A Header-only Very Fast and Memory-friendly Hash Map 2,483 14 days ago
ReaderWriterQueue: A Fast Single-producer Single-consumer Lock-free Queue in C++ 3,674 3 months ago
xenium: A C++ library Providing Various Concurrent Data Structures and Reclamation Schemes 483 11 months ago
Boost.Fiber: A Framework for Userland-threads Programming and Scheduling 455 about 1 month ago
cppcoro: A Library for C++ Coroutines Abstractions for the Coroutines TS 3,377 9 months ago
Fiber Tasking Lib: A Library for Enabling Task-based Multi-threading using Fibers 930 6 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