Skip to content

Commit cfcb67c

Browse files
committed
Merge 5.0 release branch into amd-fftw
2 parents 5a64feb + 0e8e2a1 commit cfcb67c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+819
-100
lines changed

CMakeLists.txt

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required (VERSION 3.15)
1+
cmake_minimum_required (VERSION 3.22)
22

33
if (NOT DEFINED CMAKE_BUILD_TYPE)
44
set (CMAKE_BUILD_TYPE Release CACHE STRING "Build type")
@@ -14,7 +14,7 @@ SET(AMD_ARCH "znver1" CACHE STRING "select AMD zen version for Clang toolchain")
1414

1515
if (CMAKE_C_COMPILER_ID MATCHES Clang)
1616
if ("${AMD_ARCH}" STREQUAL "")
17-
message(FATAL_ERROR "Machine arch missing! Select one of znver1, znver2, znver3 or znver4")
17+
message(FATAL_ERROR "Machine arch missing! Select one of znver1, znver2, znver3, znver4 or znver5")
1818
elseif (${AMD_ARCH} STREQUAL "znver1")
1919
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=znver1")
2020
elseif (${AMD_ARCH} STREQUAL "znver2")
@@ -23,8 +23,10 @@ if (CMAKE_C_COMPILER_ID MATCHES Clang)
2323
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=znver3")
2424
elseif (${AMD_ARCH} STREQUAL "znver4")
2525
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=znver4")
26+
elseif (${AMD_ARCH} STREQUAL "znver5")
27+
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=znver5")
2628
else ()
27-
message(FATAL_ERROR "Unsupported Machine arch! Select one of znver1, znver2, znver3 or znver4")
29+
message(FATAL_ERROR "Unsupported Machine arch! Select one of znver1, znver2, znver3, znver4 or znver5")
2830
endif ()
2931
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mno-prfchw")
3032
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mno-prfchw")
@@ -252,7 +254,7 @@ if (MSVC)
252254
endif(MSVC)
253255

254256
string(TIMESTAMP TODAY "%Y%m%d")
255-
add_compile_definitions(AOCL_FFTW_VERSION="AOCL-FFTW 4.2.0 Build ${TODAY}")
257+
add_compile_definitions(AOCL_FFTW_VERSION="AOCL-FFTW 5.0.0 Build ${TODAY}")
256258

257259
find_library (LIBM_LIBRARY NAMES m)
258260
if (LIBM_LIBRARY)
@@ -270,6 +272,10 @@ if (Threads_FOUND)
270272
set (HAVE_THREADS TRUE)
271273
endif ()
272274

275+
if (WIN32)
276+
set(OpenMP_libomp_LIBRARY "C:/Program Files/LLVM/lib/libomp.lib" CACHE STRING "openmp library path")
277+
endif (WIN32)
278+
273279
if (ENABLE_OPENMP)
274280
find_package (OpenMP)
275281
endif ()
@@ -614,6 +620,9 @@ if (OPENMP_FOUND)
614620
target_include_directories (${lib_name} INTERFACE $<INSTALL_INTERFACE:include>)
615621
target_link_libraries (${lib_name} ${CMAKE_THREAD_LIBS_INIT})
616622
target_compile_options (${lib_name} PRIVATE ${OpenMP_C_FLAGS})
623+
if (BUILD_SHARED_LIBS)
624+
target_link_libraries(${lib_name} PRIVATE OpenMP::OpenMP_C)
625+
endif(BUILD_SHARED_LIBS)
617626
endif ()
618627

619628
if (HAVE_MPI)
@@ -623,6 +632,9 @@ if (HAVE_MPI)
623632
target_include_directories (${lib_name} INTERFACE $<INSTALL_INTERFACE:include>)
624633
target_link_libraries (${lib_name} ${CMAKE_THREAD_LIBS_INIT})
625634
target_compile_options (${lib_name} PRIVATE ${OpenMP_C_FLAGS})
635+
if (BUILD_SHARED_LIBS AND OPENMP_FOUND)
636+
target_link_libraries(${lib_name} PRIVATE OpenMP::OpenMP_C)
637+
endif()
626638
endif ()
627639

628640

@@ -711,7 +723,7 @@ add_library (libtestbench STATIC tests/bench.c tests/hook.c tests/fftw-bench.c t
711723
if(Threads_FOUND)
712724
set(CMAKE_C_COMPILER_CFLAGS ${PTHREAD_CFLAGS})
713725
if(NOT COMBINED_THREADS)
714-
set(LIBFFTWTHREADS = libfftw3${PREC_SUFFIX}_threads)
726+
set(LIBFFTWTHREADS libfftw3${PREC_SUFFIX}_threads)
715727
endif()
716728
elseif(OPENMP_FOUND)
717729
set(CMAKE_C_COMPILER_CFLAGS ${OpenMP_C_FLAGS})
@@ -722,19 +734,28 @@ set(fftw${PREC_SUFFIX}-wisdom_src tools/fftw-wisdom.c)
722734

723735
add_executable(fftw${PREC_SUFFIX}-wisdom ${fftw${PREC_SUFFIX}-wisdom_src})
724736
target_link_libraries(fftw${PREC_SUFFIX}-wisdom libbench2 ${LIBFFTWTHREADS} ${lib_name} libtestbench)
737+
if (OPENMP_FOUND)
738+
target_link_libraries(fftw${PREC_SUFFIX}-wisdom OpenMP::OpenMP_C)
739+
endif ()
725740
install(TARGETS fftw${PREC_SUFFIX}-wisdom ${INSTALL_TARGETS_DEFAULT_ARGS} DESTINATION ${CMAKE_INSTALL_BINDIR})
726741

727742

728743
if (BUILD_TESTS)
729744
add_executable (bench tests/bench.c tests/hook.c tests/fftw-bench.c)
730745
target_link_libraries (bench libbench2)
731746
target_link_libraries (bench ${lib_name})
747+
if (OPENMP_FOUND)
748+
target_link_libraries(bench OpenMP::OpenMP_C)
749+
endif ()
732750

733751
if (HAVE_MPI)
734752
add_executable (mpi-bench mpi/mpi-bench.c tests/hook.c tests/fftw-bench.c)
735753
target_include_directories (mpi-bench PRIVATE ${CMAKE_SOURCE_DIR}/api)
736754
target_include_directories (mpi-bench PRIVATE ${MPI_INCLUDE_PATH})
737755
target_link_libraries (mpi-bench libbench2 ${MPI_LIBRARIES} ${lib_name})
756+
if (OPENMP_FOUND)
757+
target_link_libraries(mpi-bench OpenMP::OpenMP_C)
758+
endif ()
738759
endif ()
739760

740761
enable_testing ()

COPYRIGHT

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* Copyright (c) 2003, 2007-14 Matteo Frigo
33
* Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
4-
* Copyright (C) 2019-2023, Advanced Micro Devices, Inc. All Rights Reserved.
4+
* Copyright (C) 2019-2024, Advanced Micro Devices, Inc. All Rights Reserved.
55
*
66
* This program is free software; you can redistribute it and/or modify
77
* it under the terms of the GNU General Public License as published by

0 commit comments

Comments
 (0)