mkl-devel-dpcpp 2025.1.0__py2.py3-none-win_amd64.whl → 2025.2.0__py2.py3-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mkl-devel-dpcpp might be problematic. Click here for more details.
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl.lib +0 -0
- mkl_devel_dpcpp-2025.2.0.data/data/Library/lib/mkl_sycl_dft_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_dll.lib +0 -0
- mkl_devel_dpcpp-2025.2.0.data/data/Library/lib/mkl_sycl_lapack_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_rng_dll.lib +0 -0
- mkl_devel_dpcpp-2025.2.0.data/data/Library/lib/mkl_sycl_sparse_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.2.0.dist-info}/METADATA +4 -3
- mkl_devel_dpcpp-2025.2.0.dist-info/RECORD +15 -0
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/bfloat16.hpp +0 -26
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/buffer.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/buffer_decls.hpp +0 -880
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/types.hpp +0 -60
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/usm.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas/usm_decls.hpp +0 -1240
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/blas.hpp +0 -34
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/dft/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/dft.hpp +0 -254
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/dfti.hpp +0 -22
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/exceptions.hpp +0 -110
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/experimental/data_fitting/interpolate.hpp +0 -67
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/experimental/data_fitting/spline_and_data_params.hpp +0 -68
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/experimental/data_fitting/splines.hpp +0 -177
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/experimental/data_fitting.hpp +0 -22
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/export.hpp +0 -25
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/concepts.hpp +0 -55
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/exceptions.hpp +0 -75
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/lapack.hpp +0 -1096
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/scratchpad.hpp +0 -107
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/lapack.hpp +0 -24
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/detail/engine_base.hpp +0 -48
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/bernoulli_impl.hpp +0 -89
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/beta_impl.hpp +0 -463
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/bits_impl.hpp +0 -71
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/distribution_base.hpp +0 -85
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/engine_base.hpp +0 -43
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/engine_helpers_base.hpp +0 -54
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/exponential_impl.hpp +0 -116
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/gamma_impl.hpp +0 -285
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/gaussian_impl.hpp +0 -270
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/geometric_impl.hpp +0 -99
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/lognormal_impl.hpp +0 -105
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg31m1_helpers_impl.hpp +0 -117
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg31m1_impl.hpp +0 -223
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg59_helpers_impl.hpp +0 -118
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mcg59_impl.hpp +0 -266
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mrg32k3a_helpers_impl.hpp +0 -125
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mrg32k3a_impl.hpp +0 -385
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/mrg32k3a_skip_ahead_matrix.hpp +0 -3668
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/philox4x32x10_helpers_impl.hpp +0 -141
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/philox4x32x10_impl.hpp +0 -552
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/poisson_impl.hpp +0 -328
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/types.hpp +0 -58
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/uniform_bits_impl.hpp +0 -51
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/uniform_impl.hpp +0 -287
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/detail/vm_wrappers.hpp +0 -183
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/distributions.hpp +0 -700
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/engine_helpers.hpp +0 -116
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/engines.hpp +0 -187
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/functions.hpp +0 -59
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device/types.hpp +0 -79
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/device.hpp +0 -29
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/distributions.hpp +0 -1913
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/engines.hpp +0 -788
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/functions.hpp +0 -163
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/rng.hpp +0 -23
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas/sparse_auxiliary.hpp +0 -111
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas/sparse_operations.hpp +0 -446
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas/sparse_structures.hpp +0 -193
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spblas.hpp +0 -33
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/stats/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/stats.hpp +0 -357
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/types.hpp +0 -321
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/buffer.hpp +0 -3529
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/decls.hpp +0 -280
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/decls.hpp +0 -81
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/dispatch.hpp +0 -1059
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/ep.hpp +0 -861
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/ha.hpp +0 -860
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/la.hpp +0 -860
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/rts.hpp +0 -4608
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/detail/scalar.hpp +0 -8963
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/device/vm.hpp +0 -460
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/span.hpp +0 -3813
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/spec.hpp +0 -42
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm/usm.hpp +0 -3581
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl/vm.hpp +0 -31
- mkl_devel_dpcpp-2025.1.0.data/data/Library/include/oneapi/mkl.hpp +0 -35
- mkl_devel_dpcpp-2025.1.0.data/data/Library/lib/mkl_sycl_dft_dll.lib +0 -0
- mkl_devel_dpcpp-2025.1.0.data/data/Library/lib/mkl_sycl_lapack_dll.lib +0 -0
- mkl_devel_dpcpp-2025.1.0.data/data/Library/lib/mkl_sycl_sparse_dll.lib +0 -0
- mkl_devel_dpcpp-2025.1.0.dist-info/RECORD +0 -99
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_blas_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_data_fitting_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_stats_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.data → mkl_devel_dpcpp-2025.2.0.data}/data/Library/lib/mkl_sycl_vm_dll.lib +0 -0
- {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.2.0.dist-info}/LICENSE.txt +0 -0
- {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.2.0.dist-info}/WHEEL +0 -0
- {mkl_devel_dpcpp-2025.1.0.dist-info → mkl_devel_dpcpp-2025.2.0.dist-info}/top_level.txt +0 -0
|
@@ -1,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__
|