Skip to content

Commit 5bf5fc4

Browse files
committed
replace oneMKL interfaces with oneMath
1 parent 0d01250 commit 5bf5fc4

19 files changed

+133
-132
lines changed

.github/workflows/check-mkl-interfaces.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Test oneMKL interfaces
1+
name: Test oneAPI Math Library (oneMath)
22

33
on:
44
push:
@@ -15,7 +15,7 @@ env:
1515
build-with-oneapi-env: 'environments/build_with_oneapi.yml'
1616
dpctl-pkg-env: 'environments/dpctl_pkg.yml'
1717
oneapi-pkgs-env: 'environments/oneapi_pkgs.yml'
18-
test-env-name: 'test_onemkl_interfaces'
18+
test-env-name: 'test_onemath'
1919
rerun-tests-on-failure: 'true'
2020
rerun-tests-max-attempts: 2
2121
rerun-tests-timeout: 20
@@ -58,7 +58,7 @@ jobs:
5858
path: ${{ env.environment-file }}
5959

6060
test_by_tag:
61-
name: Run tests with oneMKL tag
61+
name: Run tests with OneMath tag
6262

6363
needs: build_env_file
6464

@@ -116,7 +116,7 @@ jobs:
116116
117117
- name: Build and install DPNP package
118118
run: |
119-
python scripts/build_locally.py --onemkl-interfaces --verbose
119+
python scripts/build_locally.py --onemath --verbose
120120
121121
- name: Smoke test
122122
run: |
@@ -148,7 +148,7 @@ jobs:
148148
SYCL_CACHE_PERSISTENT: 1
149149

150150
test_by_branch:
151-
name: Run tests with oneMKL develop branch
151+
name: Run tests with oneMath develop branch
152152

153153
needs: build_env_file
154154

