Space here to write up notes from the discussion session at the end
Spawn instead of fork?
Windows handling of processes expense
Windows running multiprocessing code in jupyter/ipython
Run inside if name=="main" block in scriptlet.
(See multiprocessing docs for windows environments.
Tricky to set up.(even if mpi4py can be imported - requires compiler that provide mpirun
Joblib - https://pypi.org/project/joblib/
FENICS - https://fenicsproject.org/
Dask - http://dask.pydata.org/en/latest/
Cython lets you interface with existing C-code (which could contain OpenMP/MPI etc) (No need to re-write it in 'Cython')
Also ctypes, CFFI etc.
F2PY - similar as above but for Fortran code (Python bindings/interface for Fortran code)
Other Fortran bindings:
F2X - https://github.com/DLR-SC/F2x
F90WRAP - https://github.com/jameskermode/f90wrap
Pyccel - https://github.com/pyccel/pyccel