Skip to content

Commit 27371a0

Browse files
committed
Update the folder deps for oneAPI v2025.0.0
1 parent c3041da commit 27371a0

File tree

8 files changed

+82
-11
lines changed

8 files changed

+82
-11
lines changed

deps/Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ oneAPI_Level_Zero_Headers_jll = "f4bc562b-d309-54f8-9efb-476e56f0410d"
1212
oneAPI_Support_Headers_jll = "24f86df5-245d-5634-a4cc-32433d9800b3"
1313

1414
[compat]
15-
oneAPI_Support_Headers_jll = "=2024.2.0"
15+
oneAPI_Support_Headers_jll = "=2025.0.0"

deps/build_local.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ if !isfile(joinpath(conda_dir, "condarc-julia.yml"))
4545
touch(joinpath(conda_dir, "conda-meta", "history"))
4646
end
4747
Conda.add_channel("https://software.repos.intel.com/python/conda/", conda_dir)
48-
Conda.add(["dpcpp_linux-64=2024.2.0", "mkl-devel-dpcpp=2024.2.0"], conda_dir)
48+
Conda.add(["dpcpp_linux-64=2025.0.0", "mkl-devel-dpcpp=2025.0.0"], conda_dir)
4949

5050
Conda.list(conda_dir)
5151

deps/generate_helpers.jl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
non_parametric_routines = ["init_matrix_handle", "release_matrix_handle", "set_matrix_property",
22
"init_matmat_descr", "release_matmat_descr", "set_matmat_data", "get_matmat_data", "matmat",
3-
"omatcopy", "sort_matrix", "optimize_gemv", "optimize_trmv", "optimize_trsv", "optimize_trsm"]
3+
"omatcopy", "sort_matrix", "optimize_gemv", "optimize_trmv", "optimize_trsv", "optimize_trsm",
4+
"init_omatconvert_descr", "release_omatconvert_descr", "init_omatadd_descr", "release_omatadd_descr",
5+
"omatconvert_buffer_size", "omatconvert_analyze", "omatconvert_get_nnz", "omatconvert",
6+
"omatadd_buffer_size", "omatadd_analyze", "omatadd_get_nnz"]
47

58
function analyzer_template(library::String, cpp_headers::String, name_routine::String)
69
list_parameters = Vector{String}[]

deps/generate_interfaces.jl

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@ using oneAPI_Support_Headers_jll
22

33
include("generate_helpers.jl")
44

5-
blas = [joinpath(oneAPI_Support_Headers_jll.artifact_dir, "include", "oneapi", "mkl", "blas", "buffer_decls.hpp")]
6-
lapack = [joinpath(oneAPI_Support_Headers_jll.artifact_dir, "include", "oneapi", "mkl", "lapack", "lapack.hpp"),
7-
joinpath(oneAPI_Support_Headers_jll.artifact_dir, "include", "oneapi", "mkl", "lapack", "scratchpad.hpp")]
8-
sparse = [joinpath(oneAPI_Support_Headers_jll.artifact_dir, "include", "oneapi", "mkl", "spblas", "sparse_structures.hpp"),
9-
joinpath(oneAPI_Support_Headers_jll.artifact_dir, "include", "oneapi", "mkl", "spblas", "sparse_auxiliary.hpp"),
10-
joinpath(oneAPI_Support_Headers_jll.artifact_dir, "include", "oneapi", "mkl", "spblas", "sparse_operations.hpp")]
5+
include_dir = joinpath(oneAPI_Support_Headers_jll.artifact_dir, "include")
6+
blas = [joinpath(include_dir, "oneapi", "mkl", "blas", "buffer_decls.hpp")]
7+
lapack = [joinpath(include_dir, "oneapi", "mkl", "lapack", "lapack.hpp"),
8+
joinpath(include_dir, "oneapi", "mkl", "lapack", "scratchpad.hpp")]
9+
sparse = [joinpath(include_dir, "oneapi", "mkl", "spblas", "sparse_structures.hpp"),
10+
joinpath(include_dir, "oneapi", "mkl", "spblas", "sparse_auxiliary.hpp"),
11+
joinpath(include_dir, "oneapi", "mkl", "spblas", "sparse_operations.hpp")]
1112

1213
dict_version = Dict{Int, Char}(1 => 'S', 2 => 'D', 3 => 'C', 4 => 'Z')
1314

