mkl-devel-dpcpp 2025.1.0__py2.py3-none-win_amd64.whl → 2025.3.0__py2.py3-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.3.0.data}/data/Library/lib/mkl_sycl.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.3.0.data}/data/Library/lib/mkl_sycl_blas_dll.lib +0 -0
- mkl_devel_dpcpp-2025.3.0.data/data/Library/lib/mkl_sycl_dft_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.3.0.data}/data/Library/lib/mkl_sycl_dll.lib +0 -0
- mkl_devel_dpcpp-2025.3.0.data/data/Library/lib/mkl_sycl_lapack_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.3.0.data}/data/Library/lib/mkl_sycl_rng_dll.lib +0 -0
- mkl_devel_dpcpp-2025.3.0.data/data/Library/lib/mkl_sycl_sparse_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.3.0.dist-info}/METADATA +5 -4
- mkl_devel_dpcpp-2025.3.0.dist-info/RECORD +15 -0
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/bfloat16.hpp +0 -26
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/buffer.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/buffer_decls.hpp +0 -880
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/types.hpp +0 -60
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/usm.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/usm_decls.hpp +0 -1240
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas.hpp +0 -34
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/dft/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/dft.hpp +0 -254
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/dfti.hpp +0 -22
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/exceptions.hpp +0 -110
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/experimental/data_fitting/interpolate.hpp +0 -67
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/experimental/data_fitting/spline_and_data_params.hpp +0 -68
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/experimental/data_fitting/splines.hpp +0 -177
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/experimental/data_fitting.hpp +0 -22
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/export.hpp +0 -25
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/concepts.hpp +0 -55
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/exceptions.hpp +0 -75
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/lapack.hpp +0 -1096
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/scratchpad.hpp +0 -107
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack.hpp +0 -24
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/detail/engine_base.hpp +0 -48
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/bernoulli_impl.hpp +0 -89
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/beta_impl.hpp +0 -463
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/bits_impl.hpp +0 -71
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/distribution_base.hpp +0 -85
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/engine_base.hpp +0 -43
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/engine_helpers_base.hpp +0 -54
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/exponential_impl.hpp +0 -116
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/gamma_impl.hpp +0 -285
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/gaussian_impl.hpp +0 -270
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/geometric_impl.hpp +0 -99
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/lognormal_impl.hpp +0 -105
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg31m1_helpers_impl.hpp +0 -117
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg31m1_impl.hpp +0 -223
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg59_helpers_impl.hpp +0 -118
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg59_impl.hpp +0 -266
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mrg32k3a_helpers_impl.hpp +0 -125
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mrg32k3a_impl.hpp +0 -385
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mrg32k3a_skip_ahead_matrix.hpp +0 -3668
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/philox4x32x10_helpers_impl.hpp +0 -141
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/philox4x32x10_impl.hpp +0 -552
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/poisson_impl.hpp +0 -328
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/types.hpp +0 -58
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/uniform_bits_impl.hpp +0 -51
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/uniform_impl.hpp +0 -287
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/vm_wrappers.hpp +0 -183
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/distributions.hpp +0 -700
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/engine_helpers.hpp +0 -116
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/engines.hpp +0 -187
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/functions.hpp +0 -59
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/types.hpp +0 -79
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device.hpp +0 -29
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/distributions.hpp +0 -1913
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/engines.hpp +0 -788
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/functions.hpp +0 -163
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng.hpp +0 -23
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas/sparse_auxiliary.hpp +0 -111
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas/sparse_operations.hpp +0 -446
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas/sparse_structures.hpp +0 -193
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas.hpp +0 -33
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/stats/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/stats.hpp +0 -357
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/types.hpp +0 -321
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/buffer.hpp +0 -3529
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/decls.hpp +0 -280
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/decls.hpp +0 -81
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/dispatch.hpp +0 -1059
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/ep.hpp +0 -861
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/ha.hpp +0 -860
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/la.hpp +0 -860
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/rts.hpp +0 -4608
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/scalar.hpp +0 -8963
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/vm.hpp +0 -460
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/span.hpp +0 -3813
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/usm.hpp +0 -3581
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm.hpp +0 -31
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl.hpp +0 -35
- mkl_devel_dpcpp-2025.1.0.data/data/Library/lib/mkl_sycl_dft_dll.lib +0 -0
- mkl_devel_dpcpp-2025.1.0.data/data/Library/lib/mkl_sycl_lapack_dll.lib +0 -0
- mkl_devel_dpcpp-2025.1.0.data/data/Library/lib/mkl_sycl_sparse_dll.lib +0 -0
- mkl_devel_dpcpp-2025.1.0.dist-info/RECORD +0 -99
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.3.0.data}/data/Library/lib/mkl_sycl_data_fitting_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.3.0.data}/data/Library/lib/mkl_sycl_stats_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.3.0.data}/data/Library/lib/mkl_sycl_vm_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.3.0.dist-info}/LICENSE.txt +0 -0
- {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.3.0.dist-info}/WHEEL +0 -0
- {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.3.0.dist-info}/top_level.txt +0 -0
|
@@ -1,446 +0,0 @@
|
|
|
1
|
-
/*******************************************************************************
|
|
2
|
-
* Copyright (C) 2019 Intel Corporation
|
|
3
|
-
*
|
|
4
|
-
* This software and the related documents are Intel copyrighted materials, and
|
|
5
|
-
* your use of them is governed by the express license under which they were
|
|
6
|
-
* provided to you (License). Unless the License provides otherwise, you may not
|
|
7
|
-
* use, modify, copy, publish, distribute, disclose or transmit this software or
|
|
8
|
-
* the related documents without Intel's prior written permission.
|
|
9
|
-
*
|
|
10
|
-
* This software and the related documents are provided as is, with no express
|
|
11
|
-
* or implied warranties, other than those that are expressly stated in the
|
|
12
|
-
* License.
|
|
13
|
-
*******************************************************************************/
|
|
14
|
-
|
|
15
|
-
#ifndef _ONEMKL_SPARSE_OPERATIONS_HPP_
|
|
16
|
-
#define _ONEMKL_SPARSE_OPERATIONS_HPP_
|
|
17
|
-
|
|
18
|
-
#include <sycl/sycl.hpp>
|
|
19
|
-
#include <complex>
|
|
20
|
-
#include <cstddef>
|
|
21
|
-
#include <cstdint>
|
|
22
|
-
#include <stdexcept>
|
|
23
|
-
|
|
24
|
-
#include "oneapi/mkl/export.hpp"
|
|
25
|
-
#include "oneapi/mkl/types.hpp"
|
|
26
|
-
#include "oneapi/mkl/exceptions.hpp"
|
|
27
|
-
|
|
28
|
-
#include "oneapi/mkl/spblas/sparse_structures.hpp"
|
|
29
|
-
|
|
30
|
-
namespace oneapi {
|
|
31
|
-
namespace mkl {
|
|
32
|
-
namespace sparse {
|
|
33
|
-
|
|
34
|
-
/******************************************************************************/
|
|
35
|
-
DLL_EXPORT sycl::event
|
|
36
|
-
optimize_gemv(sycl::queue &queue,
|
|
37
|
-
transpose opA,
|
|
38
|
-
matrix_handle_t A,
|
|
39
|
-
const std::vector<sycl::event> &dependencies = {});
|
|
40
|
-
|
|
41
|
-
/******************************************************************************/
|
|
42
|
-
DLL_EXPORT sycl::event
|
|
43
|
-
optimize_trmv(sycl::queue &queue,
|
|
44
|
-
uplo uplo_val,
|
|
45
|
-
transpose opA,
|
|
46
|
-
diag diag_val,
|
|
47
|
-
matrix_handle_t A,
|
|
48
|
-
const std::vector<sycl::event> &dependencies = {});
|
|
49
|
-
|
|
50
|
-
/******************************************************************************/
|
|
51
|
-
DLL_EXPORT sycl::event
|
|
52
|
-
optimize_trsv(sycl::queue &queue,
|
|
53
|
-
uplo uplo_val,
|
|
54
|
-
transpose opA,
|
|
55
|
-
diag diag_val,
|
|
56
|
-
matrix_handle_t A,
|
|
57
|
-
const std::vector<sycl::event> &dependencies = {});
|
|
58
|
-
|
|
59
|
-
/******************************************************************************/
|
|
60
|
-
DLL_EXPORT sycl::event
|
|
61
|
-
optimize_trsm(sycl::queue &queue,
|
|
62
|
-
uplo uplo_val,
|
|
63
|
-
transpose opA,
|
|
64
|
-
diag diag_val,
|
|
65
|
-
matrix_handle_t A,
|
|
66
|
-
const std::vector<sycl::event> &dependencies = {});
|
|
67
|
-
|
|
68
|
-
/******************************************************************************/
|
|
69
|
-
DLL_EXPORT sycl::event
|
|
70
|
-
optimize_trsm(sycl::queue &queue,
|
|
71
|
-
layout layout_val,
|
|
72
|
-
uplo uplo_val,
|
|
73
|
-
transpose opA,
|
|
74
|
-
diag diag_val,
|
|
75
|
-
matrix_handle_t A,
|
|
76
|
-
const std::int64_t columns,
|
|
77
|
-
const std::vector<sycl::event> &dependencies = {});
|
|
78
|
-
|
|
79
|
-
/******************************************************************************/
|
|
80
|
-
#define ONEMKL_DECLARE_SPARSE_GEMV(FpType) \
|
|
81
|
-
DLL_EXPORT void gemv(sycl::queue &queue, \
|
|
82
|
-
transpose opA, \
|
|
83
|
-
const FpType alpha, \
|
|
84
|
-
matrix_handle_t A, \
|
|
85
|
-
sycl::buffer<FpType, 1> &x, \
|
|
86
|
-
const FpType beta, \
|
|
87
|
-
sycl::buffer<FpType, 1> &y); \
|
|
88
|
-
DLL_EXPORT sycl::event gemv(sycl::queue &queue, \
|
|
89
|
-
transpose opA, \
|
|
90
|
-
const FpType alpha, \
|
|
91
|
-
matrix_handle_t A, \
|
|
92
|
-
const FpType *x, \
|
|
93
|
-
const FpType beta, \
|
|
94
|
-
FpType *y, \
|
|
95
|
-
const std::vector<sycl::event> &dependencies = {})
|
|
96
|
-
|
|
97
|
-
ONEMKL_DECLARE_SPARSE_GEMV(float);
|
|
98
|
-
ONEMKL_DECLARE_SPARSE_GEMV(double);
|
|
99
|
-
ONEMKL_DECLARE_SPARSE_GEMV(std::complex<float>);
|
|
100
|
-
ONEMKL_DECLARE_SPARSE_GEMV(std::complex<double>);
|
|
101
|
-
|
|
102
|
-
#undef ONEMKL_DECLARE_SPARSE_GEMV
|
|
103
|
-
|
|
104
|
-
/******************************************************************************/
|
|
105
|
-
#define ONEMKL_DECLARE_SPARSE_GEMVDOT(FpType) \
|
|
106
|
-
DLL_EXPORT void gemvdot(sycl::queue &queue, \
|
|
107
|
-
transpose opA, \
|
|
108
|
-
const FpType alpha, \
|
|
109
|
-
matrix_handle_t A, \
|
|
110
|
-
sycl::buffer<FpType, 1> &x, \
|
|
111
|
-
const FpType beta, \
|
|
112
|
-
sycl::buffer<FpType, 1> &y, \
|
|
113
|
-
sycl::buffer<FpType, 1> &d); \
|
|
114
|
-
DLL_EXPORT sycl::event gemvdot(sycl::queue &queue, \
|
|
115
|
-
transpose opA, \
|
|
116
|
-
const FpType alpha, \
|
|
117
|
-
matrix_handle_t A, \
|
|
118
|
-
const FpType *x, \
|
|
119
|
-
const FpType beta, \
|
|
120
|
-
FpType *y, \
|
|
121
|
-
FpType *d, \
|
|
122
|
-
const std::vector<sycl::event> &dependencies = {})
|
|
123
|
-
|
|
124
|
-
ONEMKL_DECLARE_SPARSE_GEMVDOT(float);
|
|
125
|
-
ONEMKL_DECLARE_SPARSE_GEMVDOT(double);
|
|
126
|
-
ONEMKL_DECLARE_SPARSE_GEMVDOT(std::complex<float>);
|
|
127
|
-
ONEMKL_DECLARE_SPARSE_GEMVDOT(std::complex<double>);
|
|
128
|
-
|
|
129
|
-
#undef ONEMKL_DECLARE_SPARSE_GEMVDOT
|
|
130
|
-
|
|
131
|
-
/******************************************************************************/
|
|
132
|
-
#define ONEMKL_DECLARE_SPARSE_SYMV(FpType) \
|
|
133
|
-
DLL_EXPORT void symv(sycl::queue &queue, \
|
|
134
|
-
uplo uplo_val, \
|
|
135
|
-
const FpType alpha, \
|
|
136
|
-
matrix_handle_t A, \
|
|
137
|
-
sycl::buffer<FpType, 1> &x, \
|
|
138
|
-
const FpType beta, \
|
|
139
|
-
sycl::buffer<FpType, 1> &y); \
|
|
140
|
-
DLL_EXPORT sycl::event symv(sycl::queue &queue, \
|
|
141
|
-
uplo uplo_val, \
|
|
142
|
-
const FpType alpha, \
|
|
143
|
-
matrix_handle_t A, \
|
|
144
|
-
const FpType *x, \
|
|
145
|
-
const FpType beta, \
|
|
146
|
-
FpType *y, \
|
|
147
|
-
const std::vector<sycl::event> &dependencies = {})
|
|
148
|
-
|
|
149
|
-
ONEMKL_DECLARE_SPARSE_SYMV(float);
|
|
150
|
-
ONEMKL_DECLARE_SPARSE_SYMV(double);
|
|
151
|
-
ONEMKL_DECLARE_SPARSE_SYMV(std::complex<float>);
|
|
152
|
-
ONEMKL_DECLARE_SPARSE_SYMV(std::complex<double>);
|
|
153
|
-
|
|
154
|
-
#undef ONEMKL_DECLARE_SPARSE_SYMV
|
|
155
|
-
|
|
156
|
-
/******************************************************************************/
|
|
157
|
-
#define ONEMKL_DECLARE_SPARSE_TRMV(FpType) \
|
|
158
|
-
DLL_EXPORT void trmv(sycl::queue &queue, \
|
|
159
|
-
uplo uplo_val, \
|
|
160
|
-
transpose opA, \
|
|
161
|
-
diag diag_val, \
|
|
162
|
-
const FpType alpha, \
|
|
163
|
-
matrix_handle_t A, \
|
|
164
|
-
sycl::buffer<FpType, 1> &x, \
|
|
165
|
-
const FpType beta, \
|
|
166
|
-
sycl::buffer<FpType, 1> &y); \
|
|
167
|
-
DLL_EXPORT sycl::event trmv(sycl::queue &queue, \
|
|
168
|
-
uplo uplo_val, \
|
|
169
|
-
transpose opA, \
|
|
170
|
-
diag diag_val, \
|
|
171
|
-
const FpType alpha, \
|
|
172
|
-
matrix_handle_t A, \
|
|
173
|
-
const FpType *x, \
|
|
174
|
-
const FpType beta, \
|
|
175
|
-
FpType *y, \
|
|
176
|
-
const std::vector<sycl::event> &dependencies = {})
|
|
177
|
-
|
|
178
|
-
ONEMKL_DECLARE_SPARSE_TRMV(float);
|
|
179
|
-
ONEMKL_DECLARE_SPARSE_TRMV(double);
|
|
180
|
-
ONEMKL_DECLARE_SPARSE_TRMV(std::complex<float>);
|
|
181
|
-
ONEMKL_DECLARE_SPARSE_TRMV(std::complex<double>);
|
|
182
|
-
|
|
183
|
-
#undef ONEMKL_DECLARE_SPARSE_TRMV
|
|
184
|
-
|
|
185
|
-
/******************************************************************************/
|
|
186
|
-
#define ONEMKL_DECLARE_SPARSE_TRSV(FpType) \
|
|
187
|
-
DLL_EXPORT void trsv(sycl::queue &queue, \
|
|
188
|
-
uplo uplo_val, \
|
|
189
|
-
transpose opA, \
|
|
190
|
-
diag diag_val, \
|
|
191
|
-
const FpType alpha, \
|
|
192
|
-
matrix_handle_t A, \
|
|
193
|
-
sycl::buffer<FpType, 1> &x, \
|
|
194
|
-
sycl::buffer<FpType, 1> &y); \
|
|
195
|
-
DLL_EXPORT sycl::event trsv(sycl::queue &queue, \
|
|
196
|
-
uplo uplo_val, \
|
|
197
|
-
transpose opA, \
|
|
198
|
-
diag diag_val, \
|
|
199
|
-
const FpType alpha, \
|
|
200
|
-
matrix_handle_t A, \
|
|
201
|
-
const FpType *x, \
|
|
202
|
-
FpType *y, \
|
|
203
|
-
const std::vector<sycl::event> &dependencies = {})
|
|
204
|
-
|
|
205
|
-
ONEMKL_DECLARE_SPARSE_TRSV(float);
|
|
206
|
-
ONEMKL_DECLARE_SPARSE_TRSV(double);
|
|
207
|
-
ONEMKL_DECLARE_SPARSE_TRSV(std::complex<float>);
|
|
208
|
-
ONEMKL_DECLARE_SPARSE_TRSV(std::complex<double>);
|
|
209
|
-
|
|
210
|
-
#undef ONEMKL_DECLARE_SPARSE_TRSV
|
|
211
|
-
|
|
212
|
-
#define ONEMKL_DECLARE_DEPRECATED_SPARSE_TRSV(FpType) \
|
|
213
|
-
[[deprecated("Use oneapi::mkl::sparse::trsv(queue, ... , diag_val, /* alpha */ 1.0, ...) instead.")]] \
|
|
214
|
-
DLL_EXPORT void trsv(sycl::queue &queue, \
|
|
215
|
-
uplo uplo_val, \
|
|
216
|
-
transpose opA, \
|
|
217
|
-
diag diag_val, \
|
|
218
|
-
matrix_handle_t A, \
|
|
219
|
-
sycl::buffer<FpType, 1> &x, \
|
|
220
|
-
sycl::buffer<FpType, 1> &y); \
|
|
221
|
-
[[deprecated("Use oneapi::mkl::sparse::trsv(queue, ... , diag_val, /* alpha */ 1.0, ...) instead.")]] \
|
|
222
|
-
DLL_EXPORT sycl::event trsv(sycl::queue &queue, \
|
|
223
|
-
uplo uplo_val, \
|
|
224
|
-
transpose opA, \
|
|
225
|
-
diag diag_val, \
|
|
226
|
-
matrix_handle_t A, \
|
|
227
|
-
const FpType *x, \
|
|
228
|
-
FpType *y, \
|
|
229
|
-
const std::vector<sycl::event> &dependencies = {})
|
|
230
|
-
|
|
231
|
-
ONEMKL_DECLARE_DEPRECATED_SPARSE_TRSV(float);
|
|
232
|
-
ONEMKL_DECLARE_DEPRECATED_SPARSE_TRSV(double);
|
|
233
|
-
ONEMKL_DECLARE_DEPRECATED_SPARSE_TRSV(std::complex<float>);
|
|
234
|
-
ONEMKL_DECLARE_DEPRECATED_SPARSE_TRSV(std::complex<double>);
|
|
235
|
-
|
|
236
|
-
#undef ONEMKL_DECLARE_DEPRECATED_SPARSE_TRSV
|
|
237
|
-
|
|
238
|
-
/******************************************************************************/
|
|
239
|
-
#define ONEMKL_DECLARE_SPARSE_GEMM(FpType) \
|
|
240
|
-
DLL_EXPORT void gemm(sycl::queue &queue, \
|
|
241
|
-
layout layout_val, \
|
|
242
|
-
transpose opA, \
|
|
243
|
-
transpose opX, \
|
|
244
|
-
const FpType alpha, \
|
|
245
|
-
matrix_handle_t A, \
|
|
246
|
-
sycl::buffer<FpType, 1> &X, \
|
|
247
|
-
const std::int64_t columns, \
|
|
248
|
-
const std::int64_t ldx, \
|
|
249
|
-
const FpType beta, \
|
|
250
|
-
sycl::buffer<FpType, 1> &Y, \
|
|
251
|
-
const std::int64_t ldy); \
|
|
252
|
-
DLL_EXPORT sycl::event gemm(sycl::queue &queue, \
|
|
253
|
-
layout layout_val, \
|
|
254
|
-
transpose opA, \
|
|
255
|
-
transpose opX, \
|
|
256
|
-
const FpType alpha, \
|
|
257
|
-
matrix_handle_t A, \
|
|
258
|
-
const FpType *X, \
|
|
259
|
-
const std::int64_t columns, \
|
|
260
|
-
const std::int64_t ldx, \
|
|
261
|
-
const FpType beta, \
|
|
262
|
-
FpType *Y, \
|
|
263
|
-
const std::int64_t ldy, \
|
|
264
|
-
const std::vector<sycl::event> &dependencies = {})
|
|
265
|
-
|
|
266
|
-
ONEMKL_DECLARE_SPARSE_GEMM(float);
|
|
267
|
-
ONEMKL_DECLARE_SPARSE_GEMM(double);
|
|
268
|
-
ONEMKL_DECLARE_SPARSE_GEMM(std::complex<float>);
|
|
269
|
-
ONEMKL_DECLARE_SPARSE_GEMM(std::complex<double>);
|
|
270
|
-
|
|
271
|
-
#undef ONEMKL_DECLARE_SPARSE_GEMM
|
|
272
|
-
|
|
273
|
-
/******************************************************************************/
|
|
274
|
-
#define ONEMKL_DECLARE_SPARSE_TRSM(FpType) \
|
|
275
|
-
DLL_EXPORT void trsm(sycl::queue &queue, \
|
|
276
|
-
layout layout_val, \
|
|
277
|
-
transpose opA, \
|
|
278
|
-
transpose opX, \
|
|
279
|
-
uplo uplo_val, \
|
|
280
|
-
diag diag_val, \
|
|
281
|
-
const FpType alpha, \
|
|
282
|
-
matrix_handle_t A, \
|
|
283
|
-
sycl::buffer<FpType, 1> &X, \
|
|
284
|
-
const std::int64_t columns, \
|
|
285
|
-
const std::int64_t ldx, \
|
|
286
|
-
sycl::buffer<FpType, 1> &Y, \
|
|
287
|
-
const std::int64_t ldy); \
|
|
288
|
-
DLL_EXPORT sycl::event trsm(sycl::queue &queue, \
|
|
289
|
-
layout layout_val, \
|
|
290
|
-
transpose opA, \
|
|
291
|
-
transpose opX, \
|
|
292
|
-
uplo uplo_val, \
|
|
293
|
-
diag diag_val, \
|
|
294
|
-
const FpType alpha, \
|
|
295
|
-
matrix_handle_t A, \
|
|
296
|
-
const FpType *X, \
|
|
297
|
-
const std::int64_t columns, \
|
|
298
|
-
const std::int64_t ldx, \
|
|
299
|
-
FpType *Y, \
|
|
300
|
-
const std::int64_t ldy, \
|
|
301
|
-
const std::vector<sycl::event> &dependencies = {})
|
|
302
|
-
|
|
303
|
-
ONEMKL_DECLARE_SPARSE_TRSM(float);
|
|
304
|
-
ONEMKL_DECLARE_SPARSE_TRSM(double);
|
|
305
|
-
ONEMKL_DECLARE_SPARSE_TRSM(std::complex<float>);
|
|
306
|
-
ONEMKL_DECLARE_SPARSE_TRSM(std::complex<double>);
|
|
307
|
-
|
|
308
|
-
#undef ONEMKL_DECLARE_SPARSE_TRSM
|
|
309
|
-
|
|
310
|
-
/******************************************************************************/
|
|
311
|
-
DLL_EXPORT void set_matmat_data(matmat_descr_t descr,
|
|
312
|
-
matrix_view_descr viewA,
|
|
313
|
-
transpose opA,
|
|
314
|
-
matrix_view_descr viewB,
|
|
315
|
-
transpose opB,
|
|
316
|
-
matrix_view_descr viewC);
|
|
317
|
-
|
|
318
|
-
DLL_EXPORT void get_matmat_data(matmat_descr_t descr,
|
|
319
|
-
matrix_view_descr &viewA,
|
|
320
|
-
transpose &opA,
|
|
321
|
-
matrix_view_descr &viewB,
|
|
322
|
-
transpose &opB,
|
|
323
|
-
matrix_view_descr &viewC);
|
|
324
|
-
|
|
325
|
-
DLL_EXPORT sycl::event matmat(sycl::queue &queue,
|
|
326
|
-
matrix_handle_t A,
|
|
327
|
-
matrix_handle_t B,
|
|
328
|
-
matrix_handle_t C,
|
|
329
|
-
sparse::matmat_request req,
|
|
330
|
-
sparse::matmat_descr_t descr,
|
|
331
|
-
std::int64_t *sizeTempBuffer,
|
|
332
|
-
void *tempBuffer,
|
|
333
|
-
const std::vector<sycl::event> &dependencies);
|
|
334
|
-
|
|
335
|
-
DLL_EXPORT void matmat(sycl::queue &queue,
|
|
336
|
-
matrix_handle_t A,
|
|
337
|
-
matrix_handle_t B,
|
|
338
|
-
matrix_handle_t C,
|
|
339
|
-
sparse::matmat_request req,
|
|
340
|
-
sparse::matmat_descr_t descr,
|
|
341
|
-
sycl::buffer<std::int64_t, 1> *sizeTempBuffer,
|
|
342
|
-
sycl::buffer<std::uint8_t, 1> *tempBuffer);
|
|
343
|
-
|
|
344
|
-
/******************************************************************************/
|
|
345
|
-
#define ONEMKL_DECLARE_SPARSE_MATMATD(FpType) \
|
|
346
|
-
DLL_EXPORT void matmatd(sycl::queue &queue, \
|
|
347
|
-
layout c_layout, \
|
|
348
|
-
transpose opA, \
|
|
349
|
-
transpose opB, \
|
|
350
|
-
const FpType alpha, \
|
|
351
|
-
matrix_handle_t A, \
|
|
352
|
-
matrix_handle_t B, \
|
|
353
|
-
const FpType beta, \
|
|
354
|
-
sycl::buffer<FpType, 1> &C, \
|
|
355
|
-
const std::int64_t c_nrows, \
|
|
356
|
-
const std::int64_t c_ncols, \
|
|
357
|
-
const std::int64_t ldc); \
|
|
358
|
-
DLL_EXPORT sycl::event matmatd(sycl::queue &queue, \
|
|
359
|
-
layout c_layout, \
|
|
360
|
-
transpose opA, \
|
|
361
|
-
transpose opB, \
|
|
362
|
-
const FpType alpha, \
|
|
363
|
-
matrix_handle_t A, \
|
|
364
|
-
matrix_handle_t B, \
|
|
365
|
-
const FpType beta, \
|
|
366
|
-
FpType *C, \
|
|
367
|
-
const std::int64_t c_nrows, \
|
|
368
|
-
const std::int64_t c_ncols, \
|
|
369
|
-
const std::int64_t ldc, \
|
|
370
|
-
const std::vector<sycl::event> &dependencies = {})
|
|
371
|
-
|
|
372
|
-
ONEMKL_DECLARE_SPARSE_MATMATD(float);
|
|
373
|
-
ONEMKL_DECLARE_SPARSE_MATMATD(double);
|
|
374
|
-
ONEMKL_DECLARE_SPARSE_MATMATD(std::complex<float>);
|
|
375
|
-
ONEMKL_DECLARE_SPARSE_MATMATD(std::complex<double>);
|
|
376
|
-
|
|
377
|
-
#undef ONEMKL_DECLARE_SPARSE_MATMATD
|
|
378
|
-
|
|
379
|
-
/******************************************************************************/
|
|
380
|
-
DLL_EXPORT void omatadd_buffer_size(sycl::queue &queue,
|
|
381
|
-
transpose opA,
|
|
382
|
-
transpose opB,
|
|
383
|
-
matrix_handle_t A,
|
|
384
|
-
matrix_handle_t B,
|
|
385
|
-
matrix_handle_t C,
|
|
386
|
-
omatadd_alg alg,
|
|
387
|
-
omatadd_descr_t omatadd_desc,
|
|
388
|
-
std::int64_t &sizeTempWorkspace);
|
|
389
|
-
|
|
390
|
-
DLL_EXPORT void omatadd_analyze(sycl::queue &queue,
|
|
391
|
-
transpose opA,
|
|
392
|
-
transpose opB,
|
|
393
|
-
matrix_handle_t A,
|
|
394
|
-
matrix_handle_t B,
|
|
395
|
-
matrix_handle_t C,
|
|
396
|
-
omatadd_alg alg,
|
|
397
|
-
omatadd_descr_t omatadd_desc,
|
|
398
|
-
sycl::buffer<std::uint8_t, 1> *tempWorkspace);
|
|
399
|
-
|
|
400
|
-
DLL_EXPORT sycl::event omatadd_analyze(sycl::queue &queue,
|
|
401
|
-
transpose opA,
|
|
402
|
-
transpose opB,
|
|
403
|
-
matrix_handle_t A,
|
|
404
|
-
matrix_handle_t B,
|
|
405
|
-
matrix_handle_t C,
|
|
406
|
-
omatadd_alg alg,
|
|
407
|
-
omatadd_descr_t omatadd_desc,
|
|
408
|
-
void *tempWorkspace,
|
|
409
|
-
const std::vector<sycl::event> &dependencies = {});
|
|
410
|
-
|
|
411
|
-
DLL_EXPORT void omatadd_get_nnz(sycl::queue &queue,
|
|
412
|
-
transpose opA,
|
|
413
|
-
transpose opB,
|
|
414
|
-
matrix_handle_t A,
|
|
415
|
-
matrix_handle_t B,
|
|
416
|
-
matrix_handle_t C,
|
|
417
|
-
omatadd_alg alg,
|
|
418
|
-
omatadd_descr_t omatadd_desc,
|
|
419
|
-
std::int64_t &nnzC,
|
|
420
|
-
const std::vector<sycl::event> &dependencies = {});
|
|
421
|
-
|
|
422
|
-
#define ONEMKL_DECLARE_SPARSE_OMATADD(FpType) \
|
|
423
|
-
DLL_EXPORT sycl::event omatadd(sycl::queue &queue, \
|
|
424
|
-
transpose opA, \
|
|
425
|
-
transpose opB, \
|
|
426
|
-
const FpType alpha, \
|
|
427
|
-
matrix_handle_t A, \
|
|
428
|
-
const FpType beta, \
|
|
429
|
-
matrix_handle_t B, \
|
|
430
|
-
matrix_handle_t C, \
|
|
431
|
-
omatadd_alg alg, \
|
|
432
|
-
omatadd_descr_t omatadd_desc, \
|
|
433
|
-
const std::vector<sycl::event> &dependencies = {})
|
|
434
|
-
|
|
435
|
-
ONEMKL_DECLARE_SPARSE_OMATADD(float);
|
|
436
|
-
ONEMKL_DECLARE_SPARSE_OMATADD(double);
|
|
437
|
-
ONEMKL_DECLARE_SPARSE_OMATADD(std::complex<float>);
|
|
438
|
-
ONEMKL_DECLARE_SPARSE_OMATADD(std::complex<double>);
|
|
439
|
-
|
|
440
|
-
#undef ONEMKL_DECLARE_SPARSE_OMATADD
|
|
441
|
-
|
|
442
|
-
} /* namespace oneapi::mkl::sparse */
|
|
443
|
-
} /* namespace mkl */
|
|
444
|
-
} // namespace oneapi
|
|
445
|
-
|
|
446
|
-
#endif // #ifndef _ONEMKL_SPARSE_OPERATIONS_HPP_
|
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
/*******************************************************************************
|
|
2
|
-
* Copyright (C) 2019 Intel Corporation
|
|
3
|
-
*
|
|
4
|
-
* This software and the related documents are Intel copyrighted materials, and
|
|
5
|
-
* your use of them is governed by the express license under which they were
|
|
6
|
-
* provided to you (License). Unless the License provides otherwise, you may not
|
|
7
|
-
* use, modify, copy, publish, distribute, disclose or transmit this software or
|
|
8
|
-
* the related documents without Intel's prior written permission.
|
|
9
|
-
*
|
|
10
|
-
* This software and the related documents are provided as is, with no express
|
|
11
|
-
* or implied warranties, other than those that are expressly stated in the
|
|
12
|
-
* License.
|
|
13
|
-
*******************************************************************************/
|
|
14
|
-
|
|
15
|
-
#ifndef _ONEMKL_SPARSE_STRUCTURES_HPP_
|
|
16
|
-
#define _ONEMKL_SPARSE_STRUCTURES_HPP_
|
|
17
|
-
|
|
18
|
-
#include <sycl/sycl.hpp>
|
|
19
|
-
#include <complex>
|
|
20
|
-
#include <cstddef>
|
|
21
|
-
#include <cstdint>
|
|
22
|
-
#include <stdexcept>
|
|
23
|
-
|
|
24
|
-
#include "oneapi/mkl/export.hpp"
|
|
25
|
-
#include "oneapi/mkl/types.hpp"
|
|
26
|
-
#include "oneapi/mkl/exceptions.hpp"
|
|
27
|
-
|
|
28
|
-
namespace oneapi {
|
|
29
|
-
namespace mkl {
|
|
30
|
-
namespace sparse {
|
|
31
|
-
|
|
32
|
-
/******************************************************************************/
|
|
33
|
-
struct matrix_handle;
|
|
34
|
-
typedef struct matrix_handle *matrix_handle_t;
|
|
35
|
-
|
|
36
|
-
DLL_EXPORT void init_matrix_handle(matrix_handle_t *p_spMat);
|
|
37
|
-
|
|
38
|
-
// non-blocking version of release_matrix_handle, will schedule clean up of handle
|
|
39
|
-
// asychronously pending dependencies and return an event to track it
|
|
40
|
-
DLL_EXPORT sycl::event
|
|
41
|
-
release_matrix_handle(sycl::queue &queue,
|
|
42
|
-
matrix_handle_t *p_spMat,
|
|
43
|
-
const std::vector<sycl::event> &dependencies = {});
|
|
44
|
-
|
|
45
|
-
/******************************************************************************/
|
|
46
|
-
//
|
|
47
|
-
// PROPERTY of matrix arrays/data. The property must be consistent with the
|
|
48
|
-
// data; this consistency is not verified and assumed to be true when provided
|
|
49
|
-
// by the user for performance reasons. If user-supplied data properties are
|
|
50
|
-
// inconsistent from actual matrix arrays/data, then applications may
|
|
51
|
-
// crash/hang/produce incorrect results.
|
|
52
|
-
enum class property : char {
|
|
53
|
-
symmetric = 0,
|
|
54
|
-
sorted = 1,
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
DLL_EXPORT void set_matrix_property(matrix_handle_t spMat, property property_value);
|
|
58
|
-
|
|
59
|
-
/******************************************************************************/
|
|
60
|
-
#define ONEMKL_DECLARE_SPARSE_SET_CSR_DATA(IntType, FpType) \
|
|
61
|
-
DLL_EXPORT void set_csr_data(sycl::queue &queue, \
|
|
62
|
-
matrix_handle_t spMat, \
|
|
63
|
-
const IntType nrows, \
|
|
64
|
-
const IntType ncols, \
|
|
65
|
-
index_base index, \
|
|
66
|
-
sycl::buffer<IntType, 1> &row_ptr, \
|
|
67
|
-
sycl::buffer<IntType, 1> &col_ind, \
|
|
68
|
-
sycl::buffer<FpType, 1> &values); \
|
|
69
|
-
DLL_EXPORT sycl::event set_csr_data(sycl::queue &queue, \
|
|
70
|
-
matrix_handle_t spMat, \
|
|
71
|
-
const IntType nrows, \
|
|
72
|
-
const IntType ncols, \
|
|
73
|
-
index_base index, \
|
|
74
|
-
IntType *row_ptr, \
|
|
75
|
-
IntType *col_ind, \
|
|
76
|
-
FpType *values, \
|
|
77
|
-
const std::vector<sycl::event> &dependencies = {})
|
|
78
|
-
|
|
79
|
-
ONEMKL_DECLARE_SPARSE_SET_CSR_DATA(std::int32_t, float);
|
|
80
|
-
ONEMKL_DECLARE_SPARSE_SET_CSR_DATA(std::int32_t, double);
|
|
81
|
-
ONEMKL_DECLARE_SPARSE_SET_CSR_DATA(std::int32_t, std::complex<float>);
|
|
82
|
-
ONEMKL_DECLARE_SPARSE_SET_CSR_DATA(std::int32_t, std::complex<double>);
|
|
83
|
-
ONEMKL_DECLARE_SPARSE_SET_CSR_DATA(std::int64_t, float);
|
|
84
|
-
ONEMKL_DECLARE_SPARSE_SET_CSR_DATA(std::int64_t, double);
|
|
85
|
-
ONEMKL_DECLARE_SPARSE_SET_CSR_DATA(std::int64_t, std::complex<float>);
|
|
86
|
-
ONEMKL_DECLARE_SPARSE_SET_CSR_DATA(std::int64_t, std::complex<double>);
|
|
87
|
-
|
|
88
|
-
#undef ONEMKL_DECLARE_SPARSE_SET_CSR_DATA
|
|
89
|
-
|
|
90
|
-
/******************************************************************************/
|
|
91
|
-
#define ONEMKL_DECLARE_SPARSE_SET_COO_DATA(IntType, FpType) \
|
|
92
|
-
DLL_EXPORT void set_coo_data(sycl::queue &queue, \
|
|
93
|
-
matrix_handle_t spMat, \
|
|
94
|
-
const IntType nrows, \
|
|
95
|
-
const IntType ncols, \
|
|
96
|
-
const IntType nnz, \
|
|
97
|
-
index_base index, \
|
|
98
|
-
sycl::buffer<IntType, 1> &row_ind, \
|
|
99
|
-
sycl::buffer<IntType, 1> &col_ind, \
|
|
100
|
-
sycl::buffer<FpType, 1> &values); \
|
|
101
|
-
DLL_EXPORT sycl::event set_coo_data(sycl::queue &queue, \
|
|
102
|
-
matrix_handle_t spMat, \
|
|
103
|
-
const IntType nrows, \
|
|
104
|
-
const IntType ncols, \
|
|
105
|
-
const IntType nnz, \
|
|
106
|
-
index_base index, \
|
|
107
|
-
IntType *row_ind, \
|
|
108
|
-
IntType *col_ind, \
|
|
109
|
-
FpType *values, \
|
|
110
|
-
const std::vector<sycl::event> &dependencies = {})
|
|
111
|
-
|
|
112
|
-
ONEMKL_DECLARE_SPARSE_SET_COO_DATA(std::int32_t, float);
|
|
113
|
-
ONEMKL_DECLARE_SPARSE_SET_COO_DATA(std::int32_t, double);
|
|
114
|
-
ONEMKL_DECLARE_SPARSE_SET_COO_DATA(std::int32_t, std::complex<float>);
|
|
115
|
-
ONEMKL_DECLARE_SPARSE_SET_COO_DATA(std::int32_t, std::complex<double>);
|
|
116
|
-
ONEMKL_DECLARE_SPARSE_SET_COO_DATA(std::int64_t, float);
|
|
117
|
-
ONEMKL_DECLARE_SPARSE_SET_COO_DATA(std::int64_t, double);
|
|
118
|
-
ONEMKL_DECLARE_SPARSE_SET_COO_DATA(std::int64_t, std::complex<float>);
|
|
119
|
-
ONEMKL_DECLARE_SPARSE_SET_COO_DATA(std::int64_t, std::complex<double>);
|
|
120
|
-
|
|
121
|
-
#undef ONEMKL_DECLARE_SPARSE_SET_COO_DATA
|
|
122
|
-
|
|
123
|
-
/******************************************************************************/
|
|
124
|
-
//
|
|
125
|
-
// Types, Objects and APIs for Sparse Matrix * Sparse Matrix (matmat) multiplication
|
|
126
|
-
//
|
|
127
|
-
|
|
128
|
-
//
|
|
129
|
-
// Different VIEWS of matrix data (which may be different from the data itself)
|
|
130
|
-
// Views are different from the `enum class property` which describes the fixed
|
|
131
|
-
// property of data supplied to the matrix handle.
|
|
132
|
-
//
|
|
133
|
-
enum class matrix_view_descr : std::int32_t { general = 1 };
|
|
134
|
-
|
|
135
|
-
enum class matmat_request : std::int32_t {
|
|
136
|
-
get_work_estimation_buf_size = 1,
|
|
137
|
-
work_estimation = 2,
|
|
138
|
-
|
|
139
|
-
get_compute_structure_buf_size = 3,
|
|
140
|
-
compute_structure = 4,
|
|
141
|
-
finalize_structure = 5,
|
|
142
|
-
|
|
143
|
-
get_compute_buf_size = 6,
|
|
144
|
-
compute = 7,
|
|
145
|
-
get_nnz = 8,
|
|
146
|
-
finalize = 9,
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
struct matmat_descr;
|
|
150
|
-
typedef matmat_descr *matmat_descr_t;
|
|
151
|
-
|
|
152
|
-
DLL_EXPORT void init_matmat_descr(matmat_descr_t *p_desc);
|
|
153
|
-
DLL_EXPORT void release_matmat_descr(matmat_descr_t *p_desc);
|
|
154
|
-
|
|
155
|
-
/******************************************************************************/
|
|
156
|
-
//
|
|
157
|
-
// Types, Objects and APIs for out-of-place Sparse Matrix to Sparse Matrix
|
|
158
|
-
// conversion (omatconvert)
|
|
159
|
-
//
|
|
160
|
-
enum class omatconvert_alg : std::int32_t {
|
|
161
|
-
default_alg = 0,
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
struct omatconvert_descr;
|
|
165
|
-
typedef omatconvert_descr *omatconvert_descr_t;
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
DLL_EXPORT void init_omatconvert_descr(sycl::queue &queue, omatconvert_descr_t *p_descr);
|
|
169
|
-
DLL_EXPORT sycl::event release_omatconvert_descr(sycl::queue &queue, omatconvert_descr_t descr, const std::vector<sycl::event> &dependencies = {});
|
|
170
|
-
|
|
171
|
-
/******************************************************************************/
|
|
172
|
-
//
|
|
173
|
-
// Types, Objects and APIs for Sparse Matrix + Sparse Matrix (omatadd) addition
|
|
174
|
-
//
|
|
175
|
-
enum class omatadd_alg : std::int32_t {
|
|
176
|
-
default_alg = 0,
|
|
177
|
-
};
|
|
178
|
-
|
|
179
|
-
struct omatadd_descr;
|
|
180
|
-
typedef omatadd_descr *omatadd_descr_t;
|
|
181
|
-
|
|
182
|
-
DLL_EXPORT void init_omatadd_descr(sycl::queue &queue,
|
|
183
|
-
omatadd_descr_t *p_omatadd_desc);
|
|
184
|
-
|
|
185
|
-
DLL_EXPORT sycl::event release_omatadd_descr(sycl::queue &queue,
|
|
186
|
-
omatadd_descr_t omatadd_desc,
|
|
187
|
-
const std::vector<sycl::event> &dependencies = {});
|
|
188
|
-
|
|
189
|
-
} /* namespace oneapi::mkl::sparse */
|
|
190
|
-
} /* namespace mkl */
|
|
191
|
-
} // namespace oneapi
|
|
192
|
-
|
|
193
|
-
#endif // #ifndef _ONEMKL_SPARSE_STRUCTURES_HPP_
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/*******************************************************************************
|
|
2
|
-
* Copyright (C) 2025 Intel Corporation
|
|
3
|
-
*
|
|
4
|
-
* This software and the related documents are Intel copyrighted materials, and
|
|
5
|
-
* your use of them is governed by the express license under which they were
|
|
6
|
-
* provided to you (License). Unless the License provides otherwise, you may not
|
|
7
|
-
* use, modify, copy, publish, distribute, disclose or transmit this software or
|
|
8
|
-
* the related documents without Intel's prior written permission.
|
|
9
|
-
*
|
|
10
|
-
* This software and the related documents are provided as is, with no express
|
|
11
|
-
* or implied warranties, other than those that are expressly stated in the
|
|
12
|
-
* License.
|
|
13
|
-
*******************************************************************************/
|
|
14
|
-
|
|
15
|
-
/*
|
|
16
|
-
! Content:
|
|
17
|
-
! oneAPI Math Kernel Library (oneMKL) DPC++ interface
|
|
18
|
-
!******************************************************************************/
|
|
19
|
-
|
|
20
|
-
#ifndef ONEMATH_SPBLAS_SPEC_HPP
|
|
21
|
-
#define ONEMATH_SPBLAS_SPEC_HPP
|
|
22
|
-
|
|
23
|
-
#include "oneapi/mkl/spec.hpp"
|
|
24
|
-
|
|
25
|
-
#if defined(ONEMATH_SPEC_VERSION_NON_COMPLIANT)
|
|
26
|
-
#define ONEMATH_SPBLAS_SPEC_VERSION ONEMATH_SPEC_VERSION_NON_COMPLIANT
|
|
27
|
-
#else
|
|
28
|
-
#error "ONEMATH_SPEC_VERSION_NON_COMPLIANT should be defined"
|
|
29
|
-
#endif
|
|
30
|
-
|
|
31
|
-
namespace oneapi {
|
|
32
|
-
namespace mkl {
|
|
33
|
-
namespace sparse {
|
|
34
|
-
|
|
35
|
-
constexpr auto spec_version =
|
|
36
|
-
static_cast<SpecVersion>(ONEMATH_SPBLAS_SPEC_VERSION);
|
|
37
|
-
|
|
38
|
-
} // namespace sparse
|
|
39
|
-
} // namespace mkl
|
|
40
|
-
} // namespace oneapi
|
|
41
|
-
|
|
42
|
-
#endif /* ONEMATH_SPBLAS_SPEC_HPP */
|