Skip to content

Update intel classic compiler version minimum to 2021.1 - #4389

Merged
ye-luo merged 5 commits into
QMCPACK:developfrom
ye-luo:update-cmake-intel
Jan 10, 2023
Merged

Update intel classic compiler version minimum to 2021.1#4389
ye-luo merged 5 commits into
QMCPACK:developfrom
ye-luo:update-cmake-intel

Conversation

@ye-luo

@ye-luo ye-luo commented Jan 8, 2023

Copy link
Copy Markdown
Contributor

Proposed changes

Too old intel classic compilers are too painful to deal with. See #4359 CI failure.
Raised to >=2021.1 released in the end of 2020 (as part of oneapi 2021.1)
@williamfgc Update CI will be needed to merge this PR.

What type(s) of changes does this code introduce?

  • Build related changes

Does this introduce a breaking change?

  • No

What systems has this change been tested on?

bora

Checklist

  • Yes. This PR is up to date with current the current state of 'develop'

@ye-luo

ye-luo commented Jan 8, 2023

Copy link
Copy Markdown
Contributor Author

Test this please

@prckent
prckent self-requested a review January 8, 2023 15:24

@prckent prckent left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

OK with this change and the reasoning.

Please mention in the changelog unreleased section. In a later PR we should update readme.md compilers with the current minimums and recommendations.

@williamfgc

Copy link
Copy Markdown
Contributor

Related to #4326

@prckent

prckent commented Jan 9, 2023

Copy link
Copy Markdown
Contributor

We should add or even switch to icpx/ icx in our CI. @williamfgc already sulfur has the latest OneAPI compiler (/opt/intel/oneapi/setvars.sh). Is the only reason for monitoring the classic compiler the last few KNL systems?

@ye-luo

ye-luo commented Jan 9, 2023

Copy link
Copy Markdown
Contributor Author

I'm not sure if users switched to icpx already or not. Consider cpu only runs are fast. I would like to keep the classic compiler and add icpx as separate CI variants.

@williamfgc

Copy link
Copy Markdown
Contributor

Yes, the CPU runs can coexist. One thing this PR does is pulling the plug on the classic compilers available on sulfur. My two cents is to might as well move to OneAPI as recommended by Intel:

Intel® C++ Compiler Classic (icc) is deprecated and will be removed in a oneAPI release in the second half of 2023. Intel recommends that customers transition now to using the LLVM-based [Intel® oneAPI DPC++/C++ Compiler](https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/dpc-compiler.html) (icx) for continued Windows* and Linux* support, new language support, new language features, and optimizations. Note that starting with release 2021.7, macOS* support is limited to Mac* computers with Intel® Processors.  

@ye-luo

ye-luo commented Jan 9, 2023

Copy link
Copy Markdown
Contributor Author

Yes, the CPU runs can coexist. One thing this PR does is pulling the plug on the classic compilers available on sulfur. My two cents is to might as well move to OneAPI as recommended by Intel:

Intel® C++ Compiler Classic (icc) is deprecated and will be removed in a oneAPI release in the second half of 2023. Intel recommends that customers transition now to using the LLVM-based [Intel® oneAPI DPC++/C++ Compiler](https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/dpc-compiler.html) (icx) for continued Windows* and Linux* support, new language support, new language features, and optimizations. Note that starting with release 2021.7, macOS* support is limited to Mac* computers with Intel® Processors.  

The classic compiler is still been maintained as https://www.intel.com/content/www/us/en/developer/articles/release-notes/oneapi-c-compiler-release-notes.html

as long as you install oneapi, classic compilers are still being shipped.

@prckent

prckent commented Jan 9, 2023

Copy link
Copy Markdown
Contributor

Since OneAPI is already installed, all that is needed is

source /opt/intel/oneapi/setvars.sh intel64
cmake -GNinja -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DQMC_MPI=0 ../qmcpack/ # For OneAPI compilers
cmake -GNinja -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DQMC_MPI=0 ../qmcpack/ # For Classic compilers

@PDoakORNL

Copy link
Copy Markdown
Contributor

My #4359 is waiting on this as well.

@williamfgc

Copy link
Copy Markdown
Contributor

Thank you all, let me try on sulfur and do a PR.

@ye-luo

ye-luo commented Jan 10, 2023

Copy link
Copy Markdown
Contributor Author

Test this please

@ye-luo

ye-luo commented Jan 10, 2023

Copy link
Copy Markdown
Contributor Author

Test this please

@ye-luo

ye-luo commented Jan 10, 2023

Copy link
Copy Markdown
Contributor Author

changelog unreleased section

@prckent Updated

@prckent
prckent enabled auto-merge January 10, 2023 18:58
@ye-luo
ye-luo disabled auto-merge January 10, 2023 20:28
@ye-luo
ye-luo merged commit 988dc08 into QMCPACK:develop Jan 10, 2023
@ye-luo
ye-luo deleted the update-cmake-intel branch January 10, 2023 20:28
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.

4 participants