mkl-devel-dpcpp 2025.1.0__py2.py3-none-win_amd64.whl → 2025.2.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.
Potentially problematic release.
This version of mkl-devel-dpcpp might be problematic. Click here for more details.
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl.lib +0 -0
- mkl_devel_dpcpp-2025.2.0.data/data/Library/lib/mkl_sycl_dft_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_dll.lib +0 -0
- mkl_devel_dpcpp-2025.2.0.data/data/Library/lib/mkl_sycl_lapack_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_rng_dll.lib +0 -0
- mkl_devel_dpcpp-2025.2.0.data/data/Library/lib/mkl_sycl_sparse_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.2.0.dist-info}/METADATA +4 -3
- mkl_devel_dpcpp-2025.2.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.2.0.data}/data/Library/lib/mkl_sycl_blas_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_data_fitting_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_stats_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_vm_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.2.0.dist-info}/LICENSE.txt +0 -0
- {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.2.0.dist-info}/WHEEL +0 -0
- {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.2.0.dist-info}/top_level.txt +0 -0
|
@@ -1,321 +0,0 @@
|
|
|
1
|
-
/*******************************************************************************
|
|
2
|
-
* Copyright (C) 2018 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 _TYPES_HPP__
|
|
16
|
-
#define _TYPES_HPP__
|
|
17
|
-
|
|
18
|
-
#include <cstdint>
|
|
19
|
-
#include <cstddef> // for std::size_t
|
|
20
|
-
#include "mkl_types.h"
|
|
21
|
-
#include "mkl_cblas.h"
|
|
22
|
-
#include "oneapi/mkl/bfloat16.hpp"
|
|
23
|
-
|
|
24
|
-
namespace oneapi {
|
|
25
|
-
namespace mkl {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
// BLAS flag types.
|
|
29
|
-
enum class transpose : char {
|
|
30
|
-
nontrans = 0,
|
|
31
|
-
trans = 1,
|
|
32
|
-
conjtrans = 3,
|
|
33
|
-
N = 0,
|
|
34
|
-
T = 1,
|
|
35
|
-
C = 3
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
enum class uplo : char {
|
|
39
|
-
upper = 0,
|
|
40
|
-
lower = 1,
|
|
41
|
-
U = 0,
|
|
42
|
-
L = 1
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
enum class diag : char {
|
|
46
|
-
nonunit = 0,
|
|
47
|
-
unit = 1,
|
|
48
|
-
N = 0,
|
|
49
|
-
U = 1
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
enum class side : char {
|
|
53
|
-
left = 0,
|
|
54
|
-
right = 1,
|
|
55
|
-
L = 0,
|
|
56
|
-
R = 1
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
enum class offset : char {
|
|
60
|
-
row = 0,
|
|
61
|
-
column = 1,
|
|
62
|
-
fix = 2,
|
|
63
|
-
R = 0,
|
|
64
|
-
C = 1,
|
|
65
|
-
F = 2
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
// LAPACK flag types.
|
|
69
|
-
enum class job : char {
|
|
70
|
-
novec = 0,
|
|
71
|
-
vec = 1,
|
|
72
|
-
updatevec = 2,
|
|
73
|
-
allvec = 3,
|
|
74
|
-
somevec = 4,
|
|
75
|
-
overwritevec = 5,
|
|
76
|
-
N = 0,
|
|
77
|
-
V = 1,
|
|
78
|
-
U = 2,
|
|
79
|
-
A = 3,
|
|
80
|
-
S = 4,
|
|
81
|
-
O = 5
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
enum class generate : char {
|
|
85
|
-
q = 0,
|
|
86
|
-
p = 1,
|
|
87
|
-
none = 2,
|
|
88
|
-
both = 3,
|
|
89
|
-
Q = 0,
|
|
90
|
-
P = 1,
|
|
91
|
-
N = 2,
|
|
92
|
-
V = 3
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
enum class compz : char {
|
|
96
|
-
novectors = 0,
|
|
97
|
-
vectors = 1,
|
|
98
|
-
initvectors = 2,
|
|
99
|
-
N = 0,
|
|
100
|
-
V = 1,
|
|
101
|
-
I = 2,
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
enum class direct : char {
|
|
105
|
-
forward = 0,
|
|
106
|
-
backward = 1,
|
|
107
|
-
F = 0,
|
|
108
|
-
B = 1,
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
enum class storev : char {
|
|
112
|
-
columnwise = 0,
|
|
113
|
-
rowwise = 1,
|
|
114
|
-
C = 0,
|
|
115
|
-
R = 1,
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
enum class rangev : char {
|
|
119
|
-
all = 0,
|
|
120
|
-
values = 1,
|
|
121
|
-
indices = 2,
|
|
122
|
-
A = 0,
|
|
123
|
-
V = 1,
|
|
124
|
-
I = 2,
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
enum class order : char {
|
|
128
|
-
block = 0,
|
|
129
|
-
entire = 1,
|
|
130
|
-
B = 0,
|
|
131
|
-
E = 1,
|
|
132
|
-
};
|
|
133
|
-
|
|
134
|
-
enum class jobsvd : char {
|
|
135
|
-
novec = 0,
|
|
136
|
-
vectors = 1,
|
|
137
|
-
vectorsina = 2,
|
|
138
|
-
somevec = 3,
|
|
139
|
-
N = 0,
|
|
140
|
-
A = 1,
|
|
141
|
-
O = 2,
|
|
142
|
-
S = 3
|
|
143
|
-
};
|
|
144
|
-
// Conversion functions to traditional Fortran characters.
|
|
145
|
-
inline const char * fortran_char(transpose t) {
|
|
146
|
-
if (t == transpose::nontrans) return "N";
|
|
147
|
-
if (t == transpose::trans) return "T";
|
|
148
|
-
if (t == transpose::conjtrans) return "C";
|
|
149
|
-
return "N";
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
inline const char * fortran_char(offset t) {
|
|
153
|
-
if (t == offset::fix) return "F";
|
|
154
|
-
if (t == offset::row) return "R";
|
|
155
|
-
if (t == offset::column) return "C";
|
|
156
|
-
return "N";
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
inline const char * fortran_char(uplo u) {
|
|
160
|
-
if (u == uplo::upper) return "U";
|
|
161
|
-
if (u == uplo::lower) return "L";
|
|
162
|
-
return "U";
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
inline const char * fortran_char(diag d) {
|
|
166
|
-
if (d == diag::nonunit) return "N";
|
|
167
|
-
if (d == diag::unit) return "U";
|
|
168
|
-
return "N";
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
inline const char * fortran_char(side s) {
|
|
172
|
-
if (s == side::left) return "L";
|
|
173
|
-
if (s == side::right) return "R";
|
|
174
|
-
return "L";
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
inline const char * fortran_char(job j) {
|
|
178
|
-
if (j == job::novec) return "N";
|
|
179
|
-
if (j == job::vec) return "V";
|
|
180
|
-
if (j == job::updatevec) return "U";
|
|
181
|
-
if (j == job::allvec) return "A";
|
|
182
|
-
if (j == job::somevec) return "S";
|
|
183
|
-
if (j == job::overwritevec) return "O";
|
|
184
|
-
return "N";
|
|
185
|
-
}
|
|
186
|
-
inline const char * fortran_char(jobsvd j) {
|
|
187
|
-
if (j == jobsvd::novec) return "N";
|
|
188
|
-
if (j == jobsvd::vectors) return "A";
|
|
189
|
-
if (j == jobsvd::vectorsina) return "O";
|
|
190
|
-
if (j == jobsvd::somevec) return "S";
|
|
191
|
-
return "N";
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
inline const char * fortran_char(generate v) {
|
|
195
|
-
if (v == generate::q) return "Q";
|
|
196
|
-
if (v == generate::p) return "P";
|
|
197
|
-
if (v == generate::none) return "N";
|
|
198
|
-
if (v == generate::both) return "B";
|
|
199
|
-
return "Q";
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
inline const char * fortran_char(compz c) {
|
|
203
|
-
if (c == compz::vectors) return "V";
|
|
204
|
-
if (c == compz::initvectors) return "I";
|
|
205
|
-
return "N";
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
inline const char * fortran_char(direct d) {
|
|
209
|
-
if (d == direct::backward) return "B";
|
|
210
|
-
return "F";
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
inline const char * fortran_char(storev s) {
|
|
214
|
-
if (s == storev::rowwise) return "R";
|
|
215
|
-
return "C";
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
inline const char * fortran_char(rangev r) {
|
|
219
|
-
if (r == rangev::values) return "V";
|
|
220
|
-
if (r == rangev::indices) return "I";
|
|
221
|
-
return "A";
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
inline const char * fortran_char(order o) {
|
|
225
|
-
if (o == order::entire) return "E";
|
|
226
|
-
return "B";
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
// Conversion functions to CBLAS enums.
|
|
230
|
-
inline MKL_TRANSPOSE cblas_convert(transpose t) {
|
|
231
|
-
if (t == transpose::nontrans) return MKL_NOTRANS;
|
|
232
|
-
if (t == transpose::trans) return MKL_TRANS;
|
|
233
|
-
if (t == transpose::conjtrans) return MKL_CONJTRANS;
|
|
234
|
-
return MKL_NOTRANS;
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
inline MKL_UPLO cblas_convert(uplo u) {
|
|
238
|
-
if (u == uplo::upper) return MKL_UPPER;
|
|
239
|
-
if (u == uplo::lower) return MKL_LOWER;
|
|
240
|
-
return MKL_UPPER;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
inline MKL_DIAG cblas_convert(diag d) {
|
|
244
|
-
if (d == diag::nonunit) return MKL_NONUNIT;
|
|
245
|
-
if (d == diag::unit) return MKL_UNIT;
|
|
246
|
-
return MKL_NONUNIT;
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
inline MKL_SIDE cblas_convert(side s) {
|
|
250
|
-
if (s == side::left) return MKL_LEFT;
|
|
251
|
-
if (s == side::right) return MKL_RIGHT;
|
|
252
|
-
return MKL_LEFT;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
enum class index_base : char {
|
|
256
|
-
zero = 0,
|
|
257
|
-
one = 1,
|
|
258
|
-
};
|
|
259
|
-
|
|
260
|
-
enum class layout : char {
|
|
261
|
-
row_major = 0,
|
|
262
|
-
col_major = 1,
|
|
263
|
-
R = 0,
|
|
264
|
-
C = 1,
|
|
265
|
-
};
|
|
266
|
-
|
|
267
|
-
#ifndef _ONEAPI_MKL_SLICE_
|
|
268
|
-
#define _ONEAPI_MKL_SLICE_ 1
|
|
269
|
-
struct slice {
|
|
270
|
-
std::size_t start;
|
|
271
|
-
std::size_t size;
|
|
272
|
-
std::int64_t stride;
|
|
273
|
-
|
|
274
|
-
constexpr slice(): start(0), size(0), stride(0) { }
|
|
275
|
-
constexpr slice(slice const &rhs) = default;
|
|
276
|
-
constexpr slice& operator =(slice const &rhs) = default;
|
|
277
|
-
|
|
278
|
-
constexpr slice(std::size_t _start, std::size_t _size, std::int64_t _stride): start(_start), size(_size), stride(_stride) { }
|
|
279
|
-
}; /* struct slice */
|
|
280
|
-
#endif
|
|
281
|
-
|
|
282
|
-
template <typename T>
|
|
283
|
-
class value_or_pointer {
|
|
284
|
-
T value_;
|
|
285
|
-
const T *ptr_;
|
|
286
|
-
|
|
287
|
-
public:
|
|
288
|
-
// Constructor from value. Accepts not only type T but anything convertible to T.
|
|
289
|
-
template <typename U, std::enable_if_t<std::is_convertible_v<U, T>, int> = 0>
|
|
290
|
-
value_or_pointer(U value) : value_(value), ptr_(nullptr) {}
|
|
291
|
-
|
|
292
|
-
// Constructor from pointer, assumed to be device-accessible.
|
|
293
|
-
value_or_pointer(const T *ptr): value_(T(0)), ptr_(ptr) {}
|
|
294
|
-
|
|
295
|
-
bool fixed() const {
|
|
296
|
-
return ptr_ == nullptr;
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
T get_fixed_value() const {
|
|
300
|
-
return value_;
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
const T* get_pointer() const {
|
|
304
|
-
return ptr_;
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
T get() const {
|
|
308
|
-
return ptr_ ? *ptr_ : value_;
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
void make_device_accessible(sycl::queue& queue) {
|
|
312
|
-
if (!fixed() && sycl::get_pointer_type(ptr_, queue.get_context()) == sycl::usm::alloc::unknown) {
|
|
313
|
-
*this = *ptr_;
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
};
|
|
317
|
-
|
|
318
|
-
} /* namespace mkl */
|
|
319
|
-
} // namespace oneapi
|
|
320
|
-
|
|
321
|
-
#endif /* _TYPES_HPP__ */
|