mkl-devel-dpcpp 2025.0.1__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.0.1.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl.lib +0 -0
- {mkl_devel_dpcpp-2025.0.1.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_blas_dll.lib +0 -0
- mkl_devel_dpcpp-2025.2.0.data/data/Library/lib/mkl_sycl_dft_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.0.1.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.0.1.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.0.1.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.0.1.data/data/Library/include/oneapi/mkl/bfloat16.hpp +0 -26
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/blas/buffer.hpp +0 -42
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/blas/buffer_decls.hpp +0 -880
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/blas/types.hpp +0 -60
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/blas/usm.hpp +0 -42
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/blas/usm_decls.hpp +0 -1240
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/blas.hpp +0 -33
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/dft.hpp +0 -253
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/dfti.hpp +0 -22
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/exceptions.hpp +0 -110
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/experimental/data_fitting/interpolate.hpp +0 -67
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/experimental/data_fitting/spline_and_data_params.hpp +0 -68
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/experimental/data_fitting/splines.hpp +0 -177
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/experimental/data_fitting.hpp +0 -22
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/export.hpp +0 -25
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/lapack/concepts.hpp +0 -55
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/lapack/exceptions.hpp +0 -75
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/lapack/lapack.hpp +0 -1095
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/lapack/scratchpad.hpp +0 -106
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/lapack.hpp +0 -23
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/detail/engine_base.hpp +0 -48
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/bernoulli_impl.hpp +0 -89
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/beta_impl.hpp +0 -464
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/bits_impl.hpp +0 -71
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/distribution_base.hpp +0 -81
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/engine_base.hpp +0 -43
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/engine_helpers_base.hpp +0 -54
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/exponential_impl.hpp +0 -116
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/gamma_impl.hpp +0 -285
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/gaussian_impl.hpp +0 -270
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/lognormal_impl.hpp +0 -105
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg31m1_helpers_impl.hpp +0 -117
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg31m1_impl.hpp +0 -223
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg59_helpers_impl.hpp +0 -118
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg59_impl.hpp +0 -266
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/mrg32k3a_helpers_impl.hpp +0 -125
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/mrg32k3a_impl.hpp +0 -385
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/mrg32k3a_skip_ahead_matrix.hpp +0 -3668
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/philox4x32x10_helpers_impl.hpp +0 -141
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/philox4x32x10_impl.hpp +0 -552
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/poisson_impl.hpp +0 -355
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/types.hpp +0 -58
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/uniform_bits_impl.hpp +0 -51
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/uniform_impl.hpp +0 -289
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/vm_wrappers.hpp +0 -183
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/distributions.hpp +0 -637
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/engine_helpers.hpp +0 -116
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/engines.hpp +0 -187
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/functions.hpp +0 -59
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/types.hpp +0 -74
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device.hpp +0 -29
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/distributions.hpp +0 -1913
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/engines.hpp +0 -788
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/functions.hpp +0 -163
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng.hpp +0 -22
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/spblas/sparse_auxiliary.hpp +0 -111
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/spblas/sparse_operations.hpp +0 -446
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/spblas/sparse_structures.hpp +0 -193
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/spblas.hpp +0 -32
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/stats.hpp +0 -356
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/types.hpp +0 -321
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/buffer.hpp +0 -3529
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/decls.hpp +0 -280
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/device/detail/decls.hpp +0 -81
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/device/detail/dispatch.hpp +0 -1059
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/device/detail/ep.hpp +0 -861
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/device/detail/ha.hpp +0 -860
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/device/detail/la.hpp +0 -860
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/device/detail/rts.hpp +0 -4608
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/device/detail/scalar.hpp +0 -8963
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/device/vm.hpp +0 -460
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/span.hpp +0 -3813
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/usm.hpp +0 -3581
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm.hpp +0 -30
- mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl.hpp +0 -34
- mkl_devel_dpcpp-2025.0.1.data/data/Library/lib/mkl_sycl_dft_dll.lib +0 -0
- mkl_devel_dpcpp-2025.0.1.data/data/Library/lib/mkl_sycl_lapack_dll.lib +0 -0
- mkl_devel_dpcpp-2025.0.1.data/data/Library/lib/mkl_sycl_sparse_dll.lib +0 -0
- mkl_devel_dpcpp-2025.0.1.dist-info/RECORD +0 -90
- {mkl_devel_dpcpp-2025.0.1.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_data_fitting_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.0.1.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_stats_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.0.1.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_vm_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.0.1.dist-info → mkl_devel_dpcpp-2025.2.0.dist-info}/LICENSE.txt +0 -0
- {mkl_devel_dpcpp-2025.0.1.dist-info → mkl_devel_dpcpp-2025.2.0.dist-info}/WHEEL +0 -0
- {mkl_devel_dpcpp-2025.0.1.dist-info → mkl_devel_dpcpp-2025.2.0.dist-info}/top_level.txt +0 -0
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/*******************************************************************************
|
|
2
|
-
* Copyright 2018-2022 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 _BLAS_HPP__
|
|
16
|
-
#define _BLAS_HPP__
|
|
17
|
-
|
|
18
|
-
#ifndef MKL_BLAS_COMPUTE_MODE
|
|
19
|
-
#define MKL_BLAS_COMPUTE_MODE compute_mode::unset
|
|
20
|
-
#endif
|
|
21
|
-
|
|
22
|
-
#include <sycl/sycl.hpp>
|
|
23
|
-
#include <cstdint>
|
|
24
|
-
#include <complex>
|
|
25
|
-
|
|
26
|
-
#include "oneapi/mkl/types.hpp"
|
|
27
|
-
#include "oneapi/mkl/exceptions.hpp"
|
|
28
|
-
|
|
29
|
-
#include "oneapi/mkl/blas/types.hpp"
|
|
30
|
-
#include "oneapi/mkl/blas/buffer.hpp"
|
|
31
|
-
#include "oneapi/mkl/blas/usm.hpp"
|
|
32
|
-
|
|
33
|
-
#endif /* _BLAS_HPP__ */
|
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
/*******************************************************************************
|
|
2
|
-
* Copyright 2024 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 _DFT_HPP_
|
|
16
|
-
#define _DFT_HPP_
|
|
17
|
-
|
|
18
|
-
#include <cinttypes> // std::int64_t
|
|
19
|
-
#include <vector> // std::vector
|
|
20
|
-
#include <sycl/sycl.hpp> // sycl::
|
|
21
|
-
#include "mkl_dfti.h" // DFTI_DESCRIPTOR_HANDLE
|
|
22
|
-
|
|
23
|
-
typedef struct SYCL_DFTI_DESCRIPTOR* SYCL_DFTI_DESCRIPTOR_HANDLE;
|
|
24
|
-
|
|
25
|
-
namespace oneapi {
|
|
26
|
-
namespace mkl {
|
|
27
|
-
namespace dft {
|
|
28
|
-
|
|
29
|
-
enum class precision {
|
|
30
|
-
SINGLE = DFTI_SINGLE,
|
|
31
|
-
DOUBLE = DFTI_DOUBLE
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
enum class domain {
|
|
35
|
-
REAL = DFTI_REAL,
|
|
36
|
-
COMPLEX = DFTI_COMPLEX
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
enum class config_param {
|
|
40
|
-
FORWARD_DOMAIN = DFTI_FORWARD_DOMAIN,
|
|
41
|
-
DIMENSION = DFTI_DIMENSION,
|
|
42
|
-
LENGTHS = DFTI_LENGTHS,
|
|
43
|
-
PRECISION = DFTI_PRECISION,
|
|
44
|
-
FORWARD_SCALE = DFTI_FORWARD_SCALE,
|
|
45
|
-
BACKWARD_SCALE = DFTI_BACKWARD_SCALE,
|
|
46
|
-
NUMBER_OF_TRANSFORMS = DFTI_NUMBER_OF_TRANSFORMS,
|
|
47
|
-
COMPLEX_STORAGE = DFTI_COMPLEX_STORAGE,
|
|
48
|
-
CONJUGATE_EVEN_STORAGE [[deprecated]] = DFTI_CONJUGATE_EVEN_STORAGE,
|
|
49
|
-
PLACEMENT = DFTI_PLACEMENT,
|
|
50
|
-
INPUT_STRIDES [[deprecated("Use FWD/BWD strides instead.")]]
|
|
51
|
-
= DFTI_INPUT_STRIDES,
|
|
52
|
-
OUTPUT_STRIDES [[deprecated("Use FWD/BWD strides instead.")]]
|
|
53
|
-
= DFTI_OUTPUT_STRIDES,
|
|
54
|
-
FWD_DISTANCE = DFTI_FWD_DISTANCE,
|
|
55
|
-
BWD_DISTANCE = DFTI_BWD_DISTANCE,
|
|
56
|
-
WORKSPACE = DFTI_WORKSPACE,
|
|
57
|
-
PACKED_FORMAT [[deprecated]] = DFTI_PACKED_FORMAT,
|
|
58
|
-
COMMIT_STATUS = DFTI_COMMIT_STATUS,
|
|
59
|
-
VERSION [[deprecated]] = DFTI_VERSION,
|
|
60
|
-
THREAD_LIMIT = DFTI_THREAD_LIMIT,
|
|
61
|
-
DESTROY_INPUT = DFTI_DESTROY_INPUT,
|
|
62
|
-
WORKSPACE_ESTIMATE_BYTES,
|
|
63
|
-
WORKSPACE_BYTES,
|
|
64
|
-
FWD_STRIDES,
|
|
65
|
-
BWD_STRIDES,
|
|
66
|
-
WORKSPACE_PLACEMENT, // alias for WORKSPACE
|
|
67
|
-
WORKSPACE_EXTERNAL_BYTES // alias for WORKSPACE_BYTES
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
enum class config_value {
|
|
71
|
-
COMMITTED = DFTI_COMMITTED,
|
|
72
|
-
UNCOMMITTED = DFTI_UNCOMMITTED,
|
|
73
|
-
COMPLEX_COMPLEX = DFTI_COMPLEX_COMPLEX,
|
|
74
|
-
REAL_REAL = DFTI_REAL_REAL,
|
|
75
|
-
INPLACE = DFTI_INPLACE,
|
|
76
|
-
NOT_INPLACE = DFTI_NOT_INPLACE,
|
|
77
|
-
WORKSPACE_AUTOMATIC, // alias for WORKSPACE_INTERNAL
|
|
78
|
-
COMPLEX_REAL [[deprecated]] = DFTI_COMPLEX_REAL,
|
|
79
|
-
ALLOW = DFTI_ALLOW,
|
|
80
|
-
AVOID = DFTI_AVOID,
|
|
81
|
-
CCE_FORMAT [[deprecated]] = DFTI_CCE_FORMAT,
|
|
82
|
-
PERM_FORMAT [[deprecated]] = DFTI_PERM_FORMAT,
|
|
83
|
-
PACK_FORMAT [[deprecated]] = DFTI_PACK_FORMAT,
|
|
84
|
-
CCS_FORMAT [[deprecated]] = DFTI_CCS_FORMAT,
|
|
85
|
-
WORKSPACE_INTERNAL,
|
|
86
|
-
WORKSPACE_EXTERNAL
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
// Compute functions which will be friends with the descriptor class
|
|
90
|
-
template<typename descriptor_type, typename data_type>
|
|
91
|
-
void compute_forward(
|
|
92
|
-
descriptor_type &desc,
|
|
93
|
-
sycl::buffer<data_type, 1> &inout);
|
|
94
|
-
|
|
95
|
-
template<typename descriptor_type, typename input_type, typename output_type>
|
|
96
|
-
void compute_forward(
|
|
97
|
-
descriptor_type &desc,
|
|
98
|
-
sycl::buffer<input_type, 1> &in,
|
|
99
|
-
sycl::buffer<output_type, 1> &out);
|
|
100
|
-
|
|
101
|
-
template<typename descriptor_type, typename data_type>
|
|
102
|
-
void compute_backward(
|
|
103
|
-
descriptor_type &desc,
|
|
104
|
-
sycl::buffer<data_type, 1> &inout);
|
|
105
|
-
|
|
106
|
-
template<typename descriptor_type, typename input_type, typename output_type>
|
|
107
|
-
void compute_backward(
|
|
108
|
-
descriptor_type &desc,
|
|
109
|
-
sycl::buffer<input_type, 1> &in,
|
|
110
|
-
sycl::buffer<output_type, 1> &out);
|
|
111
|
-
|
|
112
|
-
template <typename descriptor_type, typename data_type>
|
|
113
|
-
sycl::event compute_forward(
|
|
114
|
-
descriptor_type &desc,
|
|
115
|
-
data_type *inout,
|
|
116
|
-
const std::vector<sycl::event> &dependencies = {});
|
|
117
|
-
|
|
118
|
-
template<typename descriptor_type, typename input_type, typename output_type>
|
|
119
|
-
sycl::event compute_forward(
|
|
120
|
-
descriptor_type &desc,
|
|
121
|
-
input_type *in,
|
|
122
|
-
output_type *out,
|
|
123
|
-
const std::vector<sycl::event> &dependencies = {});
|
|
124
|
-
|
|
125
|
-
template <typename descriptor_type, typename data_type>
|
|
126
|
-
sycl::event compute_backward(
|
|
127
|
-
descriptor_type &desc,
|
|
128
|
-
data_type *inout,
|
|
129
|
-
const std::vector<sycl::event> &dependencies = {});
|
|
130
|
-
|
|
131
|
-
template<typename descriptor_type, typename input_type, typename output_type>
|
|
132
|
-
sycl::event compute_backward(
|
|
133
|
-
descriptor_type &desc,
|
|
134
|
-
input_type *in,
|
|
135
|
-
output_type *out,
|
|
136
|
-
const std::vector<sycl::event> &dependencies = {});
|
|
137
|
-
|
|
138
|
-
template <precision prec, domain dom>
|
|
139
|
-
class descriptor {
|
|
140
|
-
using real_scalar_t = std::conditional_t<prec == precision::DOUBLE, double, float>;
|
|
141
|
-
public:
|
|
142
|
-
// initializes the FFT description for a multi-dimensional FFT
|
|
143
|
-
descriptor(std::vector<std::int64_t> dimensions);
|
|
144
|
-
// initializes the FFT description for a one-dimensional FFT
|
|
145
|
-
descriptor(std::int64_t length);
|
|
146
|
-
~descriptor();
|
|
147
|
-
descriptor(const descriptor&) = delete;
|
|
148
|
-
descriptor& operator=(const descriptor&) = delete;
|
|
149
|
-
|
|
150
|
-
void commit(sycl::queue &in);
|
|
151
|
-
|
|
152
|
-
// in place forward computation; buffer API
|
|
153
|
-
template <typename descriptor_type, typename data_type>
|
|
154
|
-
friend void compute_forward(
|
|
155
|
-
descriptor_type &desc,
|
|
156
|
-
sycl::buffer<data_type, 1> &inout);
|
|
157
|
-
// out of place forward computation; buffer API
|
|
158
|
-
template<typename descriptor_type, typename input_type, typename output_type>
|
|
159
|
-
friend void compute_forward(
|
|
160
|
-
descriptor_type &desc,
|
|
161
|
-
sycl::buffer<input_type, 1> &in,
|
|
162
|
-
sycl::buffer<output_type, 1> &out);
|
|
163
|
-
// in place backward computation; buffer API
|
|
164
|
-
template <typename descriptor_type, typename data_type>
|
|
165
|
-
friend void compute_backward(
|
|
166
|
-
descriptor_type &desc,
|
|
167
|
-
sycl::buffer<data_type, 1> &inout);
|
|
168
|
-
// out of place backward computation; buffer API
|
|
169
|
-
template<typename descriptor_type, typename input_type, typename output_type>
|
|
170
|
-
friend void compute_backward(
|
|
171
|
-
descriptor_type &desc,
|
|
172
|
-
sycl::buffer<input_type, 1> &in,
|
|
173
|
-
sycl::buffer<output_type, 1> &out);
|
|
174
|
-
// in place forward computation; USM API
|
|
175
|
-
template <typename descriptor_type, typename data_type>
|
|
176
|
-
friend sycl::event compute_forward(
|
|
177
|
-
descriptor_type &desc,
|
|
178
|
-
data_type *inout,
|
|
179
|
-
const std::vector<sycl::event> &dependencies);
|
|
180
|
-
// out of place forward computation; USM API
|
|
181
|
-
template<typename descriptor_type, typename input_type, typename output_type>
|
|
182
|
-
friend sycl::event compute_forward(
|
|
183
|
-
descriptor_type &desc,
|
|
184
|
-
input_type *in,
|
|
185
|
-
output_type *out,
|
|
186
|
-
const std::vector<sycl::event> &dependencies);
|
|
187
|
-
// in place backward computation; USM API
|
|
188
|
-
template <typename descriptor_type, typename data_type>
|
|
189
|
-
friend sycl::event compute_backward(
|
|
190
|
-
descriptor_type &desc,
|
|
191
|
-
data_type *inout,
|
|
192
|
-
const std::vector<sycl::event> &dependencies);
|
|
193
|
-
// out of place backward computation; USM API
|
|
194
|
-
template<typename descriptor_type, typename input_type, typename output_type>
|
|
195
|
-
friend sycl::event compute_backward(
|
|
196
|
-
descriptor_type &desc,
|
|
197
|
-
input_type *in,
|
|
198
|
-
output_type *out,
|
|
199
|
-
const std::vector<sycl::event> &dependencies);
|
|
200
|
-
|
|
201
|
-
// configuration-setting member functions:
|
|
202
|
-
[[deprecated("Use set_value(config_param, config_value) instead.")]]
|
|
203
|
-
void set_value(config_param, DFTI_CONFIG_VALUE);
|
|
204
|
-
void set_value(config_param, config_value);
|
|
205
|
-
void set_value(config_param, std::int64_t);
|
|
206
|
-
void set_value(config_param, real_scalar_t);
|
|
207
|
-
[[deprecated("Use set_value(config_param, const std::vector<std::int64_t>&) instead.")]]
|
|
208
|
-
void set_value(config_param, const std::int64_t*);
|
|
209
|
-
void set_value(config_param, const std::vector<std::int64_t>&);
|
|
210
|
-
template <typename T, std::enable_if_t<std::is_integral_v<T>, bool> = true>
|
|
211
|
-
void set_value(config_param param, T value) {
|
|
212
|
-
set_value(param, static_cast<std::int64_t>(value));
|
|
213
|
-
}
|
|
214
|
-
template <typename T, std::enable_if_t<std::is_floating_point_v<T>, bool> = true>
|
|
215
|
-
void set_value(config_param param, T value) {
|
|
216
|
-
set_value(param, static_cast<real_scalar_t>(value));
|
|
217
|
-
}
|
|
218
|
-
[[deprecated("This set_value member function is deprecated.")]]
|
|
219
|
-
void set_value(config_param, ...);
|
|
220
|
-
// configuration-querying member functions:
|
|
221
|
-
[[deprecated("Use MKL_Get_Version_String(char*, int) instead.")]]
|
|
222
|
-
void get_value(config_param, char*) const;
|
|
223
|
-
[[deprecated("Use get_value(config_param, config_value*), "
|
|
224
|
-
"get_value(config_param, domain*) or "
|
|
225
|
-
"get_value(config_param, precision*) instead.")]]
|
|
226
|
-
void get_value(config_param, DFTI_CONFIG_VALUE*) const;
|
|
227
|
-
void get_value(config_param, config_value*) const;
|
|
228
|
-
void get_value(config_param, domain*) const;
|
|
229
|
-
void get_value(config_param, precision*) const;
|
|
230
|
-
[[deprecated("Use get_value(config_param, std::int64_t*) instead.")]]
|
|
231
|
-
void get_value(config_param, size_t*) const;
|
|
232
|
-
void get_value(config_param, std::int64_t*) const;
|
|
233
|
-
void get_value(config_param, real_scalar_t*) const;
|
|
234
|
-
void get_value(config_param, std::vector<std::int64_t>*) const;
|
|
235
|
-
[[deprecated("This get_value member function is deprecated.")]]
|
|
236
|
-
void get_value(config_param, ...) const;
|
|
237
|
-
|
|
238
|
-
template<typename data_type>
|
|
239
|
-
void set_workspace(sycl::buffer<data_type, 1> &workspace);
|
|
240
|
-
template<typename data_type>
|
|
241
|
-
void set_workspace(data_type *workspace);
|
|
242
|
-
|
|
243
|
-
private:
|
|
244
|
-
DFTI_DESCRIPTOR_HANDLE handle;
|
|
245
|
-
SYCL_DFTI_DESCRIPTOR_HANDLE device_handle;
|
|
246
|
-
sycl::buffer<SYCL_DFTI_DESCRIPTOR_HANDLE, 1> handle_buffer;
|
|
247
|
-
};
|
|
248
|
-
|
|
249
|
-
} // namespace dft
|
|
250
|
-
} // namespace mkl
|
|
251
|
-
} // namespace oneapi
|
|
252
|
-
|
|
253
|
-
#endif /* _DFT_HPP_ */
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/*******************************************************************************
|
|
2
|
-
* Copyright 2019-2022 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 _DFTI_HPP_
|
|
16
|
-
#define _DFTI_HPP_
|
|
17
|
-
|
|
18
|
-
#warning "Header 'oneapi/mkl/dfti.hpp' is deprecated. Please use oneapi/mkl/dft.hpp instead"
|
|
19
|
-
|
|
20
|
-
#include "oneapi/mkl/dft.hpp"
|
|
21
|
-
|
|
22
|
-
#endif /* _DFTI_HPP_ */
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
/*******************************************************************************
|
|
2
|
-
* Copyright 2020-2022 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 _MKL_EXCEPTIONS_HPP__
|
|
16
|
-
#define _MKL_EXCEPTIONS_HPP__
|
|
17
|
-
|
|
18
|
-
#include <exception>
|
|
19
|
-
#include <string>
|
|
20
|
-
#include <sycl/sycl.hpp>
|
|
21
|
-
|
|
22
|
-
#pragma clang diagnostic push
|
|
23
|
-
#pragma clang diagnostic ignored "-Wweak-vtables"
|
|
24
|
-
|
|
25
|
-
namespace oneapi {
|
|
26
|
-
namespace mkl {
|
|
27
|
-
class exception : public std::exception {
|
|
28
|
-
std::string msg_;
|
|
29
|
-
public:
|
|
30
|
-
exception(const std::string &domain = "", const std::string &function = "", const std::string &info = "") : std::exception() {
|
|
31
|
-
msg_ = "oneapi::mkl";
|
|
32
|
-
|
|
33
|
-
if (0 != domain.length() && 0 != function.length()) {
|
|
34
|
-
msg_ += "::" + domain + "::" + function;
|
|
35
|
-
} else if (0 != domain.length() && 0 == function.length()) {
|
|
36
|
-
msg_ += "::" + domain;
|
|
37
|
-
} else if (0 == domain.length() && 0 != function.length()) {
|
|
38
|
-
msg_ += "::" + function;
|
|
39
|
-
}
|
|
40
|
-
if (0 != info.length()) { msg_ += ": " + info; }
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const char* what() const noexcept override {
|
|
44
|
-
return msg_.c_str();
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
class unsupported_device : public oneapi::mkl::exception {
|
|
49
|
-
public:
|
|
50
|
-
unsupported_device(const std::string &domain, const std::string &function, const sycl::device &device)
|
|
51
|
-
: oneapi::mkl::exception(domain, function, "unsupported device: "+device.get_info<sycl::info::device::name>()) {
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
class host_bad_alloc : public oneapi::mkl::exception {
|
|
56
|
-
public:
|
|
57
|
-
host_bad_alloc(const std::string &domain, const std::string &function)
|
|
58
|
-
: oneapi::mkl::exception(domain, function, "cannot allocate memory on host") {
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
class device_bad_alloc : public oneapi::mkl::exception {
|
|
63
|
-
public:
|
|
64
|
-
device_bad_alloc(const std::string &domain, const std::string &function, const sycl::device &device)
|
|
65
|
-
: oneapi::mkl::exception(domain, function, "cannot allocate memory on "+device.get_info<sycl::info::device::name>()) {
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
class unimplemented : public oneapi::mkl::exception {
|
|
70
|
-
public:
|
|
71
|
-
unimplemented(const std::string &domain, const std::string &function, const std::string &info = "")
|
|
72
|
-
: oneapi::mkl::exception(domain, function, "unimplemented functionality"+((info.length() !=0) ? (": "+info) : "")) {
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
class invalid_argument : public oneapi::mkl::exception {
|
|
77
|
-
public:
|
|
78
|
-
invalid_argument(const std::string &domain, const std::string &function, const std::string &info = "")
|
|
79
|
-
: oneapi::mkl::exception(domain, function, "invalid argument"+((info.length() !=0) ? (": "+info) : "")) {
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
class uninitialized : public oneapi::mkl::exception {
|
|
84
|
-
public:
|
|
85
|
-
uninitialized(const std::string &domain, const std::string &function, const std::string &info = "")
|
|
86
|
-
: oneapi::mkl::exception(domain, function, "uninitialized object"+((info.length() !=0) ? (": "+info) : "")) {
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
class computation_error : public oneapi::mkl::exception {
|
|
91
|
-
public:
|
|
92
|
-
computation_error(const std::string &domain, const std::string &function, const std::string &info = "")
|
|
93
|
-
: oneapi::mkl::exception(domain, function, "computation error"+((info.length() != 0) ? (": "+info) : "")) {
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
class batch_error : public oneapi::mkl::exception {
|
|
98
|
-
public:
|
|
99
|
-
batch_error(const std::string &domain, const std::string &function, const std::string &info = "")
|
|
100
|
-
: oneapi::mkl::exception(domain, function, "batch error"+((info.length() != 0) ? (": "+info) : "")) {
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
} // namespace mkl
|
|
105
|
-
} // namespace oneapi
|
|
106
|
-
|
|
107
|
-
#pragma clang diagnostic pop
|
|
108
|
-
|
|
109
|
-
#endif // _MKL_EXCEPTIONS_HPP__
|
|
110
|
-
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
/*******************************************************************************
|
|
2
|
-
* Copyright 2022 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 __DATA_FITTING_INTERPOLATE_HPP__
|
|
16
|
-
#define __DATA_FITTING_INTERPOLATE_HPP__
|
|
17
|
-
|
|
18
|
-
#include <cstdint>
|
|
19
|
-
#include <vector>
|
|
20
|
-
#include <bitset>
|
|
21
|
-
|
|
22
|
-
#include <sycl/sycl.hpp>
|
|
23
|
-
|
|
24
|
-
#include "oneapi/mkl/exceptions.hpp"
|
|
25
|
-
#include "oneapi/mkl/experimental/data_fitting/spline_and_data_params.hpp"
|
|
26
|
-
|
|
27
|
-
namespace oneapi::mkl::experimental::data_fitting {
|
|
28
|
-
|
|
29
|
-
// Each bit in der_indicator indicates if we need to compute corresponding derivative or not.
|
|
30
|
-
// E.g., der_indicator=0x1 - means that we need only function values,
|
|
31
|
-
// der_indicator=0x2 - only 1-st derivative, der_indicator=5 - function value and 2nd derivative.
|
|
32
|
-
|
|
33
|
-
// Interpolant is taken by non-const reference because non-const Interpolant's function members are called
|
|
34
|
-
template <typename Interpolant>
|
|
35
|
-
sycl::event interpolate(Interpolant& interpolant, typename Interpolant::fp_type* sites,
|
|
36
|
-
std::int64_t n_sites, typename Interpolant::fp_type* results,
|
|
37
|
-
std::bitset<32> der_indicator, const std::vector<sycl::event>& dependencies = {},
|
|
38
|
-
interpolate_hint result_hint = interpolate_hint::funcs_sites_ders,
|
|
39
|
-
site_hint SiteHint = site_hint::non_uniform);
|
|
40
|
-
|
|
41
|
-
// Interpolant is taken by non-const reference because non-const Interpolant's function members are called
|
|
42
|
-
template <typename Interpolant>
|
|
43
|
-
sycl::event interpolate(Interpolant& interpolant, typename Interpolant::fp_type* sites,
|
|
44
|
-
std::int64_t n_sites, typename Interpolant::fp_type* results,
|
|
45
|
-
const std::vector<sycl::event>& dependencies = {},
|
|
46
|
-
interpolate_hint result_hint = interpolate_hint::funcs_sites_ders,
|
|
47
|
-
site_hint SiteHint = site_hint::non_uniform);
|
|
48
|
-
|
|
49
|
-
template <typename Interpolant>
|
|
50
|
-
sycl::event interpolate(sycl::queue& q, const Interpolant& interpolant,
|
|
51
|
-
typename Interpolant::fp_type* sites, std::int64_t n_sites,
|
|
52
|
-
typename Interpolant::fp_type* results,
|
|
53
|
-
std::bitset<32> der_indicator, const std::vector<sycl::event>& dependencies = {},
|
|
54
|
-
interpolate_hint result_hint = interpolate_hint::funcs_sites_ders,
|
|
55
|
-
site_hint SiteHint = site_hint::non_uniform);
|
|
56
|
-
|
|
57
|
-
template <typename Interpolant>
|
|
58
|
-
sycl::event interpolate(sycl::queue& q, const Interpolant& interpolant,
|
|
59
|
-
typename Interpolant::fp_type* sites, std::int64_t n_sites,
|
|
60
|
-
typename Interpolant::fp_type* results,
|
|
61
|
-
const std::vector<sycl::event>& dependencies = {},
|
|
62
|
-
interpolate_hint result_hint = interpolate_hint::funcs_sites_ders,
|
|
63
|
-
site_hint SiteHint = site_hint::non_uniform);
|
|
64
|
-
|
|
65
|
-
} // namespace oneapi::mkl::experimental::data_fitting
|
|
66
|
-
|
|
67
|
-
#endif // __DATA_FITTING_INTERPOLATE_HPP__
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/*******************************************************************************
|
|
2
|
-
* Copyright 2022 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 __SPLINE_AND_DATA_PARAMS__
|
|
16
|
-
#define __SPLINE_AND_DATA_PARAMS__
|
|
17
|
-
|
|
18
|
-
#include <cstdint>
|
|
19
|
-
|
|
20
|
-
namespace oneapi::mkl::experimental::data_fitting {
|
|
21
|
-
|
|
22
|
-
enum class partition_hint : std::int64_t { non_uniform = 0x1, quasi_uniform = 0x2, uniform = 0x4 };
|
|
23
|
-
|
|
24
|
-
enum class function_hint : std::int64_t {
|
|
25
|
-
row_major = INT64_C(0x10),
|
|
26
|
-
col_major = INT64_C(0x20)
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
enum class coefficient_hint : std::int64_t {
|
|
30
|
-
row_major = INT64_C(0x10),
|
|
31
|
-
col_major = INT64_C(0x20)
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
enum class interpolate_hint : std::int64_t {
|
|
35
|
-
funcs_sites_ders = INT64_C(0x10),
|
|
36
|
-
funcs_ders_sites = INT64_C(0x20),
|
|
37
|
-
sites_funcs_ders = INT64_C(0x100),
|
|
38
|
-
sites_ders_funcs = INT64_C(0x200)
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
enum class bc_type : std::int64_t {
|
|
42
|
-
free_end = INT64_C(0x2),
|
|
43
|
-
first_left_der = INT64_C(0x4),
|
|
44
|
-
first_right_der = INT64_C(0x8),
|
|
45
|
-
second_left_der = INT64_C(0x10),
|
|
46
|
-
second_right_der = INT64_C(0x20),
|
|
47
|
-
periodic = INT64_C(0x40)
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
enum class site_hint : std::int64_t { non_uniform = INT64_C(0x1), uniform = INT64_C(0x4), sorted = INT64_C(0x40) };
|
|
51
|
-
|
|
52
|
-
namespace linear_spline {
|
|
53
|
-
struct default_type {};
|
|
54
|
-
} // namespace linear_spline
|
|
55
|
-
|
|
56
|
-
namespace cubic_spline {
|
|
57
|
-
struct hermite {};
|
|
58
|
-
} // namespace cubic_spline
|
|
59
|
-
|
|
60
|
-
enum class derivatives : std::int32_t { zero = INT32_C(0x1), first = INT32_C(0x2), second = INT32_C(0x4), third = INT32_C(0x8) };
|
|
61
|
-
|
|
62
|
-
inline std::int32_t operator|(derivatives lhs, derivatives rhs) {
|
|
63
|
-
return (static_cast<std::int32_t>(lhs) | static_cast<std::int32_t>(rhs));
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
} // namespace oneapi::mkl::experimental::data_fitting
|
|
67
|
-
|
|
68
|
-
#endif // __SPLINE_AND_DATA_PARAMS__
|