Skip to content

add patch for FFTW 3.3.8 to avoid use of -no-gcc when building with Intel compilers, to fix installation on CentOS 8 (cfr. #10932)#11050

Merged
casparvl merged 1 commit intoeasybuilders:developfrom
boegel:20200802112232_new_pr_FFTW338
Aug 3, 2020
Merged

add patch for FFTW 3.3.8 to avoid use of -no-gcc when building with Intel compilers, to fix installation on CentOS 8 (cfr. #10932)#11050
casparvl merged 1 commit intoeasybuilders:developfrom
boegel:20200802112232_new_pr_FFTW338

Conversation

@boegel
Copy link
Copy Markdown
Member

@boegel boegel commented Aug 2, 2020

(created using eb --new-pr)

cfr. #10932

@boegel
Copy link
Copy Markdown
Member Author

boegel commented Aug 2, 2020

@boegelbot please test @ generoso

@boegelbot
Copy link
Copy Markdown
Collaborator

@boegel: Request for testing this PR well received on generoso

PR test command 'EB_PR=11050 EB_ARGS= sbatch --job-name test_PR_11050 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 4697

Test results coming soon (I hope)...

Details

- notification for comment with ID 667662833 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegel boegel added the bug fix label Aug 2, 2020
@boegel boegel added this to the next release (4.2.3?) milestone Aug 2, 2020
@boegelbot
Copy link
Copy Markdown
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 3 out of 3 (3 easyconfigs in this PR)
generoso-x-5 - Linux centos linux 8.2.2004, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/6a87ac4867615eb895e1b9aabcaad8bc for a full test report.

@boegel
Copy link
Copy Markdown
Member Author

boegel commented Aug 2, 2020

Test report by @boegel
SUCCESS
Build succeeded for 3 out of 3 (3 easyconfigs in this PR)
node3401.kirlia.os - Linux centos linux 7.8.2003, x86_64, Intel(R) Xeon(R) Gold 6240 CPU @ 2.60GHz (cascadelake), Python 2.7.5
See https://gist.github.com/453cc08c054917e6c3e52f58f73cfc6c for a full test report.

@boegel
Copy link
Copy Markdown
Member Author

boegel commented Aug 2, 2020

Test report by @boegel
SUCCESS
Build succeeded for 3 out of 3 (3 easyconfigs in this PR)
node3116.skitty.os - Linux centos linux 7.8.2003, x86_64, Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz (skylake_avx512), Python 3.6.8
See https://gist.github.com/c3aa7921de9f0cebf5254d1709aae337 for a full test report.

@boegel
Copy link
Copy Markdown
Member Author

boegel commented Aug 3, 2020

Test report by @boegel
SUCCESS
Build succeeded for 3 out of 3 (3 easyconfigs in this PR)
node2402.golett.os - Linux centos linux 7.8.2003, x86_64, Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz (haswell), Python 2.7.5
See https://gist.github.com/dc6983bbfb0809f01b5fb921978e01bc for a full test report.

@casparvl
Copy link
Copy Markdown
Contributor

casparvl commented Aug 3, 2020

The patch looks fine to me. Also, at IDRIS, they already removed the -no-gcc some time ago and have no issues (according to FFTW/fftw3#184), so that seems to support this approach.

One question: on the same issue, it was mentioned that failures occured regardless of Intel Compiler version, as long as the GCC in the path was <= 6.5.0. There are a number of EasyConfigs that use FFTW-3.3.8 with the 2018b toolchain generation. Did you try those on CentOS 8.2? Do they work?

And, does this also apply to older FFTW versions? I'm not saying we should backport everything, everywhere. But maybe we can log it in your issue (along with the ones we DID patch, for clarity) #10932

@boegel
Copy link
Copy Markdown
Member Author

boegel commented Aug 3, 2020

One question: on the same issue, it was mentioned that failures occured regardless of Intel Compiler version, as long as the GCC in the path was <= 6.5.0. There are a number of EasyConfigs that use FFTW-3.3.8 with the 2018b toolchain generation. Did you try those on CentOS 8.2? Do they work?

@casparvl I didn't test with intel/2018b, because it seems that toolchain is too old to use on CentOS 8 (it trips over changes in glibc). Not planning to spend more time on that, not worth the trouble imho...

And, does this also apply to older FFTW versions? I'm not saying we should backport everything, everywhere. But maybe we can log it in your issue (along with the ones we DID patch, for clarity) #10932

It does apply to older FFTW versions, but I'm not sure if it's worth the trouble to try and fix the installation of older FFTW versions too?

Copy link
Copy Markdown
Contributor

@casparvl casparvl left a comment

Choose a reason for hiding this comment

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

I can imagine why you called it a 'dirty' patch, but since EasyBuild officially has GNU/linux systems as a requirement, I would say it's fine.

I would personally prefer to also add FFTW-3.3.8-intel-2018b.eb in here. We might as well cover all FFTW-3.3.8's, and this would be the oldest. (I might have some personal bias since we still have a pretty extensive 2018b stack ;-))

Ok scratch that, just read your comment above. You're right, intel-2018b would run into glibc problems anyway.

@casparvl
Copy link
Copy Markdown
Contributor

casparvl commented Aug 3, 2020

but I'm not sure if it's worth the trouble to try and fix the installation of older FFTW versions too?

No, I agree. And with your argument that glibc also breaks for those older toolchains, there's no use fixing the FFTWs anyway.

@casparvl
Copy link
Copy Markdown
Contributor

casparvl commented Aug 3, 2020

Test report by @casparvl
FAILED
Build succeeded for 0 out of 1 (1 easyconfigs in this PR)
tcn900.bullx - Linux RHEL 7.7, x86_64, Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz, Python 2.7.5
See https://gist.github.com/45d4a862974ad5acd657e13070d81a2e for a full test report.

@casparvl
Copy link
Copy Markdown
Contributor

casparvl commented Aug 3, 2020

Test report by @casparvl
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in this PR)
software1.lisa.surfsara.nl - Linux debian 10.5, x86_64, Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz, Python 2.7.16
See https://gist.github.com/c6ae0ac8a8646ab554a60acd61051b82 for a full test report.

@casparvl
Copy link
Copy Markdown
Contributor

casparvl commented Aug 3, 2020

Test report by @casparvl
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in this PR)
tcn900.bullx - Linux RHEL 7.7, x86_64, Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz, Python 2.7.5
See https://gist.github.com/4c727e68cbb02fc3d56e4b7f27125c87 for a full test report.

@casparvl
Copy link
Copy Markdown
Contributor

casparvl commented Aug 3, 2020

Failing test was because of the fact that FFTW doesn't like an optarch that doesn't match the AVX capability of the host. That has been a (minor) issue for a long time; not relevant in the context of this PR. Time to merge! Thanks @boegel

@casparvl casparvl merged commit 978b99d into easybuilders:develop Aug 3, 2020
@boegel boegel deleted the 20200802112232_new_pr_FFTW338 branch August 4, 2020 08:27
@klust
Copy link
Copy Markdown

klust commented Aug 28, 2020

The patch does not only solve problems on CentOS 8. Compiling FFTW 3.3.8 with Intel 2020 update 2 also failed on CentOS 7.8 (where update 1 still worked) but at a different point then on CentOS 8. However, this patch also solved that problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants