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.

Files changed (94) hide show
  1. {mkl_devel_dpcpp-2025.0.1.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl.lib +0 -0
  2. {mkl_devel_dpcpp-2025.0.1.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_blas_dll.lib +0 -0
  3. mkl_devel_dpcpp-2025.2.0.data/data/Library/lib/mkl_sycl_dft_dll.lib +0 -0
  4. {mkl_devel_dpcpp-2025.0.1.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_dll.lib +0 -0
  5. mkl_devel_dpcpp-2025.2.0.data/data/Library/lib/mkl_sycl_lapack_dll.lib +0 -0
  6. {mkl_devel_dpcpp-2025.0.1.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_rng_dll.lib +0 -0
  7. mkl_devel_dpcpp-2025.2.0.data/data/Library/lib/mkl_sycl_sparse_dll.lib +0 -0
  8. {mkl_devel_dpcpp-2025.0.1.dist-info → mkl_devel_dpcpp-2025.2.0.dist-info}/METADATA +4 -3
  9. mkl_devel_dpcpp-2025.2.0.dist-info/RECORD +15 -0
  10. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/bfloat16.hpp +0 -26
  11. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/blas/buffer.hpp +0 -42
  12. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/blas/buffer_decls.hpp +0 -880
  13. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/blas/types.hpp +0 -60
  14. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/blas/usm.hpp +0 -42
  15. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/blas/usm_decls.hpp +0 -1240
  16. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/blas.hpp +0 -33
  17. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/dft.hpp +0 -253
  18. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/dfti.hpp +0 -22
  19. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/exceptions.hpp +0 -110
  20. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/experimental/data_fitting/interpolate.hpp +0 -67
  21. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/experimental/data_fitting/spline_and_data_params.hpp +0 -68
  22. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/experimental/data_fitting/splines.hpp +0 -177
  23. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/experimental/data_fitting.hpp +0 -22
  24. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/export.hpp +0 -25
  25. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/lapack/concepts.hpp +0 -55
  26. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/lapack/exceptions.hpp +0 -75
  27. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/lapack/lapack.hpp +0 -1095
  28. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/lapack/scratchpad.hpp +0 -106
  29. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/lapack.hpp +0 -23
  30. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/detail/engine_base.hpp +0 -48
  31. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/bernoulli_impl.hpp +0 -89
  32. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/beta_impl.hpp +0 -464
  33. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/bits_impl.hpp +0 -71
  34. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/distribution_base.hpp +0 -81
  35. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/engine_base.hpp +0 -43
  36. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/engine_helpers_base.hpp +0 -54
  37. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/exponential_impl.hpp +0 -116
  38. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/gamma_impl.hpp +0 -285
  39. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/gaussian_impl.hpp +0 -270
  40. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/lognormal_impl.hpp +0 -105
  41. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg31m1_helpers_impl.hpp +0 -117
  42. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg31m1_impl.hpp +0 -223
  43. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg59_helpers_impl.hpp +0 -118
  44. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg59_impl.hpp +0 -266
  45. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/mrg32k3a_helpers_impl.hpp +0 -125
  46. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/mrg32k3a_impl.hpp +0 -385
  47. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/mrg32k3a_skip_ahead_matrix.hpp +0 -3668
  48. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/philox4x32x10_helpers_impl.hpp +0 -141
  49. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/philox4x32x10_impl.hpp +0 -552
  50. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/poisson_impl.hpp +0 -355
  51. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/types.hpp +0 -58
  52. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/uniform_bits_impl.hpp +0 -51
  53. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/uniform_impl.hpp +0 -289
  54. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/detail/vm_wrappers.hpp +0 -183
  55. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/distributions.hpp +0 -637
  56. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/engine_helpers.hpp +0 -116
  57. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/engines.hpp +0 -187
  58. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/functions.hpp +0 -59
  59. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device/types.hpp +0 -74
  60. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/device.hpp +0 -29
  61. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/distributions.hpp +0 -1913
  62. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/engines.hpp +0 -788
  63. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng/functions.hpp +0 -163
  64. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/rng.hpp +0 -22
  65. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/spblas/sparse_auxiliary.hpp +0 -111
  66. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/spblas/sparse_operations.hpp +0 -446
  67. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/spblas/sparse_structures.hpp +0 -193
  68. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/spblas.hpp +0 -32
  69. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/stats.hpp +0 -356
  70. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/types.hpp +0 -321
  71. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/buffer.hpp +0 -3529
  72. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/decls.hpp +0 -280
  73. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/device/detail/decls.hpp +0 -81
  74. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/device/detail/dispatch.hpp +0 -1059
  75. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/device/detail/ep.hpp +0 -861
  76. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/device/detail/ha.hpp +0 -860
  77. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/device/detail/la.hpp +0 -860
  78. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/device/detail/rts.hpp +0 -4608
  79. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/device/detail/scalar.hpp +0 -8963
  80. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/device/vm.hpp +0 -460
  81. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/span.hpp +0 -3813
  82. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm/usm.hpp +0 -3581
  83. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl/vm.hpp +0 -30
  84. mkl_devel_dpcpp-2025.0.1.data/data/Library/include/oneapi/mkl.hpp +0 -34
  85. mkl_devel_dpcpp-2025.0.1.data/data/Library/lib/mkl_sycl_dft_dll.lib +0 -0
  86. mkl_devel_dpcpp-2025.0.1.data/data/Library/lib/mkl_sycl_lapack_dll.lib +0 -0
  87. mkl_devel_dpcpp-2025.0.1.data/data/Library/lib/mkl_sycl_sparse_dll.lib +0 -0
  88. mkl_devel_dpcpp-2025.0.1.dist-info/RECORD +0 -90
  89. {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
  90. {mkl_devel_dpcpp-2025.0.1.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_stats_dll.lib +0 -0
  91. {mkl_devel_dpcpp-2025.0.1.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_vm_dll.lib +0 -0
  92. {mkl_devel_dpcpp-2025.0.1.dist-info → mkl_devel_dpcpp-2025.2.0.dist-info}/LICENSE.txt +0 -0
  93. {mkl_devel_dpcpp-2025.0.1.dist-info → mkl_devel_dpcpp-2025.2.0.dist-info}/WHEEL +0 -0
  94. {mkl_devel_dpcpp-2025.0.1.dist-info → mkl_devel_dpcpp-2025.2.0.dist-info}/top_level.txt +0 -0
@@ -1,116 +0,0 @@
1
- /*******************************************************************************
2
- * Copyright 2023 Intel Corporation
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing,
11
- * software distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions
14
- * and limitations under the License.
15
- *
16
- *
17
- * SPDX-License-Identifier: Apache-2.0
18
- *******************************************************************************/
19
-
20
- #ifndef _MKL_RNG_DEVICE_ENGINE_HELPERS_HPP_
21
- #define _MKL_RNG_DEVICE_ENGINE_HELPERS_HPP_
22
-
23
- #include "oneapi/mkl/rng/device/detail/engine_helpers_base.hpp"
24
-
25
- namespace oneapi::mkl::rng::device {
26
-
27
- // PSEUDO-RANDOM NUMBER HOST-SIDE ENGINE HELPERS
28
-
29
- template <typename EngineType>
30
- class engine_accessor : detail::engine_accessor_base<EngineType> {
31
- public:
32
- EngineType load(size_t id) const {
33
- return detail::engine_accessor_base<EngineType>::load(id);
34
- }
35
-
36
- void store(EngineType engine, size_t id) const {
37
- detail::engine_accessor_base<EngineType>::store(engine, id);
38
- }
39
-
40
- private:
41
- engine_accessor(sycl::buffer<std::uint32_t, 1>& state_buf, sycl::handler& cgh)
42
- : detail::engine_accessor_base<EngineType>(state_buf, cgh) {}
43
- friend detail::engine_descriptor_base<EngineType>;
44
- };
45
-
46
- template <typename EngineType = philox4x32x10<>>
47
- class engine_descriptor : detail::engine_descriptor_base<EngineType> {};
48
-
49
- template <std::int32_t VecSize>
50
- class engine_descriptor<philox4x32x10<VecSize>>
51
- : detail::engine_descriptor_base<philox4x32x10<VecSize>> {
52
- public:
53
- engine_descriptor(sycl::queue& queue, sycl::range<1> range, std::uint64_t seed,
54
- std::uint64_t offset)
55
- : detail::engine_descriptor_base<philox4x32x10<VecSize>>(queue, range, seed, offset) {}
56
-
57
- template <typename InitEngineFunc>
58
- engine_descriptor(sycl::queue& queue, sycl::range<1> range, InitEngineFunc func)
59
- : detail::engine_descriptor_base<philox4x32x10<VecSize>>(queue, range, func) {}
60
-
61
- auto get_access(sycl::handler& cgh) {
62
- return detail::engine_descriptor_base<philox4x32x10<VecSize>>::get_access(cgh);
63
- }
64
- };
65
-
66
- template <std::int32_t VecSize>
67
- class engine_descriptor<mrg32k3a<VecSize>> : detail::engine_descriptor_base<mrg32k3a<VecSize>> {
68
- public:
69
- engine_descriptor(sycl::queue& queue, sycl::range<1> range, std::uint32_t seed,
70
- std::uint64_t offset)
71
- : detail::engine_descriptor_base<mrg32k3a<VecSize>>(queue, range, seed, offset) {}
72
-
73
- template <typename InitEngineFunc>
74
- engine_descriptor(sycl::queue& queue, sycl::range<1> range, InitEngineFunc func)
75
- : detail::engine_descriptor_base<mrg32k3a<VecSize>>(queue, range, func) {}
76
-
77
- auto get_access(sycl::handler& cgh) {
78
- return detail::engine_descriptor_base<mrg32k3a<VecSize>>::get_access(cgh);
79
- }
80
- };
81
-
82
- template <std::int32_t VecSize>
83
- class engine_descriptor<mcg59<VecSize>> : detail::engine_descriptor_base<mcg59<VecSize>> {
84
- public:
85
- engine_descriptor(sycl::queue& queue, sycl::range<1> range, std::uint64_t seed,
86
- std::uint64_t offset)
87
- : detail::engine_descriptor_base<mcg59<VecSize>>(queue, range, seed, offset) {}
88
-
89
- template <typename InitEngineFunc>
90
- engine_descriptor(sycl::queue& queue, sycl::range<1> range, InitEngineFunc func)
91
- : detail::engine_descriptor_base<mcg59<VecSize>>(queue, range, func) {}
92
-
93
- auto get_access(sycl::handler& cgh) {
94
- return detail::engine_descriptor_base<mcg59<VecSize>>::get_access(cgh);
95
- }
96
- };
97
-
98
- template <std::int32_t VecSize>
99
- class engine_descriptor<mcg31m1<VecSize>> : detail::engine_descriptor_base<mcg31m1<VecSize>> {
100
- public:
101
- engine_descriptor(sycl::queue& queue, sycl::range<1> range, std::uint32_t seed,
102
- std::uint64_t offset)
103
- : detail::engine_descriptor_base<mcg31m1<VecSize>>(queue, range, seed, offset) {}
104
-
105
- template <typename InitEngineFunc>
106
- engine_descriptor(sycl::queue& queue, sycl::range<1> range, InitEngineFunc func)
107
- : detail::engine_descriptor_base<mcg31m1<VecSize>>(queue, range, func) {}
108
-
109
- auto get_access(sycl::handler& cgh) {
110
- return detail::engine_descriptor_base<mcg31m1<VecSize>>::get_access(cgh);
111
- }
112
- };
113
-
114
- } // namespace oneapi::mkl::rng::device
115
-
116
- #endif // _MKL_RNG_DEVICE_ENGINE_HELPERS_HPP_
@@ -1,187 +0,0 @@
1
- /*******************************************************************************
2
- * Copyright 2020 Intel Corporation
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing,
11
- * software distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions
14
- * and limitations under the License.
15
- *
16
- *
17
- * SPDX-License-Identifier: Apache-2.0
18
- *******************************************************************************/
19
-
20
- #ifndef _MKL_RNG_DEVICE_ENGINES_HPP_
21
- #define _MKL_RNG_DEVICE_ENGINES_HPP_
22
-
23
- #include <limits>
24
-
25
- #include "oneapi/mkl/rng/device/types.hpp"
26
- #include "oneapi/mkl/rng/device/functions.hpp"
27
- #include "oneapi/mkl/rng/device/detail/engine_base.hpp"
28
- #include "oneapi/mkl/rng/device/detail/engine_helpers_base.hpp"
29
-
30
- namespace oneapi::mkl::rng::device {
31
-
32
- // PSEUDO-RANDOM NUMBER DEVICE-SIDE ENGINES
33
-
34
- // Class template oneapi::mkl::rng::device::philox4x32x10
35
- //
36
- // Represents Philox4x32-10 counter-based pseudorandom number generator
37
- //
38
- // Supported parallelization methods:
39
- // skip_ahead
40
- //
41
- template <std::int32_t VecSize>
42
- class philox4x32x10 : detail::engine_base<philox4x32x10<VecSize>> {
43
- public:
44
- static constexpr std::uint64_t default_seed = 0;
45
-
46
- static constexpr std::int32_t vec_size = VecSize;
47
-
48
- philox4x32x10() : detail::engine_base<philox4x32x10<VecSize>>(default_seed) {}
49
-
50
- philox4x32x10(std::uint64_t seed, std::uint64_t offset = 0)
51
- : detail::engine_base<philox4x32x10<VecSize>>(seed, offset) {}
52
-
53
- philox4x32x10(std::initializer_list<std::uint64_t> seed, std::uint64_t offset = 0)
54
- : detail::engine_base<philox4x32x10<VecSize>>(seed.size(), seed.begin(), offset) {}
55
-
56
- philox4x32x10(std::uint64_t seed, std::initializer_list<std::uint64_t> offset)
57
- : detail::engine_base<philox4x32x10<VecSize>>(seed, offset.size(), offset.begin()) {}
58
-
59
- philox4x32x10(std::initializer_list<std::uint64_t> seed,
60
- std::initializer_list<std::uint64_t> offset)
61
- : detail::engine_base<philox4x32x10<VecSize>>(seed.size(), seed.begin(), offset.size(),
62
- offset.begin()) {}
63
-
64
- private:
65
- template <typename Engine>
66
- friend void skip_ahead(Engine& engine, std::uint64_t num_to_skip);
67
-
68
- template <typename Engine>
69
- friend void skip_ahead(Engine& engine, std::initializer_list<std::uint64_t> num_to_skip);
70
-
71
- friend class detail::engine_descriptor_base<philox4x32x10<VecSize>>;
72
-
73
- friend class detail::engine_accessor_base<philox4x32x10<VecSize>>;
74
-
75
- template <typename DistrType>
76
- friend class detail::distribution_base;
77
- };
78
-
79
- // Class oneapi::mkl::rng::device::mrg32k3a
80
- //
81
- // Represents the combined recurcive pseudorandom number generator
82
- //
83
- // Supported parallelization methods:
84
- // skip_ahead
85
- //
86
- template <std::int32_t VecSize>
87
- class mrg32k3a : detail::engine_base<mrg32k3a<VecSize>> {
88
- public:
89
- static constexpr std::uint32_t default_seed = 1;
90
-
91
- static constexpr std::int32_t vec_size = VecSize;
92
-
93
- mrg32k3a() : detail::engine_base<mrg32k3a<VecSize>>(default_seed) {}
94
-
95
- mrg32k3a(std::uint32_t seed, std::uint64_t offset = 0)
96
- : detail::engine_base<mrg32k3a<VecSize>>(seed, offset) {}
97
-
98
- mrg32k3a(std::initializer_list<std::uint32_t> seed, std::uint64_t offset = 0)
99
- : detail::engine_base<mrg32k3a<VecSize>>(seed.size(), seed.begin(), offset) {}
100
-
101
- mrg32k3a(std::uint32_t seed, std::initializer_list<std::uint64_t> offset)
102
- : detail::engine_base<mrg32k3a<VecSize>>(seed, offset.size(), offset.begin()) {}
103
-
104
- mrg32k3a(std::initializer_list<std::uint32_t> seed, std::initializer_list<std::uint64_t> offset)
105
- : detail::engine_base<mrg32k3a<VecSize>>(seed.size(), seed.begin(), offset.size(),
106
- offset.begin()) {}
107
-
108
- private:
109
- template <typename Engine>
110
- friend void skip_ahead(Engine& engine, std::uint64_t num_to_skip);
111
-
112
- template <typename Engine>
113
- friend void skip_ahead(Engine& engine, std::initializer_list<std::uint64_t> num_to_skip);
114
-
115
- friend class detail::engine_descriptor_base<mrg32k3a<VecSize>>;
116
-
117
- friend class detail::engine_accessor_base<mrg32k3a<VecSize>>;
118
-
119
- template <typename DistrType>
120
- friend class detail::distribution_base;
121
- };
122
-
123
- // Class oneapi::mkl::rng::device::mcg31m1
124
- //
125
- //
126
- //
127
- // Supported parallelization methods:
128
- // skip_ahead
129
- //
130
- template <std::int32_t VecSize>
131
- class mcg31m1 : detail::engine_base<mcg31m1<VecSize>> {
132
- public:
133
- static constexpr std::uint32_t default_seed = 1;
134
-
135
- static constexpr std::int32_t vec_size = VecSize;
136
-
137
- mcg31m1() : detail::engine_base<mcg31m1<VecSize>>(default_seed) {}
138
-
139
- mcg31m1(std::uint32_t seed, std::uint64_t offset = 0)
140
- : detail::engine_base<mcg31m1<VecSize>>(seed, offset) {}
141
-
142
- private:
143
- template <typename Engine>
144
- friend void skip_ahead(Engine& engine, std::uint64_t num_to_skip);
145
-
146
- friend class detail::engine_descriptor_base<mcg31m1<VecSize>>;
147
-
148
- friend class detail::engine_accessor_base<mcg31m1<VecSize>>;
149
-
150
- template <typename DistrType>
151
- friend class detail::distribution_base;
152
- };
153
-
154
- // Class oneapi::mkl::rng::device::mcg59
155
- //
156
- //
157
- //
158
- // Supported parallelization methods:
159
- // skip_ahead
160
- //
161
- template <std::int32_t VecSize>
162
- class mcg59 : detail::engine_base<mcg59<VecSize>> {
163
- public:
164
- static constexpr std::uint32_t default_seed = 1;
165
-
166
- static constexpr std::int32_t vec_size = VecSize;
167
-
168
- mcg59() : detail::engine_base<mcg59<VecSize>>(default_seed) {}
169
-
170
- mcg59(std::uint64_t seed, std::uint64_t offset = 0)
171
- : detail::engine_base<mcg59<VecSize>>(seed, offset) {}
172
-
173
- private:
174
- template <typename Engine>
175
- friend void skip_ahead(Engine& engine, std::uint64_t num_to_skip);
176
-
177
- friend class detail::engine_descriptor_base<mcg59<VecSize>>;
178
-
179
- friend class detail::engine_accessor_base<mcg59<VecSize>>;
180
-
181
- template <typename DistrType>
182
- friend class detail::distribution_base;
183
- };
184
-
185
- } // namespace oneapi::mkl::rng::device
186
-
187
- #endif // _MKL_RNG_DEVICE_ENGINES_HPP_
@@ -1,59 +0,0 @@
1
- /*******************************************************************************
2
- * Copyright 2020 Intel Corporation
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing,
11
- * software distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions
14
- * and limitations under the License.
15
- *
16
- *
17
- * SPDX-License-Identifier: Apache-2.0
18
- *******************************************************************************/
19
-
20
- #ifndef _MKL_RNG_DEVICE_FUNCTIONS_HPP_
21
- #define _MKL_RNG_DEVICE_FUNCTIONS_HPP_
22
-
23
- #include <sycl/sycl.hpp>
24
-
25
- #include "oneapi/mkl/rng/device/detail/distribution_base.hpp"
26
-
27
- namespace oneapi::mkl::rng::device {
28
-
29
- // GENERATE FUNCTIONS
30
-
31
- template <typename Distr, typename Engine>
32
- auto generate(Distr& distr, Engine& engine) ->
33
- typename std::conditional<Engine::vec_size == 1, typename Distr::result_type,
34
- sycl::vec<typename Distr::result_type, Engine::vec_size>>::type {
35
- return distr.generate(engine);
36
- }
37
-
38
- template <typename Distr, typename Engine>
39
- typename Distr::result_type generate_single(Distr& distr, Engine& engine) {
40
- static_assert(Engine::vec_size > 1,
41
- "oneMKL: rng/generate_single: function works for engines with vec_size > 1");
42
- return distr.generate_single(engine);
43
- }
44
-
45
- // SERVICE FUNCTIONS
46
-
47
- template <typename Engine>
48
- void skip_ahead(Engine& engine, std::uint64_t num_to_skip) {
49
- engine.skip_ahead(num_to_skip);
50
- }
51
-
52
- template <typename Engine>
53
- void skip_ahead(Engine& engine, std::initializer_list<std::uint64_t> num_to_skip) {
54
- engine.skip_ahead(num_to_skip);
55
- }
56
-
57
- } // namespace oneapi::mkl::rng::device
58
-
59
- #endif // _MKL_RNG_DEVICE_FUNCTIONS_HPP_
@@ -1,74 +0,0 @@
1
- /*******************************************************************************
2
- * Copyright 2020 Intel Corporation
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing,
11
- * software distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions
14
- * and limitations under the License.
15
- *
16
- *
17
- * SPDX-License-Identifier: Apache-2.0
18
- *******************************************************************************/
19
-
20
- #ifndef _MKL_RNG_DEVICE_TYPES_HPP_
21
- #define _MKL_RNG_DEVICE_TYPES_HPP_
22
-
23
- namespace oneapi::mkl::rng::device {
24
-
25
- // METHODS FOR DISTRIBUTIONS
26
-
27
- namespace uniform_method {
28
- struct standard {};
29
- struct accurate {};
30
- using by_default = standard;
31
- } // namespace uniform_method
32
-
33
- namespace gaussian_method {
34
- struct box_muller2 {};
35
- struct icdf {};
36
- using by_default = box_muller2;
37
- } // namespace gaussian_method
38
-
39
- namespace lognormal_method {
40
- struct box_muller2 {};
41
- using by_default = box_muller2;
42
- } // namespace lognormal_method
43
-
44
- namespace exponential_method {
45
- struct icdf {};
46
- struct icdf_accurate {};
47
- using by_default = icdf;
48
- } // namespace exponential_method
49
-
50
- namespace poisson_method {
51
- struct devroye {};
52
- using by_default = devroye;
53
- } // namespace poisson_method
54
-
55
- namespace bernoulli_method {
56
- struct icdf {};
57
- using by_default = icdf;
58
- } // namespace bernoulli_method
59
-
60
- namespace beta_method {
61
- struct cja {};
62
- struct cja_accurate {};
63
- using by_default = cja;
64
- } // namespace beta_method
65
-
66
- namespace gamma_method {
67
- struct marsaglia {};
68
- struct marsaglia_accurate {};
69
- using by_default = marsaglia;
70
- } // namespace gamma_method
71
-
72
- } // namespace oneapi::mkl::rng::device
73
-
74
- #endif // _MKL_RNG_DEVICE_TYPES_HPP_
@@ -1,29 +0,0 @@
1
- /*******************************************************************************
2
- * Copyright 2020 Intel Corporation
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing,
11
- * software distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions
14
- * and limitations under the License.
15
- *
16
- *
17
- * SPDX-License-Identifier: Apache-2.0
18
- *******************************************************************************/
19
-
20
- #ifndef _MKL_RNG_SYCL_DEVICE_HPP__
21
- #define _MKL_RNG_SYCL_DEVICE_HPP__
22
-
23
- #include "oneapi/mkl/rng/device/types.hpp"
24
- #include "oneapi/mkl/rng/device/functions.hpp"
25
- #include "oneapi/mkl/rng/device/distributions.hpp"
26
- #include "oneapi/mkl/rng/device/engines.hpp"
27
- #include "oneapi/mkl/rng/device/engine_helpers.hpp"
28
-
29
- #endif // _MKL_RNG_SYCL_DEVICE_HPP__