diff --git a/CHANGELOG.md b/CHANGELOG.md index d6eadc72dc36..d305a5b593b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,9 +10,10 @@ This is a bug-fix release. ### Changed -* Changed to use `Miniforge` installer in GutHub actions [#2057](https://github.com/IntelPython/dpnp/pull/2057) +* Changed to use `Miniforge` installer in GitHub actions [#2057](https://github.com/IntelPython/dpnp/pull/2057) * Updated `README.md` to reflect current installation requirements and available options [#2166](https://github.com/IntelPython/dpnp/pull/2166) -* Corrected a list of owners and code maintainers [#2185](https://github.com/IntelPython/dpnp/pull/2185) +* Corrected the list of owners and code maintainers [#2185](https://github.com/IntelPython/dpnp/pull/2185) +* Bumped the version of `oneMKL` interface used in dpnp build by default to align it with `2025.0` oneAPI release [#2193](https://github.com/IntelPython/dpnp/pull/2193) ### Fixed @@ -21,6 +22,7 @@ This is a bug-fix release. * Fixed incorrect result produced by `dpnp.fft.fft` function when input array has negative strides [#2202](https://github.com/IntelPython/dpnp/pull/2202) * Resolved a compilation error when building with DPC++ 2025.1 compiler [#2211](https://github.com/IntelPython/dpnp/pull/2211) + ## [0.16.0] - 10/14/2024 This release reaches an important milestone by making offloading fully asynchronous. Calls to `dpnp` submit tasks for execution to DPC++ runtime and return without waiting for execution of these tasks to finish. The sequential semantics a user comes to expect from execution of Python script is preserved though. diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e2b260cb39d..a1cadf1cdf7b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -115,11 +115,17 @@ if(_use_onemkl_interfaces) set(ENABLE_MKLGPU_BACKEND False) set(ENABLE_MKLCPU_BACKEND False) endif() - FetchContent_Declare( - onemkl_interfaces_library - GIT_REPOSITORY https://github.com/oneapi-src/oneMKL.git - GIT_TAG f2d2dcb4213a435bb60fbb88320c5f24892423ce - ) + + if(DPNP_ONEMKL_INTERFACES_DIR) + FetchContent_Declare(onemkl_interfaces_library SOURCE_DIR "${DPNP_ONEMKL_INTERFACES_DIR}") + else() + FetchContent_Declare( + onemkl_interfaces_library + GIT_REPOSITORY https://github.com/oneapi-src/oneMKL.git + GIT_TAG 8f4312ef966420b9b8b4b82b9d5c22e2c91a1fe7 # v0.6 + ) + endif() + FetchContent_MakeAvailable(onemkl_interfaces_library) set(CMAKE_INSTALL_RPATH "${CMAKE_BINARY_DIR}/lib") endif() diff --git a/scripts/build_locally.py b/scripts/build_locally.py index 0c0b29efd3bb..9ace383cfc19 100644 --- a/scripts/build_locally.py +++ b/scripts/build_locally.py @@ -40,6 +40,7 @@ def run( cmake_opts="", target="intel", onemkl_interfaces=False, + onemkl_interfaces_dir=None, ): build_system = None @@ -108,6 +109,13 @@ def run( "-DDPNP_USE_ONEMKL_INTERFACES=ON", ] + if onemkl_interfaces_dir: + cmake_args += [ + f"-DDPNP_ONEMKL_INTERFACES_DIR={onemkl_interfaces_dir}", + ] + elif onemkl_interfaces_dir: + RuntimeError("--onemkl-interfaces-dir option is not supported") + subprocess.check_call( cmake_args, shell=False, cwd=setup_dir, env=os.environ ) @@ -175,6 +183,13 @@ def run( dest="onemkl_interfaces", action="store_true", ) + driver.add_argument( + "--onemkl-interfaces-dir", + help="Local directory with source of oneMKL Interfaces", + dest="onemkl_interfaces_dir", + default=None, + type=str, + ) args = parser.parse_args() args_to_validate = [ @@ -230,4 +245,5 @@ def run( cmake_opts=args.cmake_opts, target=args.target, onemkl_interfaces=args.onemkl_interfaces, + onemkl_interfaces_dir=args.onemkl_interfaces_dir, )