-
Notifications
You must be signed in to change notification settings - Fork 2
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
Initial software: Myriad packages #49
Comments
On Myriad, continuing from existing site with compilers only installed:
Looking at adding these to the environment
(want them all to be 1.16 or we get two htslibs, since samtools 1.16.1 wants htslib 1.16). |
Fun times, ran into spack/spack#35197 with gzip as an htslib dependency. Works if you get it to use gzip 1.13 instead with |
gzip is updated in develop branch (https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/gzip/package.py). Need to work out what exactly we do to make sure we include that version here when creating a new environment. Add to local specs? |
Since gzip 1.12- is deprecated, the resolver should basically only consider packages:
gzip:
require: "@1.13:" |
It is only deprecated in the develop branch though - so we won't see that in 0.20 unless we do something to make sure we get that version of the package.py. |
So you wouldn't have |
Yeah. We will need to solve this in the more general case for anything else where we need to alter the package.py for whatever reason. Which is why I was thinking of a local package location too as part of this repo, where new packages and altered packages go. |
It'll look through the repos in order, so we put ours first and it'll get gzip from there. On updating the version of Spack we are pinned to, we would need to check whether we should remove packages from our own repo to return to using Spack's ones. |
[email protected] depends on python and at least a few packages :sadface: Didn't want to mess with python yet, might have to. Actually, this might be fine, we just wouldn't have created our view and associated module yet. |
James started a local repo as |
Added to Right now, in my site created without that addition:
|
vcftools: already have all the dependencies but need to update the versions available, get from develop
|
|
Looked at |
HDF5: we currently have a serial version with fortran and cxx enabled and an mpi version with fortran enabled. (We have an old serial+threadsafe install, but I think we can ignore this for now unless something else brings it in as a dependency).
|
NetCDF: we have netcdf with HDF5 (Spack calls it netcdf-c), netcdf-fortran, netcdf-c++. No mpi. |
Notes from end of yesterday: had some fun with hdf5 versions. (By default it will try to build with MPI on, even for a netcdf that specifies no mpi). I had tried installing these two and ended up with slightly different concretisations and so two different hashes:
The They were
This lets you see the difference:
It was
Let it go with the variants that netcdf uses. Uninstall the hash I don't want:
|
I think we can leave out netcdf-cxx/netcdf-cxx4 for now, as REPAST is the only thing we currently have that depends on it (netcdf-cxx, the legacy version). |
Current Spack has BEAST2 2.6.7, need to get 2.7.4 from develop. |
For this environment, I have changed my
This is because it is fine to have Java 11 and Java 17 installed if necessary, or different variants of a package when those are needed, and we do not need a view for all these packages together - it is not intended that someone automatically have them all in their environment at once. (A view requires that everything can be uniquely symlinked into the view directory). |
Here's the list of everything I added to this environment (which needs recreating):
Anything not available in spack 0.20 comes from The only additional package needed is a version of alphafold. As per comment directly above, it needs this to allow two versions of Java to be installed.
@giordano will need to either create the concretised environment in his own space and we'll install the resulting .yaml as
We have not looked at the module files created yet - all of the above should have modules created for them as they are requested explicitly. Will need to check on LIBRARY_PATH, LD_LIBRARY_PATH for the libraries as they are likely to be wanted in external compilations. Need to check if anything else needs to be a top-level spec with a module generated. Like Java. |
A quick summary of my work so far:
This is a kind of provisional environment I got so far, but do not that I haven't attempted to rebuild all of it from scratch, in particular I haven't rebuilt anything with spack:
specs:
- matrix:
- - '[email protected]'
- '[email protected]'
- '[email protected]'
- '[email protected]'
- '[email protected]'
- '[email protected]'
- '[email protected]'
- '[email protected]'
- '[email protected] ^[email protected]'
- '[email protected] +cxx +fortran -mpi +hl'
- '[email protected] +fortran +mpi +hl'
- '[email protected] -mpi'
- '[email protected]'
- '[email protected]'
- '[email protected]'
- - '%[email protected]'
concretizer:
unify: when_possible
view: false
modules:
prefix_inspections:
lib: ["LD_LIBRARY_PATH", "LIBRARY_PATH"]
lib64: ["LD_LIBRARY_PATH", "LIBRARY_PATH"] |
Following discussion on Slack with @heatherkellyucl, I removed spack:
specs:
- matrix:
- - '[email protected]'
- '[email protected]'
- '[email protected]'
- '[email protected]'
- '[email protected]'
- '[email protected]'
- '[email protected]'
- '[email protected]'
- '[email protected] +cxx +fortran -mpi +hl'
- '[email protected] +fortran +mpi +hl'
- '[email protected]'
- '[email protected] -mpi'
- '[email protected]'
- '[email protected]'
# - '[email protected]'
- '[email protected]'
- - '%[email protected]'
concretizer:
unify: when_possible
view: false
modules:
default:
tcl:
projections:
all: '{name}/{version}/{compiler.name}-{compiler.version}'
^mpi: '{name}/{version}-{^mpi.name}/{compiler.name}-{compiler.version}'
prefix_inspections:
lib: ["LD_LIBRARY_PATH", "LIBRARY_PATH"]
lib64: ["LD_LIBRARY_PATH", "LIBRARY_PATH"] The
For example: $ module show hdf5/1.14.1-2/gcc-13.1.0
-------------------------------------------------------------------
./hdf5/1.14.1-2/gcc-13.1.0:
module-whatis HDF5 is a data model, library, and file format for storing and managing data. It supports an unlimited variety of datatypes, and is designed for flexible and efficient I/O and for high volume and complex data.
module load pkgconf/1.9.5/gcc-13.1.0
module load zlib/1.2.13/gcc-13.1.0
prepend-path --delim : LD_LIBRARY_PATH /lustre/scratch/scratch/cceamgi/repo/hpc-spack/mg-initial-stack/spack/opt/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_p/linux-rhel7-skylake_avx512/gcc-13.1.0/hdf5-1.14.1-2-o2pm6juc4ewwe5wgj56ukyipf5w4ccuf/lib
prepend-path --delim : LIBRARY_PATH /lustre/scratch/scratch/cceamgi/repo/hpc-spack/mg-initial-stack/spack/opt/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_p/linux-rhel7-skylake_avx512/gcc-13.1.0/hdf5-1.14.1-2-o2pm6juc4ewwe5wgj56ukyipf5w4ccuf/lib
prepend-path --delim : PATH /lustre/scratch/scratch/cceamgi/repo/hpc-spack/mg-initial-stack/spack/opt/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_p/linux-rhel7-skylake_avx512/gcc-13.1.0/hdf5-1.14.1-2-o2pm6juc4ewwe5wgj56ukyipf5w4ccuf/bin
prepend-path --delim : PKG_CONFIG_PATH /lustre/scratch/scratch/cceamgi/repo/hpc-spack/mg-initial-stack/spack/opt/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_p/linux-rhel7-skylake_avx512/gcc-13.1.0/hdf5-1.14.1-2-o2pm6juc4ewwe5wgj56ukyipf5w4ccuf/lib/pkgconfig
prepend-path --delim : CMAKE_PREFIX_PATH /lustre/scratch/scratch/cceamgi/repo/hpc-spack/mg-initial-stack/spack/opt/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_p/linux-rhel7-skylake_avx512/gcc-13.1.0/hdf5-1.14.1-2-o2pm6juc4ewwe5wgj56ukyipf5w4ccuf/.
-------------------------------------------------------------------
$ module show hdf5/1.14.1-2-mpi/gcc-13.1.0
-------------------------------------------------------------------
./hdf5/1.14.1-2-mpi/gcc-13.1.0:
module-whatis HDF5 is a data model, library, and file format for storing and managing data. It supports an unlimited variety of datatypes, and is designed for flexible and efficient I/O and for high volume and complex data.
module load openmpi/4.1.5/gcc-13.1.0
module load pkgconf/1.9.5/gcc-13.1.0
module load zlib/1.2.13/gcc-13.1.0
prepend-path --delim : LD_LIBRARY_PATH /lustre/scratch/scratch/cceamgi/repo/hpc-spack/mg-initial-stack/spack/opt/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_p/linux-rhel7-skylake_avx512/gcc-13.1.0/hdf5-1.14.1-2-fsznlyxgdczelstzmozmthdew4rffdr7/lib
prepend-path --delim : LIBRARY_PATH /lustre/scratch/scratch/cceamgi/repo/hpc-spack/mg-initial-stack/spack/opt/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_p/linux-rhel7-skylake_avx512/gcc-13.1.0/hdf5-1.14.1-2-fsznlyxgdczelstzmozmthdew4rffdr7/lib
prepend-path --delim : PATH /lustre/scratch/scratch/cceamgi/repo/hpc-spack/mg-initial-stack/spack/opt/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_p/linux-rhel7-skylake_avx512/gcc-13.1.0/hdf5-1.14.1-2-fsznlyxgdczelstzmozmthdew4rffdr7/bin
prepend-path --delim : PKG_CONFIG_PATH /lustre/scratch/scratch/cceamgi/repo/hpc-spack/mg-initial-stack/spack/opt/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_p/linux-rhel7-skylake_avx512/gcc-13.1.0/hdf5-1.14.1-2-fsznlyxgdczelstzmozmthdew4rffdr7/lib/pkgconfig
prepend-path --delim : CMAKE_PREFIX_PATH /lustre/scratch/scratch/cceamgi/repo/hpc-spack/mg-initial-stack/spack/opt/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_p/linux-rhel7-skylake_avx512/gcc-13.1.0/hdf5-1.14.1-2-fsznlyxgdczelstzmozmthdew4rffdr7/.
-------------------------------------------------------------------
|
On Myriad as ccspapp in my spacksite fc-myriad-stack, I uninstalled [email protected] with gcc12.2.0 then installed the same OpenMPI version 4.1.5 with gcc13.1.0 and passed the following fabrics list:
I also installed the NVDIA package nvhpc
I will then try installing Gromacs + cuda using nvhpc compiler |
From #44
Samtools, BCFTools, HTSlib: UCL-RITS/rcps-buildscripts#532
Samtools, Bwa, Bedtools, Vcftools, picard, GATK (requested by Biosciences) https://ucldata.atlassian.net/browse/AHS-139
Alphafold (would be nice to not have to tell people to go and track down the working containers): UCL-RITS/rcps-buildscripts#529 UCL-RITS/rcps-buildscripts#463
HDF5
Netcdf
BEAST 2.7: UCL-RITS/rcps-buildscripts#498
The text was updated successfully, but these errors were encountered: