Bug 893946 - Incorrect build flags on ARM
Incorrect build flags on ARM
Status: CLOSED NOTABUG
Product: Fedora
Classification: Fedora
Component: fftw (Show other bugs)
rawhide
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Conrad Meyer
Fedora Extras Quality Assurance
:
Depends On:
Blocks: ARMTracker
  Show dependency treegraph
 
Reported: 2013-01-10 05:39 EST by Peter Robinson
Modified: 2013-01-10 09:32 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-01-10 06:47:08 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Peter Robinson 2013-01-10 05:39:19 EST
The changelog for 3.3.3-3 has the following:

* Tue Dec 18 2012 Susi Lehtola <jussilehtola@fedoraproject.org> - 3.3.3-3
- After consultation with upstream, enable SSE2 also on x86, altivec on ppc
  and ppc64 and NEON on arm.

Fedora ARM doesn't compile with NEON because there are platforms where NEON isn't supported. I'm not aware of any consultation with the Fedora ARM team on what would be best here.

Also I'm fairly certain that for x86 there are platforms for which SSE2 isn't supported either so it should use the rpm default to ensure it runs on all intended platforms.

Please resolve the ARM issue and check to ensure what the right setting for x86 is.
Comment 1 Susi Lehtola 2013-01-10 06:47:08 EST
fftw has dynamic CPU detection. Closing as NOTABUG.
Comment 2 Peter Robinson 2013-01-10 06:48:30 EST
Please provide a link to the details.
Comment 3 Dan Horák 2013-01-10 07:10:59 EST
After looking into the sources I think Susi is right. simd-support subdir contains the detection (via executing SIMD instruction and SIGILL handler) and SIMD compiler flags are passed to CC only in selected subdirs.
Comment 4 Susi Lehtola 2013-01-10 09:31:40 EST
Date: Tue, 18 Dec 2012 14:10:39 +0100
From: Matteo Frigo <athena@fftw.org>
To: Jussi Lehtola <jussi.lehtola@helsinki.fi>
Subject: Re: Recommended compilation flags for distributions


FFTW does have runtime CPU detection, so it is safe to enable all
features that your compiler supports.  Not too long ago a
fully-configured FFTW was running fine on an 80386 as well as a modern
CPU, and I expect this to be true today as well.

The reason why sse/avx are not enabled by default is that the core of
FFTW is written in C89 and we want to keep it like that.  Things like
SSE are not supported, e.g., by the plan 9 compiler.  OpenBSD still
uses gcc-2.95. AVX was not supported by most compilers until last year,
and avx support in gcc-4.6 was quite buggy.  The IBM compiler did not
quite work for altivec for a long time.  NEON support in llvm is still
quite experimental. So we don't feel comfortable enabling these
extensions by default.

The other consideration is the size of the binary.  A full SSE/AVX
binary is maybe 3x the size of the scalar FPU binary. I assume this
does not matter much for Fedora.

 In summary, you can safely enable all the SIMD extensions.
Comment 5 Susi Lehtola 2013-01-10 09:32:24 EST
For the reference, I have not enabled AVX support on x86/x86_64 because at least Gromacs runs faster with plain SSE2.

Note You need to log in before you can comment on or make changes to this bug.