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.
Files changed (103) hide show
  1. {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.3.0.data}/data/Library/lib/mkl_sycl.lib +0 -0
  2. {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.3.0.data}/data/Library/lib/mkl_sycl_blas_dll.lib +0 -0
  3. mkl_devel_dpcpp-2025.3.0.data/data/Library/lib/mkl_sycl_dft_dll.lib +0 -0
  4. {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.3.0.data}/data/Library/lib/mkl_sycl_dll.lib +0 -0
  5. mkl_devel_dpcpp-2025.3.0.data/data/Library/lib/mkl_sycl_lapack_dll.lib +0 -0
  6. {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.3.0.data}/data/Library/lib/mkl_sycl_rng_dll.lib +0 -0
  7. mkl_devel_dpcpp-2025.3.0.data/data/Library/lib/mkl_sycl_sparse_dll.lib +0 -0
  8. {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.3.0.dist-info}/METADATA +5 -4
  9. mkl_devel_dpcpp-2025.3.0.dist-info/RECORD +15 -0
  10. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/bfloat16.hpp +0 -26
  11. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/buffer.hpp +0 -42
  12. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/buffer_decls.hpp +0 -880
  13. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/spec.hpp +0 -42
  14. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/types.hpp +0 -60
  15. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/usm.hpp +0 -42
  16. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/usm_decls.hpp +0 -1240
  17. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas.hpp +0 -34
  18. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/dft/spec.hpp +0 -42
  19. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/dft.hpp +0 -254
  20. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/dfti.hpp +0 -22
  21. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/exceptions.hpp +0 -110
  22. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/experimental/data_fitting/interpolate.hpp +0 -67
  23. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/experimental/data_fitting/spline_and_data_params.hpp +0 -68
  24. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/experimental/data_fitting/splines.hpp +0 -177
  25. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/experimental/data_fitting.hpp +0 -22
  26. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/export.hpp +0 -25
  27. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/concepts.hpp +0 -55
  28. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/exceptions.hpp +0 -75
  29. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/lapack.hpp +0 -1096
  30. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/scratchpad.hpp +0 -107
  31. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/spec.hpp +0 -42
  32. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack.hpp +0 -24
  33. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/detail/engine_base.hpp +0 -48
  34. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/bernoulli_impl.hpp +0 -89
  35. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/beta_impl.hpp +0 -463
  36. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/bits_impl.hpp +0 -71
  37. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/distribution_base.hpp +0 -85
  38. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/engine_base.hpp +0 -43
  39. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/engine_helpers_base.hpp +0 -54
  40. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/exponential_impl.hpp +0 -116
  41. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/gamma_impl.hpp +0 -285
  42. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/gaussian_impl.hpp +0 -270
  43. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/geometric_impl.hpp +0 -99
  44. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/lognormal_impl.hpp +0 -105
  45. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg31m1_helpers_impl.hpp +0 -117
  46. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg31m1_impl.hpp +0 -223
  47. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg59_helpers_impl.hpp +0 -118
  48. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg59_impl.hpp +0 -266
  49. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mrg32k3a_helpers_impl.hpp +0 -125
  50. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mrg32k3a_impl.hpp +0 -385
  51. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mrg32k3a_skip_ahead_matrix.hpp +0 -3668
  52. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/philox4x32x10_helpers_impl.hpp +0 -141
  53. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/philox4x32x10_impl.hpp +0 -552
  54. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/poisson_impl.hpp +0 -328
  55. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/types.hpp +0 -58
  56. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/uniform_bits_impl.hpp +0 -51
  57. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/uniform_impl.hpp +0 -287
  58. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/vm_wrappers.hpp +0 -183
  59. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/distributions.hpp +0 -700
  60. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/engine_helpers.hpp +0 -116
  61. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/engines.hpp +0 -187
  62. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/functions.hpp +0 -59
  63. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/types.hpp +0 -79
  64. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device.hpp +0 -29
  65. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/distributions.hpp +0 -1913
  66. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/engines.hpp +0 -788
  67. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/functions.hpp +0 -163
  68. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/spec.hpp +0 -42
  69. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng.hpp +0 -23
  70. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas/sparse_auxiliary.hpp +0 -111
  71. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas/sparse_operations.hpp +0 -446
  72. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas/sparse_structures.hpp +0 -193
  73. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas/spec.hpp +0 -42
  74. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas.hpp +0 -33
  75. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spec.hpp +0 -42
  76. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/stats/spec.hpp +0 -42
  77. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/stats.hpp +0 -357
  78. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/types.hpp +0 -321
  79. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/buffer.hpp +0 -3529
  80. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/decls.hpp +0 -280
  81. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/decls.hpp +0 -81
  82. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/dispatch.hpp +0 -1059
  83. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/ep.hpp +0 -861
  84. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/ha.hpp +0 -860
  85. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/la.hpp +0 -860
  86. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/rts.hpp +0 -4608
  87. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/scalar.hpp +0 -8963
  88. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/vm.hpp +0 -460
  89. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/span.hpp +0 -3813
  90. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/spec.hpp +0 -42
  91. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/usm.hpp +0 -3581
  92. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm.hpp +0 -31
  93. mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl.hpp +0 -35
  94. mkl_devel_dpcpp-2025.1.0.data/data/Library/lib/mkl_sycl_dft_dll.lib +0 -0
  95. mkl_devel_dpcpp-2025.1.0.data/data/Library/lib/mkl_sycl_lapack_dll.lib +0 -0
  96. mkl_devel_dpcpp-2025.1.0.data/data/Library/lib/mkl_sycl_sparse_dll.lib +0 -0
  97. mkl_devel_dpcpp-2025.1.0.dist-info/RECORD +0 -99
  98. {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
  99. {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.3.0.data}/data/Library/lib/mkl_sycl_stats_dll.lib +0 -0
  100. {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.3.0.data}/data/Library/lib/mkl_sycl_vm_dll.lib +0 -0
  101. {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.3.0.dist-info}/LICENSE.txt +0 -0
  102. {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.3.0.dist-info}/WHEEL +0 -0
  103. {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.3.0.dist-info}/top_level.txt +0 -0
@@ -1,33 +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_SPBLAS_HPP_
16
- #define _ONEMKL_SPBLAS_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
- #include "oneapi/mkl/spblas/sparse_operations.hpp"
30
- #include "oneapi/mkl/spblas/sparse_auxiliary.hpp"
31
- #include "oneapi/mkl/spblas/spec.hpp"
32
-
33
- #endif /* _ONEMKL_SPBLAS_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 MKL_SPEC_H
21
- #define MKL_SPEC_H
22
-
23
- #define ONEMATH_SPEC_VERSION_NON_COMPLIANT 1
24
- #define ONEMATH_SPEC_VERSION(MAJOR, MINOR) (MAJOR*100 + MINOR)
25
-
26
- namespace oneapi {
27
- namespace mkl {
28
-
29
- // Versions of the oneMATH specification
30
- enum class SpecVersion{
31
- not_compliant = ONEMATH_SPEC_VERSION_NON_COMPLIANT,
32
- version_1_1 = ONEMATH_SPEC_VERSION(1, 1),
33
- version_1_2 = ONEMATH_SPEC_VERSION(1, 2),
34
- version_1_3 = ONEMATH_SPEC_VERSION(1, 3),
35
- version_1_4 = ONEMATH_SPEC_VERSION(1, 4),
36
- not_released,
37
- };
38
-
39
- } // namespace mkl
40
- } // namespace oneapi
41
-
42
- #endif /* MKL_SPEC_H */
@@ -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_STATS_SPEC_HPP
21
- #define ONEMATH_STATS_SPEC_HPP
22
-
23
- #include "oneapi/mkl/spec.hpp"
24
-
25
- #if defined(ONEMATH_SPEC_VERSION)
26
- #define ONEMATH_STATS_SPEC_VERSION ONEMATH_SPEC_VERSION(1, 3)
27
- #else
28
- #error "ONEMATH_SPEC_VERSION should be defined"
29
- #endif
30
-
31
- namespace oneapi {
32
- namespace mkl {
33
- namespace stats {
34
-
35
- constexpr auto spec_version =
36
- static_cast<SpecVersion>(ONEMATH_STATS_SPEC_VERSION);
37
-
38
- } // namespace stats
39
- } // namespace mkl
40
- } // namespace oneapi
41
-
42
- #endif /* ONEMATH_STATS_SPEC_HPP */
@@ -1,357 +0,0 @@
1
- /*******************************************************************************
2
- * Copyright (C) 2020 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 _STATS_HPP__
16
- #define _STATS_HPP__
17
-
18
- #include <type_traits>
19
- #include <vector>
20
-
21
- #include <sycl/sycl.hpp>
22
-
23
- #include "oneapi/mkl/export.hpp"
24
- #include "oneapi/mkl/exceptions.hpp"
25
- #include "oneapi/mkl/stats/spec.hpp"
26
-
27
- namespace oneapi {
28
- namespace mkl {
29
- namespace stats {
30
-
31
- enum class method : std::int64_t {
32
- fast = 0x00000001,
33
- one_pass = 0x00000002
34
- };
35
-
36
-
37
- enum class layout : std::int64_t {
38
- row_major = 0x00010000,
39
- col_major = 0x00020000
40
- };
41
-
42
- template<layout ObservationsLayout = layout::row_major, typename Type = float*>
43
- struct dataset {};
44
-
45
- // Specialization for USM API
46
- template<layout ObservationsLayout, typename Type>
47
- struct dataset<ObservationsLayout, Type*> {
48
- static_assert(std::is_same<Type, float>::value | std::is_same<Type, double>::value,
49
- "oneMKL: stats/dataset: template type is not supported");
50
-
51
- // Constructor
52
- explicit dataset(std::int64_t n_dims_, std::int64_t n_observations_, Type* observations_,
53
- Type* weights_ = nullptr, std::int64_t* indices_ = nullptr) :
54
- n_dims(n_dims_), n_observations(n_observations_), observations(observations_),
55
- weights(weights_), indices(indices_) {
56
- if(n_dims_ <= 0) {
57
- throw oneapi::mkl::invalid_argument("stats", "dataset", "number of dimensions <= 0");
58
- }
59
- if(n_observations_ <= 0) {
60
- throw oneapi::mkl::invalid_argument("stats", "dataset", "number of observations <= 0");
61
- }
62
- if(observations_ == nullptr) {
63
- throw oneapi::mkl::invalid_argument("stats", "dataset", "observations is nullptr");
64
- }
65
- };
66
-
67
- std::int64_t n_dims;
68
- std::int64_t n_observations;
69
- Type* observations;
70
- Type* weights = nullptr;
71
- std::int64_t* indices = nullptr;
72
- static constexpr oneapi::mkl::stats::layout layout = ObservationsLayout;
73
- };
74
-
75
- // Specialization for buffer-based API
76
- template<layout ObservationsLayout, typename Type>
77
- struct dataset<ObservationsLayout, sycl::buffer<Type, 1>> {
78
- static_assert(std::is_same<Type, float>::value | std::is_same<Type, double>::value,
79
- "oneMKL: stats/dataset: template type is not supported");
80
-
81
- // Constructor
82
- explicit dataset(std::int64_t n_dims_, std::int64_t n_observations_,
83
- sycl::buffer<Type, 1> observations_, sycl::buffer<Type, 1> weights_ = {0},
84
- sycl::buffer<std::int64_t, 1> indices_ = {0}) :
85
- n_dims(n_dims_), n_observations(n_observations_), observations(observations_),
86
- weights(weights_), indices(indices_) {
87
- if(n_dims_ <= 0) {
88
- throw oneapi::mkl::invalid_argument("stats", "dataset", "number of dimensions <= 0");
89
- }
90
- if(n_observations_ <= 0) {
91
- throw oneapi::mkl::invalid_argument("stats", "dataset", "number of observations <= 0");
92
- }
93
- if(observations_.size() == 0) {
94
- throw oneapi::mkl::invalid_argument("stats", "dataset", "observations is empty");
95
- }
96
- };
97
-
98
- std::int64_t n_dims;
99
- std::int64_t n_observations;
100
- sycl::buffer<Type, 1> observations;
101
- sycl::buffer<Type, 1> weights = {0};
102
- sycl::buffer<std::int64_t, 1> indices = {0};
103
- static constexpr oneapi::mkl::stats::layout layout = ObservationsLayout;
104
- };
105
-
106
- // Helper funtions to make dataset
107
- template<layout ObservationsLayout = layout::row_major, typename Type>
108
- dataset<ObservationsLayout, Type*> make_dataset(std::int64_t n_dims, std::int64_t n_observations,
109
- Type* observations, Type* weights = nullptr,
110
- std::int64_t* indices = nullptr) {
111
- return dataset<ObservationsLayout, Type*>(n_dims, n_observations, observations, weights, indices);
112
- }
113
-
114
-
115
- template<layout ObservationsLayout = layout::row_major, typename Type>
116
- dataset<ObservationsLayout, sycl::buffer<Type, 1>> make_dataset(std::int64_t n_dims,
117
- std::int64_t n_observations,
118
- sycl::buffer<Type, 1> observations,
119
- sycl::buffer<Type, 1> weights = {0},
120
- sycl::buffer<std::int64_t, 1> indices = {0}) {
121
- return dataset<ObservationsLayout, sycl::buffer<Type, 1>>(n_dims, n_observations,
122
- observations, weights, indices);
123
- }
124
-
125
- // Raw sum computation
126
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
127
- void raw_sum(sycl::queue& queue,
128
- const dataset<ObservationsLayout, sycl::buffer<Type, 1>>& data,
129
- sycl::buffer<Type, 1> sum,
130
- sycl::buffer<Type, 1> raw_sum_2 = {0},
131
- sycl::buffer<Type, 1> raw_sum_3 = {0},
132
- sycl::buffer<Type, 1> raw_sum_4 = {0});
133
-
134
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
135
- sycl::event raw_sum(sycl::queue& queue,
136
- const dataset<ObservationsLayout, Type*>& data,
137
- Type* sum,
138
- Type* raw_sum_2 = nullptr,
139
- Type* raw_sum_3 = nullptr,
140
- Type* raw_sum_4 = nullptr,
141
- const std::vector<sycl::event> &dependencies = {});
142
-
143
- // Central sum computation
144
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
145
- void central_sum(sycl::queue& queue,
146
- const dataset<ObservationsLayout, sycl::buffer<Type, 1>>& data,
147
- sycl::buffer<Type, 1> central_sum_2,
148
- sycl::buffer<Type, 1> central_sum_3 = {0},
149
- sycl::buffer<Type, 1> central_sum_4 = {0});
150
-
151
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
152
- sycl::event central_sum(sycl::queue& queue,
153
- const dataset<ObservationsLayout, Type*>& data,
154
- Type* central_sum_2,
155
- Type* central_sum_3 = nullptr,
156
- Type* central_sum_4 = nullptr,
157
- const std::vector<sycl::event> &dependencies = {});
158
-
159
- // Central sum with user mean
160
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
161
- void central_sum(sycl::queue& queue,
162
- sycl::buffer<Type, 1> mean,
163
- const dataset<ObservationsLayout, sycl::buffer<Type, 1>>& data,
164
- sycl::buffer<Type, 1> central_sum_2,
165
- sycl::buffer<Type, 1> central_sum_3 = {0},
166
- sycl::buffer<Type, 1> central_sum_4 = {0});
167
-
168
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
169
- sycl::event central_sum(sycl::queue& queue,
170
- Type* mean,
171
- const dataset<ObservationsLayout, Type*>& data,
172
- Type* central_sum_2,
173
- Type* central_sum_3 = nullptr,
174
- Type* central_sum_4 = nullptr,
175
- const std::vector<sycl::event> &dependencies = {});
176
-
177
- // Raw moment
178
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
179
- void raw_moment(sycl::queue& queue,
180
- const dataset<ObservationsLayout, sycl::buffer<Type, 1>>& data,
181
- sycl::buffer<Type, 1> mean,
182
- sycl::buffer<Type, 1> raw_moment_2 = {0},
183
- sycl::buffer<Type, 1> raw_moment_3 = {0},
184
- sycl::buffer<Type, 1> raw_moment_4 = {0});
185
-
186
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
187
- sycl::event raw_moment(sycl::queue& queue,
188
- const dataset<ObservationsLayout, Type*>& data,
189
- Type* mean,
190
- Type* raw_moment_2 = nullptr,
191
- Type* raw_moment_3 = nullptr,
192
- Type* raw_moment_4 = nullptr,
193
- const std::vector<sycl::event> &dependencies = {});
194
-
195
- // Central moment computation
196
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
197
- void central_moment(sycl::queue& queue,
198
- const dataset<ObservationsLayout, sycl::buffer<Type, 1>>& data,
199
- sycl::buffer<Type, 1> central_moment_2,
200
- sycl::buffer<Type, 1> central_moment_3 = {0},
201
- sycl::buffer<Type, 1> central_moment_4 = {0});
202
-
203
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
204
- sycl::event central_moment(sycl::queue& queue,
205
- const dataset<ObservationsLayout, Type*>& data,
206
- Type* central_moment_2,
207
- Type* central_moment_3 = nullptr,
208
- Type* central_moment_4 = nullptr,
209
- const std::vector<sycl::event> &dependencies = {});
210
-
211
- // Central moment with user mean
212
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
213
- void central_moment(sycl::queue& queue,
214
- sycl::buffer<Type, 1> mean,
215
- const dataset<ObservationsLayout, sycl::buffer<Type, 1>>& data,
216
- sycl::buffer<Type, 1> central_moment_2,
217
- sycl::buffer<Type, 1> central_moment_3 = {0},
218
- sycl::buffer<Type, 1> central_moment_4 = {0});
219
-
220
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
221
- sycl::event central_moment(sycl::queue& queue,
222
- Type* mean,
223
- const dataset<ObservationsLayout, Type*>& data,
224
- Type* central_moment_2,
225
- Type* central_moment_3 = nullptr,
226
- Type* central_moment_4 = nullptr,
227
- const std::vector<sycl::event> &dependencies = {});
228
-
229
- // Mean computation
230
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
231
- void mean(sycl::queue& queue,
232
- const dataset<ObservationsLayout, sycl::buffer<Type, 1>>& data,
233
- sycl::buffer<Type, 1> mean);
234
-
235
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
236
- sycl::event mean(sycl::queue& queue,
237
- const dataset<ObservationsLayout, Type*>& data,
238
- Type* mean,
239
- const std::vector<sycl::event> &dependencies = {});
240
-
241
- // Variation computation
242
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
243
- void variation(sycl::queue& queue,
244
- const dataset<ObservationsLayout, sycl::buffer<Type, 1>>& data,
245
- sycl::buffer<Type, 1> variation);
246
-
247
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
248
- sycl::event variation(sycl::queue& queue,
249
- const dataset<ObservationsLayout, Type*>& data,
250
- Type* variation,
251
- const std::vector<sycl::event> &dependencies = {});
252
-
253
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
254
- void variation(sycl::queue& queue,
255
- sycl::buffer<Type, 1> mean,
256
- const dataset<ObservationsLayout, sycl::buffer<Type, 1>>& data,
257
- sycl::buffer<Type, 1> variation);
258
-
259
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
260
- sycl::event variation(sycl::queue& queue,
261
- Type* mean,
262
- const dataset<ObservationsLayout, Type*>& data,
263
- Type* variation,
264
- const std::vector<sycl::event> &dependencies = {});
265
-
266
- // Skewness computation
267
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
268
- void skewness(sycl::queue& queue,
269
- const dataset<ObservationsLayout, sycl::buffer<Type, 1>>& data,
270
- sycl::buffer<Type, 1> skewness);
271
-
272
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
273
- sycl::event skewness(sycl::queue& queue,
274
- const dataset<ObservationsLayout, Type*>& data,
275
- Type* skewness,
276
- const std::vector<sycl::event> &dependencies = {});
277
-
278
- // Skewness computation for user-defined mean
279
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
280
- void skewness(sycl::queue& queue,
281
- sycl::buffer<Type, 1> mean,
282
- const dataset<ObservationsLayout, sycl::buffer<Type, 1>>& data,
283
- sycl::buffer<Type, 1> skewness);
284
-
285
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
286
- sycl::event skewness(sycl::queue& queue,
287
- Type* mean,
288
- const dataset<ObservationsLayout, Type*>& data,
289
- Type* skewness,
290
- const std::vector<sycl::event> &dependencies = {});
291
-
292
- // Kurtosis computation
293
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
294
- void kurtosis(sycl::queue& queue,
295
- const dataset<ObservationsLayout, sycl::buffer<Type, 1>>& data,
296
- sycl::buffer<Type, 1> kurtosis);
297
-
298
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
299
- sycl::event kurtosis(sycl::queue& queue,
300
- const dataset<ObservationsLayout, Type*>& data,
301
- Type* kurtosis,
302
- const std::vector<sycl::event> &dependencies = {});
303
-
304
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
305
- void kurtosis(sycl::queue& queue,
306
- sycl::buffer<Type, 1> mean,
307
- const dataset<ObservationsLayout, sycl::buffer<Type, 1>>& data,
308
- sycl::buffer<Type, 1> kurtosis);
309
-
310
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
311
- sycl::event kurtosis(sycl::queue& queue,
312
- Type* mean,
313
- const dataset<ObservationsLayout, Type*>& data,
314
- Type* kurtosis,
315
- const std::vector<sycl::event> &dependencies = {});
316
-
317
- // Min computation
318
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
319
- void min(sycl::queue& queue,
320
- const dataset<ObservationsLayout, sycl::buffer<Type, 1>>& data,
321
- sycl::buffer<Type, 1> min);
322
-
323
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
324
- sycl::event min(sycl::queue& queue,
325
- const dataset<ObservationsLayout, Type*>& data,
326
- Type* min,
327
- const std::vector<sycl::event> &dependencies = {});
328
-
329
- // Max computation
330
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
331
- void max(sycl::queue& queue,
332
- const dataset<ObservationsLayout, sycl::buffer<Type, 1>>& data,
333
- sycl::buffer<Type, 1> max);
334
-
335
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
336
- sycl::event max(sycl::queue& queue,
337
- const dataset<ObservationsLayout, Type*>& data,
338
- Type* max,
339
- const std::vector<sycl::event> &dependencies = {});
340
-
341
- // Min and Max computation
342
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
343
- void min_max(sycl::queue& queue,
344
- const dataset<ObservationsLayout, sycl::buffer<Type, 1>>& data,
345
- sycl::buffer<Type, 1> min, sycl::buffer<Type, 1> max);
346
-
347
- template<method Method = method::fast, typename Type, layout ObservationsLayout>
348
- sycl::event min_max(sycl::queue& queue,
349
- const dataset<ObservationsLayout, Type*>& data,
350
- Type* min, Type* max,
351
- const std::vector<sycl::event> &dependencies = {});
352
-
353
- } // stats
354
- } // mkl
355
- } // namespace oneapi
356
-
357
- #endif // _STATS_HPP__