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

[finufft] Update FINUFFT source to v2.3.0 #9406

Merged
merged 3 commits into from
Sep 11, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 11 additions & 8 deletions F/finufft/build_tarballs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,14 @@ using BinaryBuilderBase
include(joinpath(@__DIR__, "..", "..", "platforms", "microarchitectures.jl"))

name = "finufft"
version = v"2.2.0"
commit_hash = "51892059a4b457a99a2569ac11e9e91cd2e289e7";
version = v"2.3.0"
commit_hash = "fffdaeacb10d5d055ce5b313868a7e981cea594b"
# Collection of sources required to complete build
sources = [
GitSource("https://github.com/flatironinstitute/finufft.git", commit_hash)
]

# Bash recipe for building across all platforms - now using cmake which fixes the broken binaries for Apple Silicon
# Tests on Linux/x86_64 yielded a slow binary with avx512 for some reason, so disable that again?
# NOTE: This may have been due to use of GCC8, which is not recommended by FINUFFT
# TODO: Check performance on computer with AVX512, to see if we can remove this fix
# Bash recipe for building across all platforms
script = raw"""
cd $WORKSPACE/srcdir/finufft*/

Expand All @@ -27,13 +24,19 @@ cmake .. \
-DCMAKE_INSTALL_PREFIX="${prefix}" \
-DCMAKE_TOOLCHAIN_FILE="${CMAKE_TARGET_TOOLCHAIN}" \
-DFINUFFT_FFTW_SUFFIX="" \
-DFINUFFT_ARCH_FLAGS=""
-DFINUFFT_ARCH_FLAGS="" \
-DFINUFFT_STATIC_LINKING="OFF"
ludvigak marked this conversation as resolved.
Show resolved Hide resolved
cmake --build . --parallel $nproc
cmake --install .
"""

platforms = supported_platforms()
# xsimd library does not work with armv6, armv7, powerpc
filter!(p -> !(contains(arch(p), "armv") || contains(arch(p), "powerpc")), platforms)
# FreeBSD aarch64 does not build, remove for now
filter!(p -> !(p["os"]=="freebsd" && p["arch"]=="aarch64"), platforms)
# Expand for microarchitectures on x86_64 (library doesn't have CPU dispatching)
platforms = expand_cxxstring_abis(expand_microarchitectures(supported_platforms(), ["x86_64", "avx", "avx2", "avx512"]); skip=!Sys.iswindows)
platforms = expand_cxxstring_abis(expand_microarchitectures(platforms, ["x86_64", "avx", "avx2", "avx512"]); skip=!Sys.iswindows)

augment_platform_block = """
$(MicroArchitectures.augment)
Expand Down