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

Updates for EL9 and Apptainer #31

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

willp240
Copy link

Updating documentation to use "apptainer" instead of "singularity" commands.

Also added new dockerfile under new EL9 directory to use later version of ROOT 6

I used this dockerfile to push a new tag called "el9" (and included this in documentation)

But there's an argument that this could just be an update to the ROOT6 version. But then as we no longer formally support ROOT 5, do we deprecate the ROOT5 version, but if so should the ROOT6 version then be renamed as the use of ROOT 6 would not make it distinct. Maybe to something like MAIN? I am very open to suggestions

@djauty
Copy link

djauty commented Aug 13, 2024

Do we want to update the os to Ubuntu 24 rather Ubuntu 20 in the container so we don't find it's not supported in a couple of years? Or is there an issue with Ubuntu 24?

@djauty
Copy link

djauty commented Aug 13, 2024

Also, do we want to add grid downloading support into the standard image rather than having people create their own using the rat-tools Apptainer file?

@djauty
Copy link

djauty commented Aug 13, 2024

Also, for the naming convention, I'm not sure el9 means. If my comment on having the ability to download grid data, it may make sense, as it would use epel9, but at the moment I'm not sure it describes anything and in fact, it's confusing as someone may presume it has epel options when it doesn't.

@willp240
Copy link
Author

Thanks a lot for looking at this David! I don't think there's any reason not to use Ubuntu 24, that was just an oversight by me. I'm rebuilding it now with 24.04. I won't commit the change just yet as I'll let it build and test it on Cedar first just to be sure.

I could be persuaded either way on including the Grid access in this container. On the one hand if people would often be using one but not the other maybe it makes sense to keep them separate, but on the other hand maybe there isn't any downside to joining them together and it saves people a bit of time not getting two different containers. Maybe a middle ground solution is to push the Grid tools container to the snoplus Docker organisation, then people can just pull it rather than have to build it themselves? @tsengj10 do you have any thoughts on this?

As for the name, EL9 was just because I was rebuilding it after the upgrade to dependencies following our move to Enterprise Linux/Alma 9. It also could be considered a misnomer as the recipe uses Ubuntu (we could change it to use EL/Alma9, but some of the commands and syntax would change. Given this runs fine on EL9 I thought that would be wasted effort changing it). So the name was just representing the reason for the new tag more than anything else. But the more I think about it the more I think we should just call this Main or something neutral and deprecate the ROOT5/6 versions, as anyone using it now would only be using this one version

@djauty
Copy link

djauty commented Aug 14, 2024

The grid capabilities are Fedora Linux family only. As this is a Ubuntu build which is Debian so probably best to keep the grid uploads separate.

I think I like Main for the name.

On a separate issue do we still want python2 compatibility? I just suggest that maybe we don't want to encourage people to use python2 but wouldn't fight you saying you don't want to spend x hours recompiling just to get rid of it.

@djauty
Copy link

djauty commented Aug 15, 2024

I was wondering if the instructions should say about on cedar before running apptainer it's best to module load apptainer. Loading interatively it's not too important as you can choose whichever version you want but if you are running in a batch job it won't run unless it knows which version of apptainer you want to use. module load apptainer loads the default apptainer

@willp240
Copy link
Author

I tried using Ubuntu 24, but something was going wrong with the Geant4 install. And there was less information printed out than just running straight on the terminal. I'm sure there's a way of getting it to print more info and get our version of Geant4 installed on there, but given we know it works on Cedar and other Alma9 machines I'm inclined to just stick with Ubuntu 20 for now to get it rolled out sooner. We had a discussion in the CIC call today where we agreed long term we should build the container with Alma9. But given we know this works, for now we'll push the Ubuntu 20 version so we get something out that people can use quicker.

I'll make the Alma 9 recipe in a different PR, without the time pressure of needing to get something pushed asap

In trying that though I was recompiling anyway so have taken out the python2 options. And that's definitely a good idea on having module load apptainer in the instructions, I've added that now

I've also removed the ROOT5 directory, and renamed the ROOT6 one MAIN, rather than adding a separate new directory

@djauty
Copy link

djauty commented Aug 22, 2024

I have an Alma 9 for just grid upload in apptainer script in rat-tools. I have the image on cedar in /project/def-ckrauss/djauty/snopl9.img if that's helpful.

@djauty
Copy link

djauty commented Aug 23, 2024

On the M3 mac you have to be in the folder of thisroot.sh to source it. I don't know if you want to change the set-env.sh to

cd /home/software/root-build/bin/ source thisroot.sh cd /home
or just update the README.md (or create a separate image for arm64 processors)

@willp240
Copy link
Author

ah interesting! There's no downside to doing that for all so I'll change it

@JamesJieranShen
Copy link

On the M3 mac you have to be in the folder of thisroot.sh to source it. I don't know if you want to change the set-env.sh to

cd /home/software/root-build/bin/ source thisroot.sh cd /home or just update the README.md (or create a separate image for arm64 processors)

Could we change the this line to the following?

pushd /home/software/root-build/bin/ 
source thisroot.sh 
popd

I think this will prevent the user being dropped into /home should they choose to manually source the script.

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.

3 participants