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 a tier2 site config for AWS AMIs #1379

Open
eap opened this issue Nov 12, 2024 · 5 comments
Open

Add a tier2 site config for AWS AMIs #1379

eap opened this issue Nov 12, 2024 · 5 comments
Assignees

Comments

@eap
Copy link
Collaborator

eap commented Nov 12, 2024

We would like to have an AWS AMI cable of running multiple compiler toolchains. Ideally we would like to run gnu, clang and intel from a single base image with simple environments scripts and modules to select the proper compiler toolchain.

This will initially be checked in as a tier2 site config but we may upgrade it to a tier1 config with the 1.9 release, especially if this is adopted as JCSDA's preferred internal development environment (an option we are considering).

@climbfuji
Copy link
Collaborator

have a look at the ci instance - it runs gnu, intel classic and intel oneapi already, and it should take very little effort to turn this into a ready-to-use ami (and add clang)

@eap
Copy link
Collaborator Author

eap commented Nov 13, 2024

The CI instance has quite a bit of customization on it already related to the CI setup making it a poor candidate for direct snapshotting. Additionally the current config remains on 1.7 and we need a 1.8 setup. Using that same approach (for the CI instance) I created an ubuntu instance for 1.8 a few weeks ago and I've continued to have issues with that setup with the intel and clang compiler so the level of effort here seems to be equivalent anyways.

I think the right path here is to create and document a clean 1.8 install for multiple environments and ensure that they work as expected. From that config we can create or update the CI instance.

@eap
Copy link
Collaborator Author

eap commented Nov 13, 2024

Another issue related to all of this, but likely deserving its own discussion is clang support. Currently clang has substantial behavior differences between older 13 and 14 versions and more recent 17-19 versions. The version you get depends on the OS base with debian based distributions sending out older builds and redhat based distributions including the recent versions.

@stiggy87 has spend more time on this than I have but we both agree that its a mess and is making continued support quite difficult. For the moment we are likely to skip clang support in the AMI (rocky base) and I'd advocating a temporary pause on clang support until the OS platforms agree on a version, or until we can determine which version to support with sound justification for the invested effort.

@stiggy87
Copy link

As @eap has mentioned, Clang has been a pain, and I agree that we should pause it. I can go over all the roadblocks and workarounds I've tried to get passed compilation failures, but that's for another time.

So far, I've gotten GNU and Intel (icc) in an instance working, and I'm writing the documentation for that right now.

@srherbener
Copy link
Collaborator

I like @eap's proposal to go with gcc, intel now, and add in clang later. JCSDA is quite interested in exploring AWS instances as a development platform and this proposal will enable that sooner rather than later.

I think it would be good to have clang support in the long term, but it sounds like it would be easier to add this in when the version mess gets more manageable.

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

4 participants