Useful links
VS Code
C++
Fortran
Python
Parallelization approaches
- OpenMP: C/C++/Fortran
- MPI: C/C++/Fortran
- mpi4py: Python, the documentation of mpi4py is not self-contained. It relies (silently) on the documentation of MPI.
- multiprocessing: Python
- concurrent.futures: Python
- dask: Python
HPC
- Georg Hager's blog
- SC20 tutorial “Node-Level Performance Engineering”: This is all about "When to parallelize, and what to do first".
Project management
-
wiptools: managing your Python/C++/Fortran project, helps with
-
creating new projects
- adding Python sub-modules, Python applications (CLIs), binary extension modules written in C++ and Fortran.
- automatically extracting documentation from the doc-strings of your files (html or pdf)
- (unit) testing (pytest)
- publishing the documentation on readthedocs
- publishing your code on the Python package index
- version management and control (on GitHub)