-
Notifications
You must be signed in to change notification settings - Fork 38
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
fftw3 - add support for Apple silicon and fix preprocessor #1042
Conversation
Seems like a lot of good optimizations are now found (10.14.6):
I can't test arm64. The old Also, do you know why the code is rebuilt in InstallScript before running For the InstallScript |
The first run of configure & make & install builds the double-precision libraries. The second runs, in InstallScript, build and install the single-precision libraries. It’s a strange solution, but it works! And two passes are necessary to install both sets of libraries. The old commit that you refer to specifies the new header paths for 10.9+. But I have no idea why generic CPP was specified; perhaps there was a problem with early builds of gcc? Either way, on 13.4 using generic CPP here produces a bunch of errors in configure which result in options (and possibly optimisations) not being chosen correctly - even though it does build. |
Grrr. Never got the email that you had responded. The conditional check in InstallScript to build the single-precision libraries can be removed and just keep the same command as in CompileScript with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. The only issue left is the duplicated command in InstallScript, which can be changed after merging.
No, |
Good catch on the extra |
First, a bug fix:
And then we add support for Apple silicon:
CNTVCT_EL0
counter on Apple silicon (default to CNTVCT_EL0 cycle counter on Apple M1 FFTW/fftw3#267)CNTVCT_EL0
counter. Strictly speaking, this probably isn't necessary, as the first patch should enable this support automatically on MacOS. Alternatively, we could specify this argument and omit the patchfile. Probably comes under the heading of "belt and braces"...This all requires a working installation of GCC 11. Since I'm now using MacOS 13.4.1 on Apple silicon, I'm using #1033. It compiles and passes all tests with "-m".