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

Use a newer compiler in the CI (gcc10.2 and cuda 11.6, for instance) #355

Closed
valassi opened this issue Jan 26, 2022 · 5 comments
Closed
Assignees

Comments

@valassi
Copy link
Member

valassi commented Jan 26, 2022

Hi @hageboeck can you please upgrade the gcc and cuda versions in the CI (and/or tell me how to do that?)

I have added a check for gcc>=9.3 because I had seen that this is what the CI uses on linux, but apparently on MAC it uses an older one?

(Actually, I see MAC probably uses clang13 based on a gcc <9.3 toolkit, I will improve my checks... but it would still be good to have gcc10.2 as native on Linux, and possibly a clang using also a gcc10 toolkit)

What do you think?
Thanks
Andrea

@valassi
Copy link
Member Author

valassi commented Jan 26, 2022

I have added a workaround, I do not constrain gcc>=9.3 if gcc is used below clang (#96). So there is no urgency for this.

@hageboeck
Copy link
Member

It already provides gcc 10.2:

$ scl run gcc-toolset-10 "gcc --version"
gcc (GCC) 10.2.1 20201112 (Red Hat 10.2.1-8)
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you really need gcc9, I think we just got the latest that RedHat wanted to give us. I don't know if they managed to bump this up in the mean time. If the need comes back, I can try to recreate the container.

$ scl run gcc-toolset-9 "gcc --version"
gcc (GCC) 9.2.1 20191120 (Red Hat 9.2.1-2)
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Cuda could indeed be upgraded (currently 11.4), but I would postpone this to having a vGPU node on openstack, unless you cannot work with 11.4 for the coming weeks.

@hageboeck
Copy link
Member

Regarding the Mac, we just use the latest that github gives us, see here:

CPU_MAC:
runs-on: macos-latest
strategy:
matrix:
folder: [ epoch1/cuda/ee_mumu/SubProcesses/P1_Sigma_sm_epem_mupmum , epoch2/cuda/ee_mumu/SubProcesses/P1_Sigma_sm_epem_mupmum , epochX/cudacpp/ee_mumu/SubProcesses/P1_Sigma_sm_epem_mupmum, epochX/cudacpp/gg_ttgg/SubProcesses/P1_Sigma_sm_gg_ttxgg/ ]
precision: [ d ]

As per Actions docs, that's currently macOS Catalina 10.15. You can force it to use Big Sur if you change this to macos-11, but I don't know which kind of compilers that's going to give to you. I'm getting
gcc --version == clang13.

@valassi
Copy link
Member Author

valassi commented Jan 26, 2022

It already provides gcc 10.2:
...
If you really need gcc9, I think we just got the latest that RedHat wanted to give us. I don't know if they managed to bump this up in the mean time. If the need comes back, I can try to recreate the container.

Hi thanks! Maybe I explained myself badly, I do not want gcc9! I just have the impression that currently it is running gcc9.3, I would prefer gcc10.2 indeed. But I guess you need to set it up?

Look at 'make info' here, it says 9.3
https://github.com/madgraph5/madgraph4gpu/runs/4950510550?check_suite_focus=true

Cuda could indeed be upgraded (currently 11.4), but I would postpone this to having a vGPU node on openstack, unless you cannot work with 11.4 for the coming weeks.

That's fine, thanks a lot. In any case performance and build speed is not an issue, and I think they are very similar anyway in 11.4 or 11.6.

Regarding the Mac, we just use the latest that github gives us, see here:

My point here is that clang uses a gcc toolchain (that you can change with clang --gcctoolchain, though I do not like that), I was surprised that the clang13 in the CI seems to use a gcc older than 9.3. This is because I was enforcing a check of #if GNU, and this is true also if clang is being used (it then checks the gcc toolchain). Anyway, I modified the check so that it only asks gcc >=9.3 if gcc is used as main compiler (not below clang or icx), hopefully that's good enough. If the code breaks, then we will need to upgrade, but so far it seems good.

@valassi
Copy link
Member Author

valassi commented Feb 24, 2023

Thanks to Stephan we are now using cuda12 on alma9 (with native gcc11.3). This can be closed

@valassi valassi closed this as completed Feb 24, 2023
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

No branches or pull requests

2 participants