@@ -221,7 +221,7 @@ jobs:
221221
222222
- name: Build and install DPNP package
223223
run: |
224-
python scripts/build_locally.py --onemkl-interfaces --onemkl-interfaces-dir=${{ env.onemkl-source-dir }} --verbose
224+
python scripts/build_locally.py --onemath --onemath-dir=${{ env.onemkl-source-dir }} --verbose
225225
226226
- name: Smoke test
227227
run: |

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1515
* Adjusted the `pre-commit` configuration to run autoupdate weekly [#2479](https://github.com/IntelPython/dpnp/pull/2479)
1616
* Improved validation of `--target-hip` build option to only accept a gfx-prefixed value [#2481](https://github.com/IntelPython/dpnp/pull/2481)
1717
* Cleaned up backend code to remove obsolete and unused parts of functionality [#2485](https://github.com/IntelPython/dpnp/pull/2485)
18+
* Renamed `--onemkl-interfaces` and `--onemkl-interfaces-dir` options for building script to `--onemath` and `--onemath-dir` to align with [oneMath specification](https://oneapi-spec.uxlfoundation.org/specifications/oneapi/latest/elements/onemath/source/) [#2487](https://github.com/IntelPython/dpnp/pull/2487)
1819

1920
### Fixed
2021

CMakeLists.txt

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ find_package(Dpctl REQUIRED)
6868
message(STATUS "Dpctl_INCLUDE_DIR=" ${Dpctl_INCLUDE_DIR})
6969
message(STATUS "Dpctl_TENSOR_INCLUDE_DIR=" ${Dpctl_TENSOR_INCLUDE_DIR})
7070

71-
option(DPNP_USE_ONEMKL_INTERFACES
72-
"Build DPNP with oneMKL Interfaces"
71+
option(DPNP_USE_ONEMATH
72+
"Build DPNP with oneMath"
7373
OFF
7474
)
7575
set(DPNP_TARGET_CUDA
@@ -82,9 +82,9 @@ or to a specific architecture like sm_80."
8282
set(HIP_TARGETS "" CACHE STRING "HIP architecture for target")
8383

8484
set(_dpnp_sycl_targets)
85-
set(_use_onemkl_interfaces OFF)
86-
set(_use_onemkl_interfaces_cuda OFF)
87-
set(_use_onemkl_interfaces_hip OFF)
85+
set(_use_onemath OFF)
86+
set(_use_onemath_cuda OFF)
87+
set(_use_onemath_hip OFF)
8888

8989
set(_dpnp_sycl_target_compile_options)
9090
set(_dpnp_sycl_target_link_options)
@@ -103,7 +103,7 @@ if ("x${DPNP_SYCL_TARGETS}" STREQUAL "x")
103103
)
104104
endif()
105105
set(_dpnp_sycl_targets "nvidia_gpu_${_dpnp_cuda_arch},spir64-unknown-unknown")
106-
set(_use_onemkl_interfaces_cuda ON)
106+
set(_use_onemath_cuda ON)
107107
endif()
108108

109109
if (HIP_TARGETS)
@@ -113,7 +113,7 @@ if ("x${DPNP_SYCL_TARGETS}" STREQUAL "x")
113113
else()
114114
set(_dpnp_sycl_targets "amd_gpu_${HIP_TARGETS},${_dpnp_sycl_targets}")
115115
endif()
116-
set(_use_onemkl_interfaces_hip ON)
116+
set(_use_onemath_hip ON)
117117
else()
118118
message(FATAL_ERROR
119119
"Invalid value for HIP_TARGETS: \"${HIP_TARGETS}\". "
@@ -125,11 +125,11 @@ else()
125125
set(_dpnp_sycl_targets ${DPNP_SYCL_TARGETS})
126126

127127
if("${DPNP_SYCL_TARGETS}" MATCHES "(nvidia_gpu_sm_|nvptx64-nvidia-cuda)")
128-
set(_use_onemkl_interfaces_cuda ON)
128+
set(_use_onemath_cuda ON)
129129
endif()
130130

131131
if ("${DPNP_SYCL_TARGETS}" MATCHES "amd_gpu_")
132-
set(_use_onemkl_interfaces_hip ON)
132+
set(_use_onemath_hip ON)
133133

134134
if ("x${HIP_TARGETS}" STREQUAL "x")
135135
message(FATAL_ERROR "HIP_TARGETS must be specified when using HIP backend")
@@ -150,35 +150,35 @@ if (_dpnp_sycl_targets)
150150
list(APPEND _dpnp_sycl_target_link_options -fsycl-targets=${_dpnp_sycl_targets})
151151
endif()
152152

153-
if(DPNP_USE_ONEMKL_INTERFACES)
154-
set(_use_onemkl_interfaces ON)
153+
if(DPNP_USE_ONEMATH)
154+
set(_use_onemath ON)
155155
else()
156-
if(DEFINED ENV{DPNP_USE_ONEMKL_INTERFACES})
157-
set(_use_onemkl_interfaces ON)
156+
if(DEFINED ENV{DPNP_USE_ONEMATH})
157+
set(_use_onemath ON)
158158
endif()
159159
endif()
160160

161-
if(_use_onemkl_interfaces)
161+
if(_use_onemath)
162162
set(BUILD_FUNCTIONAL_TESTS False)
163163
set(BUILD_EXAMPLES False)
164164
set(ENABLE_MKLGPU_BACKEND True)
165165
set(ENABLE_MKLCPU_BACKEND True)
166166

167-
if(_use_onemkl_interfaces_cuda)
167+
if(_use_onemath_cuda)
168168
set(ENABLE_CUBLAS_BACKEND True)
169169
set(ENABLE_CUSOLVER_BACKEND True)
170170
set(ENABLE_CUFFT_BACKEND True)
171171
# set(ENABLE_CURAND_BACKEND True)
172172
endif()
173-
if(_use_onemkl_interfaces_hip)
173+
if(_use_onemath_hip)
174174
set(ENABLE_ROCBLAS_BACKEND True)
175175
set(ENABLE_ROCSOLVER_BACKEND True)
176176
set(ENABLE_ROCFFT_BACKEND True)
177177
# set(ENABLE_ROCRAND_BACKEND True)
178178
endif()
179179

180-
if(DPNP_ONEMKL_INTERFACES_DIR)
181-
FetchContent_Declare(onemath_library SOURCE_DIR "${DPNP_ONEMKL_INTERFACES_DIR}")
180+
if(DPNP_ONEMATH_DIR)
181+
FetchContent_Declare(onemath_library SOURCE_DIR "${DPNP_ONEMATH_DIR}")
182182
else()
183183
FetchContent_Declare(
184184
onemath_library
@@ -189,19 +189,19 @@ if(_use_onemkl_interfaces)
189189

190190
FetchContent_MakeAvailable(onemath_library)
191191
if(TARGET onemath)
192-
set(MKL_INTERFACES_LIB "onemath" CACHE INTERNAL "OneMath lib target")
192+
set(ONEMATH_LIB "onemath" CACHE INTERNAL "OneMath lib target")
193193
elseif(TARGET onemkl)
194-
set(MKL_INTERFACES_LIB "onemkl" CACHE INTERNAL "OneMKL lib target")
194+
set(ONEMATH_LIB "onemkl" CACHE INTERNAL "OneMKL lib target")
195195
else()
196196
message(FATAL_ERROR "Neither 'oneMath' nor 'oneMKL' found!")
197197
endif()
198-
message(STATUS "MKL interfaces lib target used: ${MKL_INTERFACES_LIB}")
198+
message(STATUS "OneMath lib target used: ${ONEMATH_LIB}")
199199
set(CMAKE_INSTALL_RPATH "${CMAKE_BINARY_DIR}/lib")
200200
else()
201-
if(_use_onemkl_interfaces_cuda OR _use_onemkl_interfaces_hip)
201+
if(_use_onemath_cuda OR _use_onemath_hip)
202202
message(FATAL_ERROR
203-
"CUDA or HIP targets are enabled, but oneMKL Interfaces are not. "
204-
"Please set DPNP_USE_ONEMKL_INTERFACES=ON to enable them."
203+
"CUDA or HIP targets are enabled, but oneMath is not. "
204+
"Please set DPNP_USE_ONEMATH=ON to enable them."
205205
)
206206
endif()
207207
endif()

dpnp/backend/extensions/blas/CMakeLists.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,11 @@ if (DPNP_GENERATE_COVERAGE)
8383
target_link_options(${python_module_name} PRIVATE -fprofile-instr-generate -fcoverage-mapping)
8484
endif()
8585

86-
if(_use_onemkl_interfaces)
87-
target_link_libraries(${python_module_name} PRIVATE ${MKL_INTERFACES_LIB})
88-
target_compile_options(${python_module_name} PRIVATE -DUSE_ONEMKL_INTERFACES)
89-
if(_use_onemkl_interfaces_cuda)
90-
target_compile_options(${python_module_name} PRIVATE -DUSE_ONEMKL_CUBLAS)
86+
if(_ues_onemath)
87+
target_link_libraries(${python_module_name} PRIVATE ${ONEMATH_LIB})
88+
target_compile_options(${python_module_name} PRIVATE -DUSE_ONEMATH)
89+
if(_ues_onemath_cuda)
90+
target_compile_options(${python_module_name} PRIVATE -DUSE_ONEMATH_CUBLAS)
9191
endif()
9292
else()
9393
target_link_libraries(${python_module_name} PUBLIC MKL::MKL_SYCL::BLAS)

dpnp/backend/extensions/blas/blas_py.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,14 +143,14 @@ PYBIND11_MODULE(_blas_impl, m)
143143

144144
{
145145
m.def(
146-
"_using_onemkl_interfaces",
146+
"_using_onemath",
147147
[]() {
148-
#ifdef USE_ONEMKL_INTERFACES
148+
#ifdef USE_ONEMATH
149149
return true;
150150
#else
151151
return false;
152152
#endif
153153
},
154-
"Check if the OneMKL interfaces are being used.");
154+
"Check if OneMath is being used.");
155155
}
156156
}

dpnp/backend/extensions/blas/gemm.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@ typedef sycl::event (*gemm_impl_fn_ptr_t)(sycl::queue &,
5555
const std::int64_t,
5656
char *,
5757
const std::int64_t,
58-
#if !defined(USE_ONEMKL_CUBLAS)
58+
#if !defined(USE_ONEMATH_CUBLAS)
5959
const bool,
60-
#endif // !USE_ONEMKL_CUBLAS
60+
#endif // !USE_ONEMATH_CUBLAS
6161
const std::vector<sycl::event> &);
6262

6363
static gemm_impl_fn_ptr_t gemm_dispatch_table[dpctl_td_ns::num_types]
@@ -76,9 +76,9 @@ static sycl::event gemm_impl(sycl::queue &exec_q,
7676
const std::int64_t ldb,
7777
char *resultC,
7878
const std::int64_t ldc,
79-
#if !defined(USE_ONEMKL_CUBLAS)
79+
#if !defined(USE_ONEMATH_CUBLAS)
8080
const bool is_row_major,
81-
#endif // !USE_ONEMKL_CUBLAS
81+
#endif // !USE_ONEMATH_CUBLAS
8282
const std::vector<sycl::event> &depends)
8383
{
8484
type_utils::validate_type_for_device<Tab>(exec_q);
@@ -100,7 +100,7 @@ static sycl::event gemm_impl(sycl::queue &exec_q,
100100
const Tab *a, const std::int64_t lda, const Tab *b,
101101
const std::int64_t ldb, Tab beta, Tc *c, const std::int64_t ldc,
102102
const std::vector<sycl::event> &deps) -> sycl::event {
103-
#if defined(USE_ONEMKL_CUBLAS)
103+
#if defined(USE_ONEMATH_CUBLAS)
104104
return mkl_blas::column_major::gemm(q, transA, transB, m, n, k,
105105
alpha, a, lda, b, ldb, beta, c,
106106
ldc, deps);
@@ -115,7 +115,7 @@ static sycl::event gemm_impl(sycl::queue &exec_q,
115115
alpha, a, lda, b, ldb, beta,
116116
c, ldc, deps);
117117
}
118-
#endif // USE_ONEMKL_CUBLAS
118+
#endif // USE_ONEMATH_CUBLAS
119119
};
120120
gemm_event = gemm_func(
121121
exec_q,
@@ -241,7 +241,7 @@ std::tuple<sycl::event, sycl::event, bool>
241241
std::int64_t ldb;
242242

243243
// cuBLAS supports only column-major storage
244-
#if defined(USE_ONEMKL_CUBLAS)
244+
#if defined(USE_ONEMATH_CUBLAS)
245245
const bool is_row_major = false;
246246

247247
transA = is_matrixA_c_contig ? oneapi::mkl::transpose::T
@@ -291,7 +291,7 @@ std::tuple<sycl::event, sycl::event, bool>
291291
lda = m;
292292
ldb = k;
293293
}
294-
#endif // USE_ONEMKL_CUBLAS
294+
#endif // USE_ONEMATH_CUBLAS
295295

296296
const std::int64_t ldc = is_row_major ? n : m;
297297

@@ -320,15 +320,15 @@ std::tuple<sycl::event, sycl::event, bool>
320320
const char *b_typeless_ptr = matrixB.get_data();
321321
char *r_typeless_ptr = resultC.get_data();
322322

323-
#if defined(USE_ONEMKL_CUBLAS)
323+
#if defined(USE_ONEMATH_CUBLAS)
324324
sycl::event gemm_ev =
325325
gemm_fn(exec_q, transA, transB, m, n, k, a_typeless_ptr, lda,
326326
b_typeless_ptr, ldb, r_typeless_ptr, ldc, depends);
327327
#else
328328
sycl::event gemm_ev = gemm_fn(exec_q, transA, transB, m, n, k,
329329
a_typeless_ptr, lda, b_typeless_ptr, ldb,
330330
r_typeless_ptr, ldc, is_row_major, depends);
331-
#endif // USE_ONEMKL_CUBLAS
331+
#endif // USE_ONEMATH_CUBLAS
332332

333333
sycl::event args_ev = dpctl::utils::keep_args_alive(
334334
exec_q, {matrixA, matrixB, resultC}, {gemm_ev});

dpnp/backend/extensions/blas/gemm_batch.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,9 @@ typedef sycl::event (*gemm_batch_impl_fn_ptr_t)(
6060
const char *,
6161
const char *,
6262
char *,
63-
#if !defined(USE_ONEMKL_CUBLAS)
63+
#if !defined(USE_ONEMATH_CUBLAS)
6464
const bool,
65-
#endif // !USE_ONEMKL_CUBLAS
65+
#endif // !USE_ONEMATH_CUBLAS
6666
const std::vector<sycl::event> &);
6767

6868
static gemm_batch_impl_fn_ptr_t
@@ -85,9 +85,9 @@ static sycl::event gemm_batch_impl(sycl::queue &exec_q,
8585
const char *matrixA,
8686
const char *matrixB,
8787
char *resultC,
88-
#if !defined(USE_ONEMKL_CUBLAS)
88+
#if !defined(USE_ONEMATH_CUBLAS)
8989
const bool is_row_major,
90-
#endif // !USE_ONEMKL_CUBLAS
90+
#endif // !USE_ONEMATH_CUBLAS
9191
const std::vector<sycl::event> &depends)
9292
{
9393
type_utils::validate_type_for_device<Tab>(exec_q);
@@ -112,7 +112,7 @@ static sycl::event gemm_batch_impl(sycl::queue &exec_q,
112112
Tc *c, const std::int64_t ldc, const std::int64_t stridec,
113113
const std::int64_t batch_size,
114114
const std::vector<sycl::event> &deps) -> sycl::event {
115-
#if defined(USE_ONEMKL_CUBLAS)
115+
#if defined(USE_ONEMATH_CUBLAS)
116116
return mkl_blas::column_major::gemm_batch(
117117
q, transA, transB, m, n, k, alpha, a, lda, stridea, b, ldb,
118118
strideb, beta, c, ldc, stridec, batch_size, deps);
@@ -127,7 +127,7 @@ static sycl::event gemm_batch_impl(sycl::queue &exec_q,
127127
q, transA, transB, m, n, k, alpha, a, lda, stridea, b, ldb,
128128
strideb, beta, c, ldc, stridec, batch_size, deps);
129129
}
130-
#endif // USE_ONEMKL_CUBLAS
130+
#endif // USE_ONEMATH_CUBLAS
131131
};
132132
gemm_batch_event = gemm_batch_func(
133133
exec_q,
@@ -316,7 +316,7 @@ std::tuple<sycl::event, sycl::event, bool>
316316
std::int64_t ldb;
317317

318318
// cuBLAS supports only column-major storage
319-
#if defined(USE_ONEMKL_CUBLAS)
319+
#if defined(USE_ONEMATH_CUBLAS)
320320
const bool is_row_major = false;
321321

322322
transA = A_base_is_c_contig ? oneapi::mkl::transpose::T
@@ -367,7 +367,7 @@ std::tuple<sycl::event, sycl::event, bool>
367367
lda = m;
368368
ldb = k;
369369
}
370-
#endif // USE_ONEMKL_CUBLAS
370+
#endif // USE_ONEMATH_CUBLAS
371371

372372
const std::int64_t ldc = is_row_major ? n : m;
373373

@@ -396,7 +396,7 @@ std::tuple<sycl::event, sycl::event, bool>
396396
const char *b_typeless_ptr = matrixB.get_data();
397397
char *r_typeless_ptr = resultC.get_data();
398398

399-
#if defined(USE_ONEMKL_CUBLAS)
399+
#if defined(USE_ONEMATH_CUBLAS)
400400
sycl::event gemm_batch_ev =
401401
gemm_batch_fn(exec_q, m, n, k, batch_size, lda, ldb, ldc, stridea,
402402
strideb, stridec, transA, transB, a_typeless_ptr,
@@ -406,7 +406,7 @@ std::tuple<sycl::event, sycl::event, bool>
406406
gemm_batch_fn(exec_q, m, n, k, batch_size, lda, ldb, ldc, stridea,
407407
strideb, stridec, transA, transB, a_typeless_ptr,
408408
b_typeless_ptr, r_typeless_ptr, is_row_major, depends);
409-
#endif // USE_ONEMKL_CUBLAS
409+
#endif // USE_ONEMATH_CUBLAS
410410

411411
sycl::event args_ev = dpctl::utils::keep_args_alive(
412412
exec_q, {matrixA, matrixB, resultC}, {gemm_batch_ev});

0 commit comments

Comments
 (0)