[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