From ab4d6082cddb04ee4165c874a185e971cef51d4e Mon Sep 17 00:00:00 2001 From: Vahid Tavanashad Date: Mon, 9 Sep 2024 20:40:26 -0700 Subject: [PATCH 1/3] conditional compiler version --- CMakeLists.txt | 5 +++++ dpnp/backend/extensions/fft/common.hpp | 23 ++++++++++++++++++++--- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e7aea026fe72..e26f53ef8d62 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,6 +46,11 @@ else() find_package(oneDPL REQUIRED PATHS ${CMAKE_SOURCE_DIR}/dpnp/backend/cmake/Modules NO_DEFAULT_PATH) endif() +if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "2025.0.0") + add_definitions(-DCOMPILER_VERSION_FLAG=1) +else() + add_definitions(-DCOMPILER_VERSION_FLAG=0) +endif() include(GNUInstallDirs) diff --git a/dpnp/backend/extensions/fft/common.hpp b/dpnp/backend/extensions/fft/common.hpp index a9534d95c71f..59760be3ab2a 100644 --- a/dpnp/backend/extensions/fft/common.hpp +++ b/dpnp/backend/extensions/fft/common.hpp @@ -111,8 +111,12 @@ class DescriptorWrapper const typename valT::value_type dim = get_dim(); valT fwd_strides(dim + 1); +#if COMPILER_VERSION_FLAG + descr_.get_value(mkl_dft::config_param::FWD_STRIDES, &fwd_strides); +#else descr_.get_value(mkl_dft::config_param::FWD_STRIDES, fwd_strides.data()); +#endif return fwd_strides; } @@ -126,6 +130,11 @@ class DescriptorWrapper "Strides length does not match descriptor's dimension"); } descr_.set_value(mkl_dft::config_param::FWD_STRIDES, strides.data()); +#if COMPILER_VERSION_FLAG + descr_.set_value(mkl_dft::config_param::FWD_STRIDES, strides); +#else + descr_.set_value(mkl_dft::config_param::FWD_STRIDES, strides.data()); +#endif } // config_param::BWD_STRIDES @@ -135,8 +144,12 @@ class DescriptorWrapper const typename valT::value_type dim = get_dim(); valT bwd_strides(dim + 1); +#if COMPILER_COMPILER_VERSION_FLAG + descr_.get_value(mkl_dft::config_param::BWD_STRIDES, &bwd_strides); +#else descr_.get_value(mkl_dft::config_param::BWD_STRIDES, bwd_strides.data()); +#endif return bwd_strides; } @@ -149,7 +162,11 @@ class DescriptorWrapper throw py::value_error( "Strides length does not match descriptor's dimension"); } +#if COMPILER_VERSION_FLAG + descr_.set_value(mkl_dft::config_param::BWD_STRIDES, strides); +#else descr_.set_value(mkl_dft::config_param::BWD_STRIDES, strides.data()); +#endif } // config_param::FWD_DISTANCE @@ -187,7 +204,7 @@ class DescriptorWrapper // config_param::PLACEMENT bool get_in_place() { -#if defined(USE_ONEMKL_INTERFACES) +#if defined(USE_ONEMKL_INTERFACES) || COMPILER_VERSION_FLAG mkl_dft::config_value placement; descr_.get_value(mkl_dft::config_param::PLACEMENT, &placement); return (placement == mkl_dft::config_value::INPLACE); @@ -201,7 +218,7 @@ class DescriptorWrapper void set_in_place(const bool &in_place_request) { -#if defined(USE_ONEMKL_INTERFACES) +#if defined(USE_ONEMKL_INTERFACES) || COMPILER_VERSION_FLAG descr_.set_value(mkl_dft::config_param::PLACEMENT, (in_place_request) ? mkl_dft::config_value::INPLACE @@ -227,7 +244,7 @@ class DescriptorWrapper // config_param::COMMIT_STATUS bool is_committed() { -#if defined(USE_ONEMKL_INTERFACES) +#if defined(USE_ONEMKL_INTERFACES) || COMPILER_VERSION_FLAG mkl_dft::config_value committed; descr_.get_value(mkl_dft::config_param::COMMIT_STATUS, &committed); return (committed == mkl_dft::config_value::COMMITTED); From 733658cbd9e2fadd3604d6e4a02782a0e00c0f74 Mon Sep 17 00:00:00 2001 From: Vahid Tavanashad Date: Wed, 11 Sep 2024 13:00:33 -0500 Subject: [PATCH 2/3] address comments --- CMakeLists.txt | 4 ++-- dpnp/backend/extensions/fft/common.hpp | 28 +++++++++++++------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e26f53ef8d62..191816e160f9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,9 +47,9 @@ else() endif() if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "2025.0.0") - add_definitions(-DCOMPILER_VERSION_FLAG=1) + add_definitions(-DCOMPILER_VERSION_2025_OR_LATER=1) else() - add_definitions(-DCOMPILER_VERSION_FLAG=0) + add_definitions(-DCOMPILER_VERSION_2025_OR_LATER=0) endif() include(GNUInstallDirs) diff --git a/dpnp/backend/extensions/fft/common.hpp b/dpnp/backend/extensions/fft/common.hpp index 59760be3ab2a..6b192bcb4bfb 100644 --- a/dpnp/backend/extensions/fft/common.hpp +++ b/dpnp/backend/extensions/fft/common.hpp @@ -111,12 +111,12 @@ class DescriptorWrapper const typename valT::value_type dim = get_dim(); valT fwd_strides(dim + 1); -#if COMPILER_VERSION_FLAG +#if COMPILER_VERSION_2025_OR_LATER descr_.get_value(mkl_dft::config_param::FWD_STRIDES, &fwd_strides); #else descr_.get_value(mkl_dft::config_param::FWD_STRIDES, fwd_strides.data()); -#endif +#endif // COMPILER_VERSION_2025_OR_LATER return fwd_strides; } @@ -130,11 +130,11 @@ class DescriptorWrapper "Strides length does not match descriptor's dimension"); } descr_.set_value(mkl_dft::config_param::FWD_STRIDES, strides.data()); -#if COMPILER_VERSION_FLAG +#if COMPILER_VERSION_2025_OR_LATER descr_.set_value(mkl_dft::config_param::FWD_STRIDES, strides); #else descr_.set_value(mkl_dft::config_param::FWD_STRIDES, strides.data()); -#endif +#endif // COMPILER_VERSION_2025_OR_LATER } // config_param::BWD_STRIDES @@ -144,12 +144,12 @@ class DescriptorWrapper const typename valT::value_type dim = get_dim(); valT bwd_strides(dim + 1); -#if COMPILER_COMPILER_VERSION_FLAG +#if COMPILER_COMPILER_VERSION_2025_OR_LATER descr_.get_value(mkl_dft::config_param::BWD_STRIDES, &bwd_strides); #else descr_.get_value(mkl_dft::config_param::BWD_STRIDES, bwd_strides.data()); -#endif +#endif // COMPILER_VERSION_2025_OR_LATER return bwd_strides; } @@ -162,11 +162,11 @@ class DescriptorWrapper throw py::value_error( "Strides length does not match descriptor's dimension"); } -#if COMPILER_VERSION_FLAG +#if COMPILER_VERSION_2025_OR_LATER descr_.set_value(mkl_dft::config_param::BWD_STRIDES, strides); #else descr_.set_value(mkl_dft::config_param::BWD_STRIDES, strides.data()); -#endif +#endif // COMPILER_VERSION_2025_OR_LATER } // config_param::FWD_DISTANCE @@ -204,7 +204,7 @@ class DescriptorWrapper // config_param::PLACEMENT bool get_in_place() { -#if defined(USE_ONEMKL_INTERFACES) || COMPILER_VERSION_FLAG +#if defined(USE_ONEMKL_INTERFACES) || COMPILER_VERSION_2025_OR_LATER mkl_dft::config_value placement; descr_.get_value(mkl_dft::config_param::PLACEMENT, &placement); return (placement == mkl_dft::config_value::INPLACE); @@ -213,12 +213,12 @@ class DescriptorWrapper DFTI_CONFIG_VALUE placement; descr_.get_value(mkl_dft::config_param::PLACEMENT, &placement); return (placement == DFTI_CONFIG_VALUE::DFTI_INPLACE); -#endif // USE_ONEMKL_INTERFACES +#endif // USE_ONEMKL_INTERFACES or COMPILER_VERSION_2025_OR_LATER } void set_in_place(const bool &in_place_request) { -#if defined(USE_ONEMKL_INTERFACES) || COMPILER_VERSION_FLAG +#if defined(USE_ONEMKL_INTERFACES) || COMPILER_VERSION_2025_OR_LATER descr_.set_value(mkl_dft::config_param::PLACEMENT, (in_place_request) ? mkl_dft::config_value::INPLACE @@ -229,7 +229,7 @@ class DescriptorWrapper (in_place_request) ? DFTI_CONFIG_VALUE::DFTI_INPLACE : DFTI_CONFIG_VALUE::DFTI_NOT_INPLACE); -#endif // USE_ONEMKL_INTERFACES +#endif // USE_ONEMKL_INTERFACES or COMPILER_VERSION_2025_OR_LATER } // config_param::PRECISION @@ -244,7 +244,7 @@ class DescriptorWrapper // config_param::COMMIT_STATUS bool is_committed() { -#if defined(USE_ONEMKL_INTERFACES) || COMPILER_VERSION_FLAG +#if defined(USE_ONEMKL_INTERFACES) || COMPILER_VERSION_2025_OR_LATER mkl_dft::config_value committed; descr_.get_value(mkl_dft::config_param::COMMIT_STATUS, &committed); return (committed == mkl_dft::config_value::COMMITTED); @@ -253,7 +253,7 @@ class DescriptorWrapper DFTI_CONFIG_VALUE committed; descr_.get_value(mkl_dft::config_param::COMMIT_STATUS, &committed); return (committed == DFTI_CONFIG_VALUE::DFTI_COMMITTED); -#endif // USE_ONEMKL_INTERFACES +#endif // USE_ONEMKL_INTERFACES or COMPILER_VERSION_2025_OR_LATER } private: From 80e1fd3779e729983b45cf698958ded45d360d1f Mon Sep 17 00:00:00 2001 From: vtavana <120411540+vtavana@users.noreply.github.com> Date: Wed, 11 Sep 2024 14:42:21 -0500 Subject: [PATCH 3/3] Update dpnp/backend/extensions/fft/common.hpp Co-authored-by: Natalia Polina --- dpnp/backend/extensions/fft/common.hpp | 1 - 1 file changed, 1 deletion(-) diff --git a/dpnp/backend/extensions/fft/common.hpp b/dpnp/backend/extensions/fft/common.hpp index 6b192bcb4bfb..a288475a1834 100644 --- a/dpnp/backend/extensions/fft/common.hpp +++ b/dpnp/backend/extensions/fft/common.hpp @@ -129,7 +129,6 @@ class DescriptorWrapper throw py::value_error( "Strides length does not match descriptor's dimension"); } - descr_.set_value(mkl_dft::config_param::FWD_STRIDES, strides.data()); #if COMPILER_VERSION_2025_OR_LATER descr_.set_value(mkl_dft::config_param::FWD_STRIDES, strides); #else