Skip to content
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

Add bare (no container) install for NCI #14

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open

Add bare (no container) install for NCI #14

wants to merge 9 commits into from

Conversation

ScottWales
Copy link
Collaborator

Add an installation method not using a container at NCI. This can help during package development as all of the Spack builds are on the local filesystem rather than the compute nodes' temporary disks so inspection is easier. It has the downside of installs having a much higher inode count.

To the user the container and bare environments appear exactly the same, in both cases the envrun script will ensure the environment is loaded for a command.

@ScottWales ScottWales requested a review from hiker December 19, 2024 04:43
@ScottWales ScottWales self-assigned this Dec 19, 2024
@ScottWales ScottWales marked this pull request as draft December 19, 2024 22:34
@ScottWales
Copy link
Collaborator Author

Fixed some incompatibilities with using packages built for the container in a bare install. @hiker could you please give the bare install a go and let me know how it goes?

@ScottWales ScottWales marked this pull request as ready for review January 8, 2025 02:29
@hiker
Copy link
Collaborator

hiker commented Feb 7, 2025

@ScottWales Now I get:

UN spack concretize --fresh
==> Error: cannot load package 'blitz' from the 'ngmo' repository: FilePatch: Patch file fujitsu_compiler_specfic_header.patch for package ngmo.blitz does not exist.

I did a clean rebuild (after previously trying to just update), same effect.

Directory: /scratch/dp9/jxh903/ngmo-envs

@ScottWales
Copy link
Collaborator Author

That's my mess up with git I think - I put some changes in the wrong branch. I've force-pushed a fix, you may need to delete your local branch to pick it up:

git checkout main
git branch -D nci-bare
git checkout nci-bare

Copy link
Collaborator

@hiker hiker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I finally got it working (and I also realised that messages from this repo got filtered into the wrong folder, so I didn't notice your answer in time ... apologies).

I do have one problem though: the intel compilers are not in the path. E.g.:

[jxh903@gadi-login-07 ~]$ mpif90 -show
/apps/intel-ct/2021.10.0/compiler/linux/bin/intel64/ifort -I/apps/openmpi/4.1.5/include -I/apps/openmpi/4.1.5/include/Intel -L/apps/openmpi/4.1.5/lib -L/apps/openmpi/4.1.5/lib/Intel -L/system/lib64 -Wl,-rpath=/apps/openmpi/4.1.5/lib -L/apps/intel-oneapi/compiler/2023.2.0/linux/compiler/lib/intel64_lin -Wl,-rpath=/apps/intel-oneapi/compiler/2023.2.0/linux/compiler/lib/intel64_lin -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi

[jxh903@gadi-login-07 ~]$ ifort
bash: ifort: command not found

Fab relies on being able to run the wrapped compiler to make certain versions are consistent (e.g. it verifies that mpif90-ifort does indeed return the same version as ifort, to early detect if e.g. the wrong mpif90 wrapper is being started). Adding the intel compiler to the path fixes this, but I think the plain compilers should be available in the environment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants