[petsc-dev] Docker images and NERSC's Shifter

Jed Brown jed at jedbrown.org
Sun Dec 9 18:38:23 CST 2018


The PETSc and FEniCS Dockerfiles and linked images here might be of
interest to anyone running at an HPC facility that supports NERSC's
Shifter.

  https://github.com/jedbrown/jedbrown-dockerfiles

IMO, Shifter is far superior to any other HPC deployment mechanism and
really should be supported everywhere. Using SLURM, it boils down to
running (once)

  shifterimg pull docker:jedbrown/petsc:latest

then

  sbatch --image docker:jedbrown/petsc:latest ...

with

  srun -n 64 shifter ./your-petsc-app

No need to futz with HPC build environments, modules, etc.  You can
build in the Shifter environment on a login node (see README).  If you
must use Python or other shared libraries, performance at scale is
better (https://docs.nersc.gov/development/shifter/overview/) than any
other low-hassle Python deployment technique.

Comments welcome.  I think we should consider automating the publishing
of nightly updates for 'maint' and 'master', perhaps with a few common
build configurations (int64, etc.).

You'll notice that the Dockerfiles have some manual repairs for
overzealous RPATH.  We should have a configure option to avoid RPATH,
and perhaps default to not using RPATH for any paths that don't need it
(i.e., those that are already managed by the system ldconfig).


More information about the petsc-dev mailing list