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

CMake option and documentation for using the Intel compiler #1170

Merged
merged 7 commits into from
Jun 5, 2019

Conversation

hakonsbm
Copy link
Contributor

@hakonsbm hakonsbm commented Apr 9, 2019

This PR adds a CMake option, with-intel, that is to be used when compiling with the Intel compiler, and documentation on this option. Adding

-Dwith-intel=ON

when configuring NEST adds the compiler flag -fp-model strict to ensure that computations obey the IEEE754 standard for floating point numerics. Other flags can also be set with

-Dwith-intel=<compiler-flags>

Fixes #242
Fixes #1027

@terhorstd terhorstd added ZC: Installation DO NOT USE THIS LABEL I: No breaking change Previously written code will work as before, no one should note anything changing (aside the fix) ZP: PR Created DO NOT USE THIS LABEL S: Normal Handle this with default priority T: Maintenance Work to keep up the quality of the code and documentation. labels Apr 9, 2019
@ikitayama
Copy link

ikitayama commented Apr 10, 2019 via email

@hakonsbm
Copy link
Contributor Author

Some changes:

  • -fp-model strict flag is set by default if the Intel compiler is used.
  • This can be overridden with the option -Dwith-intel-flags=<compiler-flags>.

@ikitayama I'm not sure if we want a separate file just for compiler flags/options. But I'm happy to refactor if this is the decision we make.

@ikitayama
Copy link

ikitayama commented Apr 12, 2019 via email

Copy link
Contributor

@jougs jougs left a comment

Choose a reason for hiding this comment

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

I'm happy with having this as a general option and would only introduce a platform file once we encounter a system that needs a bundling of several options.

For increased clarity, however, I would want to see --with-intel(-flags) renamed to --with-intel-compiler(-flags). As it is now, this could be understood as an option solely for Intel processors (and, e.g., excluding AMD or other CPUs).

Copy link
Contributor

@jougs jougs left a comment

Choose a reason for hiding this comment

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

Thanks for addressing my concerns and sorry for the long-ish delay for the re-review.

Copy link
Contributor

@gtrensch gtrensch left a comment

Choose a reason for hiding this comment

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

Thanks for this contribution! Looks good to me. 👍

@abigailm abigailm merged commit ee20815 into nest:master Jun 5, 2019
@hakonsbm hakonsbm deleted the intel_compiler_option branch September 4, 2019 09:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I: No breaking change Previously written code will work as before, no one should note anything changing (aside the fix) S: Normal Handle this with default priority T: Maintenance Work to keep up the quality of the code and documentation. ZC: Installation DO NOT USE THIS LABEL ZP: PR Created DO NOT USE THIS LABEL
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add CMake configuration for Intel Compiler, MPI, MKL Support Intel compiler suite and MKL
6 participants