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

Feature #2611 oneapi met-basev3.1 #2737

Merged
merged 2 commits into from
Nov 15, 2023

Conversation

JohnHalleyGotway
Copy link
Collaborator

@JohnHalleyGotway JohnHalleyGotway commented Nov 14, 2023

Expected Differences

This PR updates the develop branch to add:

  • compile_MET_all.sh

    • Switch to using the WCOSS2 versions of dependent libraries.
    • Add support for Intel oneapi compilers.
    • Add the Atlas and ecKit libraries.
  • Switch from using met-base:v3.0 to met-base:v3.1.

    • Note that there is a bit of circular dependency occurring here. METbaseimage v3.1 needs changes to the compile_MET_all.sh script in this feature branch to actually build. And this branch switches to using METbaseimage v3.1. To handle this, I've manually pushed a temporary version of dtcenter/met-base:v3.1 to DockerHub but it will be replaced by the official release.
  • Do these changes introduce new tools, command line arguments, or configuration file options? [No]

    If yes, please describe:

  • Do these changes modify the structure of existing or add new output data types (e.g. statistic line types or NetCDF variables)? [No]

    If yes, please describe:

Pull Request Testing

  • Describe testing already performed for these changes:

    Lots of manual testing in Docker by @jprestop and @JohnHalleyGotway.
    To address the circular dependency described above, I manually built the dtcenter/met-base:v3.1 Docker image as follows:
cd /Volumes/d1/projects/METbaseimage
git checkout main
git pull
export GITHUB_WORKSPACE=`pwd`
export GITHUB_TAG=v3.1
export DOCKERHUB_BASE_REPO=dtcenter/met-base
export DOCKERHUB_UNIT_TEST_REPO=dtcenter/met-base-unit-test
# Manually modified build_docker_image.sh by adding:
#     --build-arg MET_COMPILE_SCRIPT_BRANCH=feature_2611_oneapi_met-basev3.1
.github/jobs/build_docker_image.sh
docker images
docker push dtcenter/met-base:v3.1
docker push dtcenter/met-base-unit-test:v3.1

And with that version of METbaseimage, the code for this PR compiles successfully.

  • Recommend testing for the reviewer(s) to perform, including the location of input datasets, and any additional instructions:

    None really.

  • Do these changes include sufficient documentation updates, ensuring that no errors or warnings exist in the build of the documentation? [No]
    No documentation updates.

  • Do these changes include sufficient testing updates? [No]
    No additional unit tests are needed.

  • Will this PR result in changes to the test suite? [No]

    If yes, describe the new output and/or changes to the existing output:

    This should produce the same unit test output.

  • Please complete this pull request review by [Tues 11/14/23].

Pull Request Checklist

See the METplus Workflow for details.

  • Review the source issue metadata (required labels, projects, and milestone).
  • Complete the PR definition above.
  • Ensure the PR title matches the feature or bugfix branch name.
  • Define the PR metadata, as permissions allow.
    Select: Reviewer(s) and Development issue
    Select: Milestone as the version that will include these changes
    Select: Coordinated METplus-X.Y Support project for bugfix releases or MET-X.Y.Z Development project for official releases
  • After submitting the PR, select the ⚙️ icon in the Development section of the right hand sidebar. Search for the issue that this PR will close and select it, if it is not already selected.
  • After the PR is approved, merge your changes. If permissions do not allow this, request that the reviewer do the merge.
  • Close the linked issue and delete your feature or bugfix branch from GitHub.

…branch to this new (limited) feature_2611_oneapi_met-basev3.1 branch. This includes updates to compile_MET_all.sh to compile Atlas/ecKit, updates to the development.docker environment, and the installation settings for derecho.
…des updated dependent library versions as well as the Atlas and ecKit libraries.
@JohnHalleyGotway
Copy link
Collaborator Author

Note that I am proceeding with the merge of this PR after checking this GHA run to confirm that MET does compile with the manually created v3.1 images, described in the body of this PR.

@JohnHalleyGotway JohnHalleyGotway merged commit b17ff51 into develop Nov 15, 2023
30 of 31 checks passed
@JohnHalleyGotway JohnHalleyGotway deleted the feature_2611_oneapi_met-basev3.1 branch November 15, 2023 00:03
@jprestop jprestop linked an issue Nov 16, 2023 that may be closed by this pull request
21 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🏁 Done
1 participant