diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 186b39a1d..15b4b6227 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -81,13 +81,13 @@ jobs: - name: Install compiler if: steps.domain_check.outputs.result == 'true' run: | - wget --progress=dot:giga https://registrationcenter-download.intel.com/akdlm/IRC_NAS/ac92f2bb-4818-4e53-a432-f8b34d502f23/intel-dpcpp-cpp-compiler-2025.0.0.740_offline.sh - sudo bash intel-dpcpp-cpp-compiler-2025.0.0.740_offline.sh -s -a -s --action install --eula accept + wget --progress=dot:giga https://registrationcenter-download.intel.com/akdlm/IRC_NAS/cd63be99-88b0-4981-bea1-2034fe17f5cf/intel-dpcpp-cpp-compiler-2025.1.0.573_offline.sh + sudo bash intel-dpcpp-cpp-compiler-2025.1.0.573_offline.sh -s -a -s --action install --eula accept - name: Install Intel oneMKL if: steps.domain_check.outputs.result == 'true' run: | - wget --progress=dot:giga https://registrationcenter-download.intel.com/akdlm/IRC_NAS/79153e0f-74d7-45af-b8c2-258941adf58a/intel-onemkl-2025.0.0.940_offline.sh - sudo bash intel-onemkl-2025.0.0.940_offline.sh -s -a -s --action install --eula accept + wget --progress=dot:giga https://registrationcenter-download.intel.com/akdlm/IRC_NAS/dc93af13-2b3f-40c3-a41b-2bc05a707a80/intel-onemkl-2025.1.0.803_offline.sh + sudo bash intel-onemkl-2025.1.0.803_offline.sh -s -a -s --action install --eula accept - name: Configure/Build for a domain if: steps.domain_check.outputs.result == 'true' run: | diff --git a/cmake/mkl/MKLConfig.cmake b/cmake/mkl/MKLConfig.cmake index 0a65d91e6..4ec531569 100644 --- a/cmake/mkl/MKLConfig.cmake +++ b/cmake/mkl/MKLConfig.cmake @@ -224,7 +224,8 @@ endif() # Determine Compiler Family if(CXX_COMPILER_NAME STREQUAL "dpcpp" OR CXX_COMPILER_NAME STREQUAL "dpcpp.exe" - OR CXX_COMPILER_NAME STREQUAL "icpx" OR CXX_COMPILER_NAME STREQUAL "icx.exe") + OR CXX_COMPILER_NAME STREQUAL "icpx" OR CXX_COMPILER_NAME STREQUAL "icx.exe" + OR CXX_COMPILER_NAME STREQUAL "mpiicpx" OR CXX_COMPILER_NAME STREQUAL "mpiicx.bat") set(SYCL_COMPILER ON) endif() if(C_COMPILER_NAME MATCHES "^clang" OR CXX_COMPILER_NAME MATCHES "^clang") @@ -408,7 +409,7 @@ endif() # Define MKL_THREADING # All APIs support sequential threading -# SYCL API supports oneTBB and OpenMP threadings, but OpenMP threading might have composability problem on CPU device with other SYCL kernels +# SYCL API supports oneTBB and OpenMP threadings if(SYCL_COMPILER) set(MKL_SYCL_THREADING_LIST "sequential" "intel_thread" "tbb_thread") set(DEFAULT_MKL_SYCL_THREADING tbb_thread) @@ -420,12 +421,6 @@ if(SYCL_COMPILER) set(SYCL_COMPILER OFF) mkl_message(STATUS "MKL::MKL_SYCL target will not be available.") endif() - if(MKL_SYCL_THREADING STREQUAL "intel_thread") - mkl_message(STATUS "Using MKL::MKL_SYCL* targets with intel_thread may have potential composability problems on CPU device with other SYCL kernels.") - add_custom_target(MKL_SYCL_MESSAGE - COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --red - "Warning: Using MKL::MKL_SYCL* targets with intel_thread may have potential composability problems on CPU device with other SYCL kernels.") - endif() endif() # C, Fortran API set(MKL_THREADING_LIST "sequential" "intel_thread" "tbb_thread") @@ -509,12 +504,20 @@ if(SYCL_COMPILER) list(APPEND MKL_SYCL_COPT "-fsycl") list(APPEND MKL_SYCL_LOPT "-fsycl") if(MKL_SYCL_LINK STREQUAL "static") - list(APPEND MKL_SYCL_LOPT "-fsycl-device-code-split=per_kernel") + if(WIN32) + list(APPEND MKL_SYCL_LOPT "-fsycl-device-code-split:per_kernel") + else() + list(APPEND MKL_SYCL_LOPT "-fsycl-device-code-split=per_kernel") + endif() endif() endif() if(ENABLE_OMP_OFFLOAD) if(MKL_LINK STREQUAL "static") - list(APPEND MKL_OFFLOAD_LOPT "-fsycl-device-code-split=per_kernel") + if(WIN32) + list(APPEND MKL_OFFLOAD_LOPT "-fsycl-device-code-split:per_kernel") + else() + list(APPEND MKL_OFFLOAD_LOPT "-fsycl-device-code-split=per_kernel") + endif() endif() endif() @@ -998,7 +1001,6 @@ if(SYCL_COMPILER) if(NOT TARGET MKL::MKL_SYCL) add_library(MKL::MKL_SYCL INTERFACE IMPORTED GLOBAL) add_library(MKL::MKL_DPCPP ALIAS MKL::MKL_SYCL) - add_dependencies(MKL::MKL_SYCL MKL_SYCL_MESSAGE) endif() target_compile_options(MKL::MKL_SYCL INTERFACE $<$:${MKL_SYCL_COPT}>) target_link_libraries(MKL::MKL_SYCL INTERFACE ${MKL_SYCL_LINK_LINE} ${MKL_SYCL_THREAD_LIB} ${MKL_SYCL_SUPP_LINK}) @@ -1011,7 +1013,6 @@ if(SYCL_COMPILER) endif() string(TOUPPER ${MKL_SYCL_DOMAIN} MKL_SYCL_DOMAIN) add_library(MKL::MKL_SYCL::${MKL_SYCL_DOMAIN} INTERFACE IMPORTED GLOBAL) - add_dependencies(MKL::MKL_SYCL::${MKL_SYCL_DOMAIN} MKL_SYCL_MESSAGE) target_compile_options(MKL::MKL_SYCL::${MKL_SYCL_DOMAIN} INTERFACE $<$:${MKL_SYCL_COPT}>) # Only dynamic link has domain specific libraries # Domain specific targets still use mkl_sycl for static diff --git a/cmake/mkl/MKLConfigVersion.cmake b/cmake/mkl/MKLConfigVersion.cmake index 8b2e7f274..dd1911396 100755 --- a/cmake/mkl/MKLConfigVersion.cmake +++ b/cmake/mkl/MKLConfigVersion.cmake @@ -17,16 +17,16 @@ # SPDX-License-Identifier: Apache-2.0 #=============================================================================== -set(PACKAGE_VERSION "2025.0.0") +set(PACKAGE_VERSION "2025.1.0") if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) set(PACKAGE_VERSION_COMPATIBLE FALSE) else() - if("2025.0.0" MATCHES "^([0-9]+)\\.") + if("2025.1.0" MATCHES "^([0-9]+)\\.") set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}") else() - set(CVF_VERSION_MAJOR "2025.0.0") + set(CVF_VERSION_MAJOR "2025.1.0") endif() if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR) diff --git a/deps/googletest/CMakeLists.txt b/deps/googletest/CMakeLists.txt index f6a528753..d006c6b97 100644 --- a/deps/googletest/CMakeLists.txt +++ b/deps/googletest/CMakeLists.txt @@ -50,7 +50,7 @@ else() cmake_policy(SET CMP0048 NEW) project(gtest VERSION 1.8.1 LANGUAGES CXX C) endif() -cmake_minimum_required(VERSION 2.6.4) +cmake_minimum_required(VERSION 3.13) if (POLICY CMP0063) # Visibility cmake_policy(SET CMP0063 NEW) diff --git a/deps/googletest/cmake/internal_utils.cmake b/deps/googletest/cmake/internal_utils.cmake index b7b4fdc88..2c74c249d 100644 --- a/deps/googletest/cmake/internal_utils.cmake +++ b/deps/googletest/cmake/internal_utils.cmake @@ -242,7 +242,9 @@ function(cxx_executable name dir libs) endfunction() # Sets PYTHONINTERP_FOUND and PYTHON_EXECUTABLE. +if (CMAKE_VERSION VERSION_LESS 3.27) find_package(PythonInterp) +endif() # cxx_test_with_flags(name cxx_flags libs srcs...) #