parallel programming

Introduction to Quagmire

Quagmire is an open source, parallel python module for modelling surface processes and landscape evolution. It comes from the Underworld geodynamics group and has many common design patterns to Underworld. For starters, this is not an out-of-the-box …

Multiprocessing in Python

Most of the codes I develop run in parallel using MPI (Message Passing Interface) using the python wrapper, mpi4py. There is a reason why highly scalable programs use this approach, and that is because each processor handles its own chunk of memory and communicates with other processors only when it’s needed. PETSc, for example, is a behemoth computing framework entirely written in the MPI computing philosophy. Despite MPI’s efficiency, there are some barriers: