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,116 +0,0 @@
1
- /*******************************************************************************
2
- * Copyright (C) 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 (C) 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 (C) 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,79 +0,0 @@
1
- /*******************************************************************************
2
- * Copyright (C) 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 geometric_method {
73
- struct icdf {};
74
- using by_default = icdf;
75
- } // namespace geometric_method
76
-
77
- } // namespace oneapi::mkl::rng::device
78
-
79
- #endif // _MKL_RNG_DEVICE_TYPES_HPP_
@@ -1,29 +0,0 @@
1
- /*******************************************************************************
2
- * Copyright (C) 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__