@@ -23,7 +24,8 @@ version_types_header = Dict{Char, String}('S' => "float",
2324

2425
comments = ["namespace", "#", "}", "/*", "*", "//", "[[", "ONEMKL_DECLARE_", "ONEMKL_INLINE_DECLARE"]
2526

26-
void_output = ["init_matrix_handle", "init_matmat_descr", "release_matmat_descr", "set_matmat_data", "get_matmat_data"]
27+
void_output = ["init_matrix_handle", "init_matmat_descr", "release_matmat_descr", "set_matmat_data",
28+
"get_matmat_data", "init_omatadd_descr", "init_omatconvert_desc"]
2729

2830
function generate_headers(library::String, filename::Vector{String}, output::String; pattern::String="")
2931
routines = Dict{String,Int}()
@@ -189,6 +191,8 @@ function generate_headers(library::String, filename::Vector{String}, output::Str
189191
header = replace(header, ",)" => ")")
190192
header = replace(header, " void" => "void")
191193
header = replace(header, " sycl::event" => "sycl::event")
194+
header = replace(header, "* const* " => "**")
195+
header = replace(header, "int64_t**" => "int64_t **")
192196

193197
ind1 = findfirst(' ', header)
194198
ind2 = findfirst('(', header)
@@ -245,6 +249,7 @@ function generate_headers(library::String, filename::Vector{String}, output::Str
245249
(version == 'C') && (header = replace(header, "std::complex " => "float _Complex "))
246250
(version == 'Z') && (header = replace(header, "std::complex " => "double _Complex "))
247251
end
252+
header = replace(header, "omatconvert (" => "omatconvert(")
248253
header = replace(header, "transpose " => "onemklTranspose ")
249254
header = replace(header, "uplo " => "onemklUplo ")
250255
header = replace(header, "diag " => "onemklDiag ")
@@ -255,6 +260,8 @@ function generate_headers(library::String, filename::Vector{String}, output::Str
255260
header = replace(header, "sparse::matrix_view_descr " => "onemklMatrixView ")
256261
header = replace(header, "matrix_view_descr " => "onemklMatrixView ")
257262
header = replace(header, "sparse::matmat_request " => "onemklMatmatRequest ")
263+
header = replace(header, "omatconvert_alg " => "onemklOmatconvertAlg ")
264+
header = replace(header, "omatadd_alg " => "onemklOmataddAlg ")
258265
header = replace(header, name_routine => "sparse_" * name_routine)
259266
end
260267
push!(signatures, (header, name_routine, version, type_routine, template))
@@ -381,6 +388,10 @@ function generate_cpp(library::String, filename::Vector{String}, output::String;
381388
parameters = replace(parameters, "matrix_handle_t " => "(oneapi::mkl::sparse::matrix_handle_t) ")
382389
parameters = replace(parameters, "matmat_descr_t *" => "(oneapi::mkl::sparse::matmat_descr_t*) ")
383390
parameters = replace(parameters, "matmat_descr_t " => "(oneapi::mkl::sparse::matmat_descr_t) ")
391+
parameters = replace(parameters, "omatadd_descr_t *" => "(oneapi::mkl::sparse::omatadd_descr_t*) ")
392+
parameters = replace(parameters, "omatadd_descr_t " => "(oneapi::mkl::sparse::omatadd_descr_t) ")
393+
parameters = replace(parameters, "omatconvert_descr_t *" => "(oneapi::mkl::sparse::omatconvert_descr_t*) ")
394+
parameters = replace(parameters, "omatconvert_descr_t " => "(oneapi::mkl::sparse::omatconvert_descr_t) ")
384395
parameters = replace(parameters, "short **" => "reinterpret_cast<sycl::half **>")
385396
parameters = replace(parameters, "float _Complex **" => "reinterpret_cast<std::complex<float> **>")
386397
parameters = replace(parameters, "double _Complex **" => "reinterpret_cast<std::complex<double> **>")
@@ -407,7 +418,8 @@ function generate_cpp(library::String, filename::Vector{String}, output::String;
407418

408419
for type in ("onemklTranspose", "onemklSide", "onemklUplo", "onemklDiag", "onemklGenerate",
409420
"onemklLayout", "onemklJob", "onemklJobsvd", "onemklCompz", "onemklRangev",
410-
"onemklIndex", "onemklProperty", "onemklMatrixView", "onemklMatmatRequest")
421+
"onemklIndex", "onemklProperty", "onemklMatrixView", "onemklMatmatRequest",
422+
"onemklOmatconvertAlg", "onemklOmataddAlg")
411423
parameters = replace(parameters, Regex("$type ([A-Za-z0-9_]+),") => SubstitutionString("convert(\\1),"))
412424
parameters = replace(parameters, Regex(", $type ([A-Za-z0-9_]+)") => SubstitutionString(", convert(\\1)"))
413425
end

deps/onemkl_prologue.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,20 @@ oneapi::mkl::sparse::matmat_request convert(onemklMatmatRequest val) {
266266
}
267267
}
268268

269+
oneapi::mkl::sparse::omatconvert_alg convert(onemklOmatconvertAlg val) {
270+
switch (val) {
271+
case ONEMKL_OMATCONVERT_DEFAULT_ALG:
272+
return oneapi::mkl::sparse::omatconvert_alg::default_alg;
273+
}
274+
}
275+
276+
oneapi::mkl::sparse::omatadd_alg convert(onemklOmataddAlg val) {
277+
switch (val) {
278+
case ONEMKL_OMATADD_DEFAULT_ALG:
279+
return oneapi::mkl::sparse::omatadd_alg::default_alg;
280+
}
281+
}
282+
269283
// gemm
270284
// https://spec.oneapi.io/versions/1.0-rev-1/elements/oneMKL/source/domains/blas/gemm.html
271285
class gemmBatchInfo {

deps/onemkl_prologue.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,12 +120,26 @@ typedef enum {
120120
ONEMKL_MATMAT_REQUEST_FINALIZE,
121121
} onemklMatmatRequest;
122122

123+
typedef enum {
124+
ONEMKL_OMATCONVERT_DEFAULT_ALG,
125+
} onemklOmatconvertAlg;
126+
127+
typedef enum {
128+
ONEMKL_OMATADD_DEFAULT_ALG,
129+
} onemklOmataddAlg;
130+
123131
struct matrix_handle;
124132
typedef struct matrix_handle *matrix_handle_t;
125133

126134
struct matmat_descr;
127135
typedef struct matmat_descr *matmat_descr_t;
128136

137+
struct omatconvert_descr;
138+
typedef struct omatconvert_descr *omatconvert_descr_t;
139+
140+
struct omatadd_descr;
141+
typedef struct omatadd_descr *omatadd_descr_t;
142+
129143
int onemklHgemm_batch(syclQueue_t device_queue, onemklTranspose transa,
130144
onemklTranspose transb, int64_t *m,
131145
int64_t *n, int64_t *k, uint16_t *alpha,

deps/src/onemkl.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,20 @@ oneapi::mkl::sparse::matmat_request convert(onemklMatmatRequest val) {
266266
}
267267
}
268268

269+
oneapi::mkl::sparse::omatconvert_alg convert(onemklOmatconvertAlg val) {
270+
switch (val) {
271+
case ONEMKL_OMATCONVERT_DEFAULT_ALG:
272+
return oneapi::mkl::sparse::omatconvert_alg::default_alg;
273+
}
274+
}
275+
276+
oneapi::mkl::sparse::omatadd_alg convert(onemklOmataddAlg val) {
277+
switch (val) {
278+
case ONEMKL_OMATADD_DEFAULT_ALG:
279+
return oneapi::mkl::sparse::omatadd_alg::default_alg;
280+
}
281+
}
282+
269283
// gemm
270284
// https://spec.oneapi.io/versions/1.0-rev-1/elements/oneMKL/source/domains/blas/gemm.html
271285
class gemmBatchInfo {

deps/src/onemkl.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,12 +120,26 @@ typedef enum {
120120
ONEMKL_MATMAT_REQUEST_FINALIZE,
121121
} onemklMatmatRequest;
122122

123+
typedef enum {
124+
ONEMKL_OMATCONVERT_DEFAULT_ALG,
125+
} onemklOmatconvertAlg;
126+
127+
typedef enum {
128+
ONEMKL_OMATADD_DEFAULT_ALG,
129+
} onemklOmataddAlg;
130+
123131
struct matrix_handle;
124132
typedef struct matrix_handle *matrix_handle_t;
125133

126134
struct matmat_descr;
127135
typedef struct matmat_descr *matmat_descr_t;
128136

137+
struct omatconvert_descr;
138+
typedef struct omatconvert_descr *omatconvert_descr_t;
139+
140+
struct omatadd_descr;
141+
typedef struct omatadd_descr *omatadd_descr_t;
142+
129143
int onemklHgemm_batch(syclQueue_t device_queue, onemklTranspose transa,
130144
onemklTranspose transb, int64_t *m,
131145
int64_t *n, int64_t *k, uint16_t *alpha,

0 commit comments

Comments
 (0)