Closed acxz closed 4 years ago
I'm seeing almost the same thing on Fed 30, but clang 8.0.0 throws the same error. EDIT: nm, clang 8 does work, as long as you convince cmake to use it. :-/
@gvansickle If you want to use GCC take a look at the following PR: https://github.com/kfrlib/kfr/pull/46
GCC was able to compile for me, under bmanga’s branch.
Currently waiting on this PR to get merged so that we can close this issue.
Closed because the pull request by @bmanga has been merged. GCC9 now works fine.
Unfortunately, GCC9 has bug that in some cases leads to incorrect code generated for KFR DFT. The behavior depends on optimization level and target system.
@dlevin256 can you share more information regarding the bug? Was it reported to gcc's bugzilla?
It affects FFT code starting from size 8 (incorrect SIMD code generated for optimized builds). The first version with this bug is 8.2.0. Last known to work is 7.4.0. Not reported yet. Minimal snippet reproducing this bug should include almost all kfr code because of complexity of FFT algorithm. Best compiler for KFR DFT is Clang (any version starting from 6.0), it generates highly optimized code and is available for all platforms maintaining binary compatibility with GCC and MSVC ABIs. Performance measurements published here are made using Clang. Some changes that make performance with other compilers better are published in WIP-4.0 branch but this does not solve GCC and MSVC bugs.
I'll open new issue for building DFT in GCC and MSVC.
Then we can close this one because GCC 9 support has been fixed in all areas except DFT.
OS: ArchLinux GCC: 9.1 kfr: master ( 11d9a15) at the time of posting EDIT: same errors reported with the dev branch as well ( 1b4afb3) at the time of posting
I am getting the following errors:
error: requested alignment is not an integer constant
. This issue is very similar to #16, however, that issue was fixed for GCC 8.x, but now I am getting the same issue on GCC 9.1.Here is a more complete sample of the output:
Note: Clang 8.0 works fine.