-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
issm: install/benchmarking on gadi #20
Comments
This issue has been mentioned on ACCESS Hive Community Forum. There might be relevant details there: https://forum.access-hive.org.au/t/ice-sheet-model-install-and-benchmarking-on-gadi/912/4 |
The result of 5 minutes of googling: The Parallel Ice Sheet Model ( https://www.pism.io/docs/installation/spack.html Firedrake has a spack package https://github.com/firedrakeproject/firedrake-spack and also has Also note there are a bunch of open Not having to support python wrappers, at least in the first instance, makes building a lot simpler. |
The Center for Efficient Exascale Discretizations (CEED) project utilises spack and includes PETSc: https://ceed.exascaleproject.org/ceed-2.0/ And have spack configurations for eight different platforms, which is also of interest in seeing what is required in "real-world" scenarios to get stuff working. |
Thanks for that info @aidanheerdegen. How do we go about building ISSM using spack packages (i.e. petsc, triangle, m1qn3 and chaco)? Do you want me to do that or what would you like me to do? |
Hi @aidanheerdegen - just following up on my previous message. Are you able to provide guidance about where to install ISSM and how you'd like that to proceed? Thanks heaps |
Hi again @aidanheerdegen, we're planning to submit a group NCMAS that will involve ISSM modelling. I'd like to have some benchmarking done well in advance of that, if possible. Is there any updates on getting ISSM installed using spack? |
Sorry for the lack of a response @fmccormack. Can we catch up at the Workshop? I've roped in @angus-g to see if he can get the PetSc spack build working on |
Alright, I have think I've got things mostly working! Here's a summary of what I've done. Spack configurationI started off with a regular install of Spack, and Micael's COSIMA version of the Spack configuration files (https://github.com/COSIMA/spack-config/tree/main/config/system). I ended up making some tweaks to these files to suit my development needs. The whole reference repository is here: https://github.com/angus-g/gadi-spack/tree/master/config I think the most important and relevant changes were in
Intel oneAPI package modificationNext up is the issue of the MKL installation on Gadi being different to the paths expected by Spack (ACCESS-NRI/spack-config#1). For this, I just defined a package that inherits from the builtin PETSc buildThis was the starting point for most of this. The spec I ended up building was:
This builds with the latest Intel compiler and MKL, includes MUMPS and ScaLAPACK in PETSc (we also get METIS and SuperLU_DIST as default variants on the PETSc package). Referring to the ISSM packageJust to demonstrate how it's done, I added a simple ISSM package to my Spack repository (https://github.com/angus-g/gadi-spack/blob/master/gadi/packages/issm/package.py). This includes modified Configure invocation
I don't have any way of testing the build, but it did at least complete successfully and build an executable. |
@angus-g Nice work! I've used it to fix the MKL support in the COSIMA Spack instance. |
This is awesome @angus-g, thanks heaps. |
Thanks @angus-g - I'll have a look at this tomorrow and let you know how it goes! |
Awesome work @angus-g, thanks again. This is merged, so the next step is some instructions on how to set up a working spack configuration for @fmccormack and collaborators. There is an existing topic on the forum about an attempt I made to set up a shared spack configuration. It hasn't had any attention in some time, and needs to be reconfigured at the least, and probably redesigned. This is one of the things we've got on our list but it is a long list. I don't think this is necessarily how I'd suggest Felicity utilise spack, but it has a fair bit of useful information about what is required to configure spack for use at NCI. |
@aidanheerdegen Happy to install this in the COSIMA spack instance on gadi to make it available to the community. |
That is a very nice offer @micaeljtoliveira, and I'll leave it up to @fmccormack to say definitively yes or no, but I believe the intention was to do a number of compilations with different options/dependencies and do some benchmarking so it sounds like they'd like to do the building/installation themselves. Now it may be that how you've configured the COSIMA spack instance would be a good model to follow, indeed ACCESS-NRI may well do just that! :) |
I'm after an install of the Ice-sheet and Sea-level System Model (ISSM) on gadi.
ISSM is open source. Standard install requires autotools, cmake, and petsc, as well as triangle, chaco and m1qn3. Basic install instructions can be found in the user guide (https://issm.jpl.nasa.gov/files/userguide.pdf), and examples of configure scripts for different clusters can be found on the wiki (https://issm.ess.uci.edu/trac/issm/wiki). We wouldn't use the python or matlab wrappers (with-wrappers=no in configure script) when running on gadi.
I've had ISSM running in the past on gadi, but with more recent versions of ISSM I've had issues. A recent version of ISSM didn't compile with the system petsc modules, so I installed a local version of petsc. With this configuration the job would run, but occasionally no output would be written and there were no error messages. My postdoc Johanna was able to get the most recent version of ISSM installed with a system module of petsc (see attached "install_issm" script; you'll also need to export the variable $ISSM_DIR to be the install directory), but I haven't tested this build thoroughly. I'd be keen for advice on appropriate optimisation flags with this.
If the Underworld folks have advice on petsc builds and scaling that'd be great.
There are many different solver options for running ISSM (see examples in the attached paper), which are configured at the user end. Once we get an optimised build, I'd be very keen to perform benchmarking tests for parallel performance.
install_issm.txt
environment.txt
gmd-10-155-2017.pdf
The text was updated successfully, but these errors were encountered: