Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ This is a bug-fix release.
* Changed to use `Miniforge` installer in GutHub 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)
* Bumped a 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

Expand All @@ -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.
Expand Down
16 changes: 11 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down
16 changes: 16 additions & 0 deletions scripts/build_locally.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ def run(
cmake_opts="",
target="intel",
onemkl_interfaces=False,
onemkl_interfaces_dir=None,
):
build_system = None

Expand Down Expand Up @@ -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
)
Expand Down Expand Up @@ -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 = [
Expand Down Expand Up @@ -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,
)
Loading