NOAA-GSL / ExascaleWorkflowSandbox

Other
2 stars 2 forks source link

Switch to GNU and add Spack-stack environment #38

Closed christopherwharrop-noaa closed 10 months ago

christopherwharrop-noaa commented 10 months ago

This PR replaces the Intel compiler and Intel MPI with the GNU compiler and OpenMPI. This saves space and avoids licensing issues. Additionally, a container for building a compatible spack-stack is added. This spack-stack container was created using basic spack-stack procedures as documented here and here but the spack.yaml file need to be tweaked slightly to enable compatibility with Flux. More specifically, the Spack spec for OpenMPI had to be modified to turn off static library support for the build so that Flux OpenMPI plugins would be built. This is why a custom container is added here rather than simply downloading the container from JCSDA's dockerhub. The resulting spack-stack container is used as a base layer and it's software stack is copied from /opt for use in our containers with Parsl and Flux.

christopherwharrop-noaa commented 10 months ago

Hi @NaureenBharwaniNOAA - Please take a look at this when you have time.

christopherwharrop-noaa commented 10 months ago

Thank you for the review. I will think about how to completely automate the generation of the spack-stack container, including creation of its Dockerfile so that we aren't saving copies of it. That will be a more sustainable path forward. The spack-stack container is a base layer needed to support building/running JEDI and UFS applications but its development is done by JCSDA, not us. Only problem is, I need to tweak it ever so slightly, which is why we can't just pull the container from JCSDA's dockerhub.