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

688 stars
33 watching
67 forks
last commit: over 3 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,210almost 2 years ago
CGraph: A cross-platform DAG framework based on C++171,815almost 2 years 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 Library10,338almost 2 years ago
FastFlow: High-performance Parallel Patterns in C++288almost 2 years ago
Galois: A C++ Library to Ease Parallel Programming with Irregular Parallelism317over 2 years ago
Heteroflow: Concurrent CPU-GPU Task Programming using Modern C++100almost 7 years ago
HPX: A C++ Standard Library for Concurrency and Parallelism2,548almost 2 years ago
Intel TBB: Threading Building Blocks
Kokkos: A C++ Programming Model for Writing Performance Portable Applications on HPC platforms2,032almost 2 years 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 Computation955over 2 years 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 Concurrency623over 3 years ago
UPC++: A C++ library that supports Partitioned Global Address Space (PGAS) programming
Workflow: C++ Parallel Computing and Asynchronous Networking Engine13,291almost 2 years ago
Boost.Lockfree: Thread-safe and Lock-free Containers126almost 2 years ago
ConcurrentQueue: A Fast Multi-producer Multi-consumer Lock-free Concurrent Queue in C++10,134over 3 years ago
libcds: A C++ library of Concurrent Data Structures2,571almost 3 years ago
Parallel-Hashmap: A Header-only Very Fast and Memory-friendly Hash Map2,587almost 2 years ago
ReaderWriterQueue: A Fast Single-producer Single-consumer Lock-free Queue in C++3,800about 2 years ago
xenium: A C++ library Providing Various Concurrent Data Structures and Reclamation Schemes514almost 3 years ago
Boost.Fiber: A Framework for Userland-threads Programming and Scheduling465almost 2 years ago
cppcoro: A Library for C++ Coroutines Abstractions for the Coroutines TS3,448over 2 years ago
Fiber Tasking Lib: A Library for Enabling Task-based Multi-threading using Fibers939over 2 years ago
coro-async: A lite C++ coroutine TS based networking library37almost 8 years ago

Awesome Parallel Computing Resources / Presentations

Concurrency in C++20 and BeyondA. 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 BlocksMike Voss at Intel Webinar 2018
A Work-stealing Runtime for RustAaron Todd in Air Mozilla 2017
C++11/14/17 atomics and memory model: Before the story consumes youMichael Wong in CppCon 2015
The C++ Memory ModelValentin Ziegler at C++ Meeting 2014

Awesome Parallel Computing Resources / Learning Resources

C++ Concurrency in Action: Practical MultithreadingAnthony Williams 2012
The Art of Multiprocessor ProgrammingMaurice Herlihy 2012
Parallel Computing: Theory and PracticeUmut A. Acar 2016
Parallel Computing Training TutorialsLawrence 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 ArchitectureMilos 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 CoresDmitry Vyukov
Michael Wong's Standard on Parallelism and Programming LanguagesMichael Wong
Preshing on ProgrammingJeff Preshing
Sutter's MillHerb Sutter
The Black Art of ConcurrencyInternal 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: