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: FFTW Search w/ CMake Install #553

Merged
merged 1 commit into from
Jul 8, 2021

Conversation

ax3l
Copy link
Member

@ax3l ax3l commented Jul 6, 2021

This adds support for FFTW search with OpenMP support if FFTW was installed with CMake. This is, for instance, the case with EasyBuild based installs on Juelich's JUWELS Booster cluster.

Fixes:

  • the FFTW install does NOT define CMake targets for their sub-targets, so we need to manually find and link the _omp lib
  • the library dir hint with CMake was empty because of a differing spelling (upper vs lowercase of FFTW from pkg-config check module)

Tested:

  • installed with pkg-config, SP and DP, picked up with *.pc
  • installed with CMake, SP and DP, picked up with *config.cmake
  • installed with CMake, SP and DP, picked up with *.pc

System check:

  • still need to figure our why the pkg-config module set fftw3${HFFTWp}_LIBRARY_DIRS is unset on JUWELS (but fftw3${HFFTWp}_PREFIX is set

Follow-up to #541

  • Small enough (< few 100s of lines), otherwise it should probably be split into smaller PRs
  • Tested (describe the tests in the PR description)
  • Runs on GPU (basic: the code compiles and run well with the new module)
  • Contains an automated test (checksum and/or comparison with theory)
  • Documented: all elements (classes and their members, functions, namespaces, etc.) are documented
  • Constified (All that can be const is const)
  • Code is clean (no unwanted comments, )
  • Style and code conventions are respected at the bottom of https://github.com/Hi-PACE/hipace
  • Proper label and GitHub project, if applicable

@ax3l ax3l added bug Something isn't working performance optimization, benchmark, profiling, etc. build CMake, compilation, etc. labels Jul 6, 2021
@ax3l ax3l changed the title CMake: FFTW Search w/ CMake Install [WIP] CMake: FFTW Search w/ CMake Install Jul 6, 2021
@ax3l ax3l force-pushed the fix-fftwOMPwithCMake branch from f5a9dfd to 9322602 Compare July 7, 2021 22:14
This adds support for FFTW search with OpenMP support if FFTW was
installed with CMake. This is, for instance, the case with EasyBuild
based installs on Juelich's JUWELS Booster cluster.

Fixes:
- the FFTW install does NOT define CMake targets for their sub-
  targets, so we need to manually find and link the `_omp` lib
- the library dir hint with CMake was empty because of a differing
  spelling (upper vs lowercase of FFTW from pkg-config check module)

Tested:
- installed with pkg-config, SP and DP, picked up with `*.pc`
- installed with CMake, SP and DP, picked up with `*config.cmake`
- installed with CMake, SP and DP, picked up with `*.pc`
@ax3l ax3l force-pushed the fix-fftwOMPwithCMake branch from 9322602 to 5e21f1d Compare July 7, 2021 23:01
@ax3l ax3l changed the title [WIP] CMake: FFTW Search w/ CMake Install CMake: FFTW Search w/ CMake Install Jul 7, 2021
@ax3l
Copy link
Member Author

ax3l commented Jul 8, 2021

@MaxThevenet @SeverinDiederichs now also tested on JUWELS and updated accordingly :)

Copy link
Member

@MaxThevenet MaxThevenet left a comment

Choose a reason for hiding this comment

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

Awesome, thanks for this PR!!

@MaxThevenet MaxThevenet merged commit 56ac75d into Hi-PACE:development Jul 8, 2021
@ax3l ax3l deleted the fix-fftwOMPwithCMake branch July 8, 2021 23:52
@ax3l
Copy link
Member Author

ax3l commented Jul 8, 2021

😊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working build CMake, compilation, etc. performance optimization, benchmark, profiling, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants