Simple shared memory (pthreads, OpenMP) and distributed memory (MPI) parallelizations of a finite difference solver.