Skip to content

Commit 641eacf

Browse files
authored
Backport gh-2193 (#2219)
This PR backports of #2193 from development branch to `maintenance/0.16.x`. The new GitHub actions from #2193 is not going to be part of that backport, because they require some extra functionality to be ported.
1 parent eaf343a commit 641eacf

File tree

3 files changed

+31
-7
lines changed

3 files changed

+31
-7
lines changed

CHANGELOG.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@ This is a bug-fix release.
1010

1111
### Changed
1212

13-
* Changed to use `Miniforge` installer in GutHub actions [#2057](https://github.com/IntelPython/dpnp/pull/2057)
13+
* Changed to use `Miniforge` installer in GitHub actions [#2057](https://github.com/IntelPython/dpnp/pull/2057)
1414
* Updated `README.md` to reflect current installation requirements and available options [#2166](https://github.com/IntelPython/dpnp/pull/2166)
15-
* Corrected a list of owners and code maintainers [#2185](https://github.com/IntelPython/dpnp/pull/2185)
15+
* Corrected the list of owners and code maintainers [#2185](https://github.com/IntelPython/dpnp/pull/2185)
16+
* 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)
1617

1718
### Fixed
1819

@@ -21,6 +22,7 @@ This is a bug-fix release.
2122
* Fixed incorrect result produced by `dpnp.fft.fft` function when input array has negative strides [#2202](https://github.com/IntelPython/dpnp/pull/2202)
2223
* Resolved a compilation error when building with DPC++ 2025.1 compiler [#2211](https://github.com/IntelPython/dpnp/pull/2211)
2324

25+
2426
## [0.16.0] - 10/14/2024
2527

2628
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.

CMakeLists.txt

+11-5
Original file line numberDiff line numberDiff line change
@@ -115,11 +115,17 @@ if(_use_onemkl_interfaces)
115115
set(ENABLE_MKLGPU_BACKEND False)
116116
set(ENABLE_MKLCPU_BACKEND False)
117117
endif()
118-
FetchContent_Declare(
119-
onemkl_interfaces_library
120-
GIT_REPOSITORY https://github.com/oneapi-src/oneMKL.git
121-
GIT_TAG f2d2dcb4213a435bb60fbb88320c5f24892423ce
122-
)
118+
119+
if(DPNP_ONEMKL_INTERFACES_DIR)
120+
FetchContent_Declare(onemkl_interfaces_library SOURCE_DIR "${DPNP_ONEMKL_INTERFACES_DIR}")
121+
else()
122+
FetchContent_Declare(
123+
onemkl_interfaces_library
124+
GIT_REPOSITORY https://github.com/oneapi-src/oneMKL.git
125+
GIT_TAG 8f4312ef966420b9b8b4b82b9d5c22e2c91a1fe7 # v0.6
126+
)
127+
endif()
128+
123129
FetchContent_MakeAvailable(onemkl_interfaces_library)
124130
set(CMAKE_INSTALL_RPATH "${CMAKE_BINARY_DIR}/lib")
125131
endif()

scripts/build_locally.py

+16
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ def run(
4040
cmake_opts="",
4141
target="intel",
4242
onemkl_interfaces=False,
43+
onemkl_interfaces_dir=None,
4344
):
4445
build_system = None
4546

@@ -108,6 +109,13 @@ def run(
108109
"-DDPNP_USE_ONEMKL_INTERFACES=ON",
109110
]
110111

112+
if onemkl_interfaces_dir:
113+
cmake_args += [
114+
f"-DDPNP_ONEMKL_INTERFACES_DIR={onemkl_interfaces_dir}",
115+
]
116+
elif onemkl_interfaces_dir:
117+
RuntimeError("--onemkl-interfaces-dir option is not supported")
118+
111119
subprocess.check_call(
112120
cmake_args, shell=False, cwd=setup_dir, env=os.environ
113121
)
@@ -175,6 +183,13 @@ def run(
175183
dest="onemkl_interfaces",
176184
action="store_true",
177185
)
186+
driver.add_argument(
187+
"--onemkl-interfaces-dir",
188+
help="Local directory with source of oneMKL Interfaces",
189+
dest="onemkl_interfaces_dir",
190+
default=None,
191+
type=str,
192+
)
178193
args = parser.parse_args()
179194

180195
args_to_validate = [
@@ -230,4 +245,5 @@ def run(
230245
cmake_opts=args.cmake_opts,
231246
target=args.target,
232247
onemkl_interfaces=args.onemkl_interfaces,
248+
onemkl_interfaces_dir=args.onemkl_interfaces_dir,
233249
)

0 commit comments

Comments
 (0)