mkl-devel-dpcpp 2024.1.0__py2.py3-none-manylinux1_x86_64.whl → 2024.2.0__py2.py3-none-manylinux1_x86_64.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 (80) hide show
  1. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/blas/buffer_decls.hpp +30 -0
  2. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/blas/usm_decls.hpp +42 -0
  3. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/lapack/concepts.hpp +6 -5
  4. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/lapack/exceptions.hpp +7 -6
  5. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/lapack/lapack.hpp +15 -254
  6. mkl_devel_dpcpp-2024.2.0.data/data/include/oneapi/mkl/lapack/scratchpad.hpp +106 -0
  7. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/lapack.hpp +5 -4
  8. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/spblas/sparse_operations.hpp +35 -0
  9. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/vm/buffer.hpp +63 -1
  10. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/vm/decls.hpp +2 -2
  11. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/vm/device/detail/decls.hpp +1 -1
  12. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/vm/device/detail/dispatch.hpp +1 -1
  13. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/vm/device/detail/ep.hpp +1 -1
  14. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/vm/device/detail/ha.hpp +1 -1
  15. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/vm/device/detail/la.hpp +1 -1
  16. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/vm/device/detail/rts.hpp +1 -1
  17. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/vm/device/detail/scalar.hpp +1 -1
  18. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/vm/device/vm.hpp +1 -1
  19. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/vm/span.hpp +69 -1
  20. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/vm/usm.hpp +67 -1
  21. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/lib/libmkl_sycl.a +0 -0
  22. {mkl_devel_dpcpp-2024.1.0.dist-info → mkl_devel_dpcpp-2024.2.0.dist-info}/METADATA +3 -3
  23. mkl_devel_dpcpp-2024.2.0.dist-info/RECORD +79 -0
  24. mkl_devel_dpcpp-2024.1.0.dist-info/RECORD +0 -78
  25. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/bfloat16.hpp +0 -0
  26. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/blas/buffer.hpp +0 -0
  27. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/blas/types.hpp +0 -0
  28. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/blas/usm.hpp +0 -0
  29. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/blas.hpp +0 -0
  30. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/dfti.hpp +0 -0
  31. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/exceptions.hpp +0 -0
  32. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/experimental/data_fitting/interpolate.hpp +0 -0
  33. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/experimental/data_fitting/spline_and_data_params.hpp +0 -0
  34. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/experimental/data_fitting/splines.hpp +0 -0
  35. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/experimental/data_fitting.hpp +0 -0
  36. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/export.hpp +0 -0
  37. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/detail/engine_base.hpp +0 -0
  38. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/bernoulli_impl.hpp +0 -0
  39. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/bits_impl.hpp +0 -0
  40. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/distribution_base.hpp +0 -0
  41. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/engine_base.hpp +0 -0
  42. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/engine_helpers_base.hpp +0 -0
  43. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/exponential_impl.hpp +0 -0
  44. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/gaussian_impl.hpp +0 -0
  45. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/lognormal_impl.hpp +0 -0
  46. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/mcg31m1_helpers_impl.hpp +0 -0
  47. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/mcg31m1_impl.hpp +0 -0
  48. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/mcg59_helpers_impl.hpp +0 -0
  49. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/mcg59_impl.hpp +0 -0
  50. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/mrg32k3a_helpers_impl.hpp +0 -0
  51. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/mrg32k3a_impl.hpp +0 -0
  52. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/mrg32k3a_skip_ahead_matrix.hpp +0 -0
  53. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/philox4x32x10_helpers_impl.hpp +0 -0
  54. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/philox4x32x10_impl.hpp +0 -0
  55. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/poisson_impl.hpp +0 -0
  56. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/types.hpp +0 -0
  57. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/uniform_bits_impl.hpp +0 -0
  58. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/uniform_impl.hpp +0 -0
  59. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/detail/vm_wrappers.hpp +0 -0
  60. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/distributions.hpp +0 -0
  61. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/engine_helpers.hpp +0 -0
  62. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/engines.hpp +0 -0
  63. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/functions.hpp +0 -0
  64. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device/types.hpp +0 -0
  65. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/device.hpp +0 -0
  66. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/distributions.hpp +0 -0
  67. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/engines.hpp +0 -0
  68. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng/functions.hpp +0 -0
  69. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/rng.hpp +0 -0
  70. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/spblas/sparse_auxiliary.hpp +0 -0
  71. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/spblas/sparse_structures.hpp +0 -0
  72. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/spblas.hpp +0 -0
  73. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/stats.hpp +0 -0
  74. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/types.hpp +0 -0
  75. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl/vm.hpp +0 -0
  76. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/include/oneapi/mkl.hpp +0 -0
  77. {mkl_devel_dpcpp-2024.1.0.data → mkl_devel_dpcpp-2024.2.0.data}/data/lib/libmkl_sycl.so +0 -0
  78. {mkl_devel_dpcpp-2024.1.0.dist-info → mkl_devel_dpcpp-2024.2.0.dist-info}/LICENSE.txt +0 -0
  79. {mkl_devel_dpcpp-2024.1.0.dist-info → mkl_devel_dpcpp-2024.2.0.dist-info}/WHEEL +0 -0
  80. {mkl_devel_dpcpp-2024.1.0.dist-info → mkl_devel_dpcpp-2024.2.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,106 @@
1
+ /*******************************************************************************
2
+ * Copyright 2024 Intel Corporation.
3
+ *
4
+ * This software and the related documents are Intel copyrighted materials, and
5
+ * your use of them is governed by the express license under which they were
6
+ * provided to you (License). Unless the License provides otherwise, you may not
7
+ * use, modify, copy, publish, distribute, disclose or transmit this software or
8
+ * the related documents without Intel's prior written permission.
9
+ *
10
+ * This software and the related documents are provided as is, with no express
11
+ * or implied warranties, other than those that are expressly stated in the
12
+ * License.
13
+ *******************************************************************************/
14
+ #ifndef _ONEAPI_MKL_LAPACK_SCRATCHPAD_HPP__
15
+ #define _ONEAPI_MKL_LAPACK_SCRATCHPAD_HPP__
16
+
17
+ #include <complex>
18
+ #include <cstdint>
19
+ #include <sycl/sycl.hpp>
20
+
21
+ #include "oneapi/mkl/types.hpp"
22
+ #include "oneapi/mkl/lapack/concepts.hpp"
23
+
24
+ namespace oneapi {
25
+ namespace mkl {
26
+ namespace lapack {
27
+
28
+ // nonbatch queries
29
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t gebrd_scratchpad_size(sycl::queue& queue, int64_t m, int64_t n, int64_t lda);
30
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t gels_scratchpad_size(sycl::queue& queue, oneapi::mkl::transpose trans, int64_t m, int64_t n, int64_t nrhs, int64_t lda, int64_t ldb);
31
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t geqrf_scratchpad_size(sycl::queue& queue, int64_t m, int64_t n, int64_t lda);
32
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t gerqf_scratchpad_size(sycl::queue& queue, int64_t m, int64_t n, int64_t lda);
33
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t gesv_scratchpad_size(sycl::queue& queue, int64_t n, int64_t nrhs, int64_t lda, int64_t ldb);
34
+ template <typename fp, oneapi::mkl::lapack::internal::is_complex_floating_point<fp> = nullptr> int64_t gesvd_scratchpad_size(sycl::queue& queue, oneapi::mkl::jobsvd jobu, oneapi::mkl::jobsvd jobvt, int64_t m, int64_t n, int64_t lda, int64_t ldu, int64_t ldvt);
35
+ template <typename fp, oneapi::mkl::lapack::internal::is_real_floating_point<fp> = nullptr> int64_t gesvd_scratchpad_size(sycl::queue& queue, oneapi::mkl::jobsvd jobu, oneapi::mkl::jobsvd jobvt, int64_t m, int64_t n, int64_t lda, int64_t ldu, int64_t ldvt);
36
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t getrf_scratchpad_size(sycl::queue& queue, int64_t m, int64_t n, int64_t lda);
37
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t getrfnp_scratchpad_size(sycl::queue& queue, int64_t m, int64_t n, int64_t lda);
38
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t getri_scratchpad_size(sycl::queue& queue, int64_t n, int64_t lda);
39
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t getrs_scratchpad_size(sycl::queue& queue, oneapi::mkl::transpose trans, int64_t n, int64_t nrhs, int64_t lda, int64_t ldb);
40
+ template <typename fp, oneapi::mkl::lapack::internal::is_complex_floating_point<fp> = nullptr> int64_t heev_scratchpad_size(sycl::queue& queue, oneapi::mkl::compz jobz, oneapi::mkl::uplo uplo, int64_t n, int64_t lda);
41
+ template <typename fp, oneapi::mkl::lapack::internal::is_complex_floating_point<fp> = nullptr> int64_t heevd_scratchpad_size(sycl::queue& queue, oneapi::mkl::job jobz, oneapi::mkl::uplo uplo, int64_t n, int64_t lda);
42
+ template <typename fp, oneapi::mkl::lapack::internal::is_complex_floating_point<fp> = nullptr> int64_t heevx_scratchpad_size(sycl::queue& queue, oneapi::mkl::compz jobz, oneapi::mkl::rangev range, oneapi::mkl::uplo uplo, int64_t n, int64_t lda, typename fp::value_type vl, typename fp::value_type vu, int64_t il, int64_t iu, typename fp::value_type abstol, int64_t ldz);
43
+ template <typename fp, oneapi::mkl::lapack::internal::is_complex_floating_point<fp> = nullptr> int64_t hegvd_scratchpad_size(sycl::queue& queue, int64_t itype, oneapi::mkl::job jobz, oneapi::mkl::uplo uplo, int64_t n, int64_t lda, int64_t ldb);
44
+ template <typename fp, oneapi::mkl::lapack::internal::is_complex_floating_point<fp> = nullptr> int64_t hegvx_scratchpad_size(sycl::queue& queue, int64_t itype, oneapi::mkl::compz jobz, oneapi::mkl::rangev range, oneapi::mkl::uplo uplo, int64_t n, int64_t lda, int64_t ldb, typename fp::value_type vl, typename fp::value_type vu, int64_t il, int64_t iu, typename fp::value_type abstol, int64_t ldz);
45
+ template <typename fp, oneapi::mkl::lapack::internal::is_complex_floating_point<fp> = nullptr> int64_t hetrd_scratchpad_size(sycl::queue& queue, oneapi::mkl::uplo uplo, int64_t n, int64_t lda);
46
+ template <typename fp, oneapi::mkl::lapack::internal::is_complex_floating_point<fp> = nullptr> int64_t hetrf_scratchpad_size(sycl::queue& queue, oneapi::mkl::uplo uplo, int64_t n, int64_t lda);
47
+ template <typename fp, oneapi::mkl::lapack::internal::is_real_floating_point<fp> = nullptr> int64_t orgbr_scratchpad_size(sycl::queue& queue, oneapi::mkl::generate vect, int64_t m, int64_t n, int64_t k, int64_t lda);
48
+ template <typename fp, oneapi::mkl::lapack::internal::is_real_floating_point<fp> = nullptr> int64_t orgqr_scratchpad_size(sycl::queue& queue, int64_t m, int64_t n, int64_t k, int64_t lda);
49
+ template <typename fp, oneapi::mkl::lapack::internal::is_real_floating_point<fp> = nullptr> int64_t orgtr_scratchpad_size(sycl::queue& queue, oneapi::mkl::uplo uplo, int64_t n, int64_t lda);
50
+ template <typename fp, oneapi::mkl::lapack::internal::is_real_floating_point<fp> = nullptr> int64_t ormqr_scratchpad_size(sycl::queue& queue, oneapi::mkl::side side, oneapi::mkl::transpose trans, int64_t m, int64_t n, int64_t k, int64_t lda, int64_t ldc);
51
+ template <typename fp, oneapi::mkl::lapack::internal::is_real_floating_point<fp> = nullptr> int64_t ormrq_scratchpad_size(sycl::queue& queue, oneapi::mkl::side side, oneapi::mkl::transpose trans, int64_t m, int64_t n, int64_t k, int64_t lda, int64_t ldc);
52
+ template <typename fp, oneapi::mkl::lapack::internal::is_real_floating_point<fp> = nullptr> int64_t ormtr_scratchpad_size(sycl::queue& queue, oneapi::mkl::side side, oneapi::mkl::uplo uplo, oneapi::mkl::transpose trans, int64_t m, int64_t n, int64_t lda, int64_t ldc);
53
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t potrf_scratchpad_size(sycl::queue& queue, oneapi::mkl::uplo uplo, int64_t n, int64_t lda);
54
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t potri_scratchpad_size(sycl::queue& queue, oneapi::mkl::uplo uplo, int64_t n, int64_t lda);
55
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t potrs_scratchpad_size(sycl::queue& queue, oneapi::mkl::uplo uplo, int64_t n, int64_t nrhs, int64_t lda, int64_t ldb);
56
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t steqr_scratchpad_size(sycl::queue& queue, oneapi::mkl::compz compz, int64_t n, int64_t ldz);
57
+ template <typename fp, oneapi::mkl::lapack::internal::is_real_floating_point<fp> = nullptr> int64_t syev_scratchpad_size(sycl::queue& queue, oneapi::mkl::compz jobz, oneapi::mkl::uplo uplo, int64_t n, int64_t lda);
58
+ template <typename fp, oneapi::mkl::lapack::internal::is_real_floating_point<fp> = nullptr> int64_t syevd_scratchpad_size(sycl::queue& queue, oneapi::mkl::job jobz, oneapi::mkl::uplo uplo, int64_t n, int64_t lda);
59
+ template <typename fp, oneapi::mkl::lapack::internal::is_real_floating_point<fp> = nullptr> int64_t syevx_scratchpad_size(sycl::queue& queue, oneapi::mkl::compz jobz, oneapi::mkl::rangev range, oneapi::mkl::uplo uplo, int64_t n, int64_t lda, fp vl, fp vu, int64_t il, int64_t iu, fp abstol, int64_t ldz);
60
+ template <typename fp, oneapi::mkl::lapack::internal::is_real_floating_point<fp> = nullptr> int64_t sygvd_scratchpad_size(sycl::queue& queue, int64_t itype, oneapi::mkl::job jobz, oneapi::mkl::uplo uplo, int64_t n, int64_t lda, int64_t ldb);
61
+ template <typename fp, oneapi::mkl::lapack::internal::is_real_floating_point<fp> = nullptr> int64_t sygvx_scratchpad_size(sycl::queue& queue, int64_t itype, oneapi::mkl::compz jobz, oneapi::mkl::rangev range, oneapi::mkl::uplo uplo, int64_t n, int64_t lda, int64_t ldb, fp vl, fp vu, int64_t il, int64_t iu, fp abstol, int64_t ldz);
62
+ template <typename fp, oneapi::mkl::lapack::internal::is_real_floating_point<fp> = nullptr> int64_t sytrd_scratchpad_size(sycl::queue& queue, oneapi::mkl::uplo uplo, int64_t n, int64_t lda);
63
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t sytrf_scratchpad_size(sycl::queue& queue, oneapi::mkl::uplo uplo, int64_t n, int64_t lda);
64
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t trtri_scratchpad_size(sycl::queue& queue, oneapi::mkl::uplo uplo, oneapi::mkl::diag diag, int64_t n, int64_t lda);
65
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t trtrs_scratchpad_size(sycl::queue& queue, oneapi::mkl::uplo uplo, oneapi::mkl::transpose trans, oneapi::mkl::diag diag, int64_t n, int64_t nrhs, int64_t lda, int64_t ldb);
66
+ template <typename fp, oneapi::mkl::lapack::internal::is_complex_floating_point<fp> = nullptr> int64_t ungbr_scratchpad_size(sycl::queue& queue, oneapi::mkl::generate vect, int64_t m, int64_t n, int64_t k, int64_t lda);
67
+ template <typename fp, oneapi::mkl::lapack::internal::is_complex_floating_point<fp> = nullptr> int64_t ungqr_scratchpad_size(sycl::queue& queue, int64_t m, int64_t n, int64_t k, int64_t lda);
68
+ template <typename fp, oneapi::mkl::lapack::internal::is_complex_floating_point<fp> = nullptr> int64_t ungtr_scratchpad_size(sycl::queue& queue, oneapi::mkl::uplo uplo, int64_t n, int64_t lda);
69
+ template <typename fp, oneapi::mkl::lapack::internal::is_complex_floating_point<fp> = nullptr> int64_t unmqr_scratchpad_size(sycl::queue& queue, oneapi::mkl::side side, oneapi::mkl::transpose trans, int64_t m, int64_t n, int64_t k, int64_t lda, int64_t ldc);
70
+ template <typename fp, oneapi::mkl::lapack::internal::is_complex_floating_point<fp> = nullptr> int64_t unmrq_scratchpad_size(sycl::queue& queue, oneapi::mkl::side side, oneapi::mkl::transpose trans, int64_t m, int64_t n, int64_t k, int64_t lda, int64_t ldc);
71
+ template <typename fp, oneapi::mkl::lapack::internal::is_complex_floating_point<fp> = nullptr> int64_t unmtr_scratchpad_size(sycl::queue& queue, oneapi::mkl::side side, oneapi::mkl::uplo uplo, oneapi::mkl::transpose trans, int64_t m, int64_t n, int64_t lda, int64_t ldc);
72
+
73
+ // batch queries
74
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t geinv_batch_scratchpad_size(sycl::queue& queue, int64_t* n, int64_t* lda, int64_t group_count, int64_t* group_sizes);
75
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t gels_batch_scratchpad_size(sycl::queue& queue, oneapi::mkl::transpose* trans, int64_t* m, int64_t* n, int64_t* nrhs, int64_t* lda, int64_t* ldb, int64_t group_count, int64_t* group_sizes);
76
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t gels_batch_scratchpad_size(sycl::queue& queue, oneapi::mkl::transpose trans, int64_t m, int64_t n, int64_t nrhs, int64_t lda, int64_t stride_a, int64_t ldb, int64_t stride_b, int64_t batch_size);
77
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t geqrf_batch_scratchpad_size(sycl::queue& queue, int64_t* m, int64_t* n, int64_t* lda, int64_t group_count, int64_t* group_sizes);
78
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t geqrf_batch_scratchpad_size(sycl::queue& queue, int64_t m, int64_t n, int64_t lda, int64_t stride_a, int64_t stride_tau, int64_t batch_size);
79
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t gesvda_batch_scratchpad_size(sycl::queue& queue, int64_t m, int64_t n, int64_t lda, int64_t stride_a, int64_t stride_s, int64_t ldu, int64_t stride_u, int64_t ldvt, int64_t stride_vt, int64_t batch_size);
80
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t getrf_batch_scratchpad_size(sycl::queue& queue, int64_t m, int64_t n, int64_t lda, int64_t stride_a, int64_t stride_ipiv, int64_t batch_size);
81
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t getrf_batch_scratchpad_size(sycl::queue& queue, int64_t* m, int64_t* n, int64_t* lda, int64_t group_count, int64_t* group_sizes);
82
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t getrfnp_batch_scratchpad_size(sycl::queue& queue, int64_t m, int64_t n, int64_t lda, int64_t stride_a, int64_t batch_size);
83
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t getrfnp_batch_scratchpad_size(sycl::queue& queue, int64_t* m, int64_t* n, int64_t* lda, int64_t group_count, int64_t* group_sizes);
84
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t getri_batch_scratchpad_size(sycl::queue& queue, int64_t* n, int64_t* lda, int64_t group_count, int64_t* group_sizes);
85
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t getri_batch_scratchpad_size(sycl::queue& queue, int64_t n, int64_t lda, int64_t stride_a, int64_t stride_ipiv, int64_t batch_size);
86
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t getri_batch_scratchpad_size(sycl::queue& queue, int64_t n, int64_t lda, int64_t stride_a, int64_t stride_ipiv, int64_t ldainv, int64_t stride_ainv, int64_t batch_size);
87
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t getrs_batch_scratchpad_size(sycl::queue& queue, oneapi::mkl::transpose* trans, int64_t* n, int64_t* nrhs, int64_t* lda, int64_t* ldb, int64_t group_count, int64_t* group_sizes);
88
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t getrs_batch_scratchpad_size(sycl::queue& queue, oneapi::mkl::transpose trans, int64_t n, int64_t nrhs, int64_t lda, int64_t stride_a, int64_t stride_ipiv, int64_t ldb, int64_t stride_b, int64_t batch_size);
89
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t getrsnp_batch_scratchpad_size(sycl::queue& queue, oneapi::mkl::transpose trans, int64_t n, int64_t nrhs, int64_t lda, int64_t stride_a, int64_t ldb, int64_t stride_b, int64_t batch_size);
90
+ template <typename fp, oneapi::mkl::lapack::internal::is_real_floating_point<fp> = nullptr> int64_t orgqr_batch_scratchpad_size(sycl::queue& queue, int64_t* m, int64_t* n, int64_t* k, int64_t* lda, int64_t group_count, int64_t* group_sizes);
91
+ template <typename fp, oneapi::mkl::lapack::internal::is_real_floating_point<fp> = nullptr> int64_t orgqr_batch_scratchpad_size(sycl::queue& queue, int64_t m, int64_t n, int64_t k, int64_t lda, int64_t stride_a, int64_t stride_tau, int64_t batch_size);
92
+ template <typename fp, oneapi::mkl::lapack::internal::is_real_floating_point<fp> = nullptr> int64_t ormqr_batch_scratchpad_size(sycl::queue& queue, oneapi::mkl::side* side, oneapi::mkl::transpose* trans, int64_t* m, int64_t* n, int64_t* k, int64_t* lda, int64_t* ldc, int64_t group_count, int64_t* group_sizes);
93
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t potrf_batch_scratchpad_size(sycl::queue& queue, oneapi::mkl::uplo* uplo, int64_t* n, int64_t* lda, int64_t group_count, int64_t* group_sizes);
94
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t potrf_batch_scratchpad_size(sycl::queue& queue, oneapi::mkl::uplo uplo, int64_t n, int64_t lda, int64_t stride_a, int64_t batch_size);
95
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t potrs_batch_scratchpad_size(sycl::queue& queue, oneapi::mkl::uplo* uplo, int64_t* n, int64_t* nrhs, int64_t* lda, int64_t* ldb, int64_t group_count, int64_t* group_sizes);
96
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t potrs_batch_scratchpad_size(sycl::queue& queue, oneapi::mkl::uplo uplo, int64_t n, int64_t nrhs, int64_t lda, int64_t stride_a, int64_t ldb, int64_t stride_b, int64_t batch_size);
97
+ template <typename fp, oneapi::mkl::lapack::internal::is_floating_point<fp> = nullptr> int64_t trtrs_batch_scratchpad_size(sycl::queue& queue, oneapi::mkl::uplo* uplo, oneapi::mkl::transpose* trans, oneapi::mkl::diag* diag, int64_t* n, int64_t* nrhs, int64_t* lda, int64_t* ldb, int64_t group_count, int64_t* group_sizes);
98
+ template <typename fp, oneapi::mkl::lapack::internal::is_complex_floating_point<fp> = nullptr> int64_t ungqr_batch_scratchpad_size(sycl::queue& queue, int64_t* m, int64_t* n, int64_t* k, int64_t* lda, int64_t group_count, int64_t* group_sizes);
99
+ template <typename fp, oneapi::mkl::lapack::internal::is_complex_floating_point<fp> = nullptr> int64_t ungqr_batch_scratchpad_size(sycl::queue& queue, int64_t m, int64_t n, int64_t k, int64_t lda, int64_t stride_a, int64_t stride_tau, int64_t batch_size);
100
+ template <typename fp, oneapi::mkl::lapack::internal::is_complex_floating_point<fp> = nullptr> int64_t unmqr_batch_scratchpad_size(sycl::queue& queue, oneapi::mkl::side* side, oneapi::mkl::transpose* trans, int64_t* m, int64_t* n, int64_t* k, int64_t* lda, int64_t* ldc, int64_t group_count, int64_t* group_sizes);
101
+
102
+ } // namespace lapack
103
+ } // namespace mkl
104
+ } // namespace oneapi
105
+
106
+ #endif // _ONEAPI_MKL_LAPACK_SCRATCHPAD_HPP__
@@ -1,5 +1,5 @@
1
1
  /*******************************************************************************
2
- * Copyright 2023 Intel Corporation.
2
+ * Copyright 2024 Intel Corporation.
3
3
  *
4
4
  * This software and the related documents are Intel copyrighted materials, and
5
5
  * your use of them is governed by the express license under which they were
@@ -12,11 +12,12 @@
12
12
  * License.
13
13
  *******************************************************************************/
14
14
 
15
- #ifndef _LAPACK_HPP__
16
- #define _LAPACK_HPP__
15
+ #ifndef _ONEAPI_MKL_LAPACK_HPP__
16
+ #define _ONEAPI_MKL_LAPACK_HPP__
17
17
 
18
18
  #include "oneapi/mkl/lapack/concepts.hpp"
19
19
  #include "oneapi/mkl/lapack/exceptions.hpp"
20
20
  #include "oneapi/mkl/lapack/lapack.hpp"
21
+ #include "oneapi/mkl/lapack/scratchpad.hpp"
21
22
 
22
- #endif // _LAPACK_HPP__
23
+ #endif // _ONEAPI_MKL_LAPACK_HPP__
@@ -341,6 +341,41 @@ DLL_EXPORT void matmat(sycl::queue &queue,
341
341
  sycl::buffer<std::int64_t, 1> *sizeTempBuffer,
342
342
  sycl::buffer<std::uint8_t, 1> *tempBuffer);
343
343
 
344
+ /******************************************************************************/
345
+ #define ONEMKL_DECLARE_SPARSE_MATMATD(FpType) \
346
+ DLL_EXPORT void matmatd(sycl::queue &queue, \
347
+ layout c_layout, \
348
+ transpose opA, \
349
+ transpose opB, \
350
+ const FpType alpha, \
351
+ matrix_handle_t A, \
352
+ matrix_handle_t B, \
353
+ const FpType beta, \
354
+ sycl::buffer<FpType, 1> &C, \
355
+ const std::int64_t c_nrows, \
356
+ const std::int64_t c_ncols, \
357
+ const std::int64_t ldc); \
358
+ DLL_EXPORT sycl::event matmatd(sycl::queue &queue, \
359
+ layout c_layout, \
360
+ transpose opA, \
361
+ transpose opB, \
362
+ const FpType alpha, \
363
+ matrix_handle_t A, \
364
+ matrix_handle_t B, \
365
+ const FpType beta, \
366
+ FpType *C, \
367
+ const std::int64_t c_nrows, \
368
+ const std::int64_t c_ncols, \
369
+ const std::int64_t ldc, \
370
+ const std::vector<sycl::event> &dependencies = {})
371
+
372
+ ONEMKL_DECLARE_SPARSE_MATMATD(float);
373
+ ONEMKL_DECLARE_SPARSE_MATMATD(double);
374
+ ONEMKL_DECLARE_SPARSE_MATMATD(std::complex<float>);
375
+ ONEMKL_DECLARE_SPARSE_MATMATD(std::complex<double>);
376
+
377
+ #undef ONEMKL_DECLARE_SPARSE_MATMATD
378
+
344
379
  } /* namespace oneapi::mkl::sparse */
345
380
  } /* namespace mkl */
346
381
  } // namespace oneapi
@@ -1,6 +1,6 @@
1
1
  /* -== file: buffer.hpp ==- */
2
2
  /*******************************************************************************
3
- * Copyright 2019-2023 Intel Corporation.
3
+ * Copyright 2019-2024 Intel Corporation.
4
4
  *
5
5
  * This software and the related documents are Intel copyrighted materials, and
6
6
  * your use of them is governed by the express license under which they were
@@ -1887,6 +1887,34 @@ j1(sycl::queue& queue, sycl::buffer<double, 1>& a, oneapi::mkl::slice sa,
1887
1887
  sycl::buffer<double, 1>& y, oneapi::mkl::slice sy,
1888
1888
  oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
1889
1889
 
1890
+ // function jn
1891
+ ONEAPI_MKL_VM_EXPORT sycl::event
1892
+ jn(sycl::queue& queue, int64_t n, sycl::buffer<sycl::half, 1>& a, sycl::half b,
1893
+ sycl::buffer<sycl::half, 1>& y,
1894
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
1895
+ ONEAPI_MKL_VM_EXPORT sycl::event
1896
+ jn(sycl::queue& queue, sycl::buffer<sycl::half, 1>& a, oneapi::mkl::slice sa,
1897
+ sycl::half b, sycl::buffer<sycl::half, 1>& y, oneapi::mkl::slice sy,
1898
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
1899
+
1900
+ ONEAPI_MKL_VM_EXPORT sycl::event
1901
+ jn(sycl::queue& queue, int64_t n, sycl::buffer<float, 1>& a, float b,
1902
+ sycl::buffer<float, 1>& y,
1903
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
1904
+ ONEAPI_MKL_VM_EXPORT sycl::event
1905
+ jn(sycl::queue& queue, sycl::buffer<float, 1>& a, oneapi::mkl::slice sa,
1906
+ float b, sycl::buffer<float, 1>& y, oneapi::mkl::slice sy,
1907
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
1908
+
1909
+ ONEAPI_MKL_VM_EXPORT sycl::event
1910
+ jn(sycl::queue& queue, int64_t n, sycl::buffer<double, 1>& a, double b,
1911
+ sycl::buffer<double, 1>& y,
1912
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
1913
+ ONEAPI_MKL_VM_EXPORT sycl::event
1914
+ jn(sycl::queue& queue, sycl::buffer<double, 1>& a, oneapi::mkl::slice sa,
1915
+ double b, sycl::buffer<double, 1>& y, oneapi::mkl::slice sy,
1916
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
1917
+
1890
1918
  // function lgamma
1891
1919
  ONEAPI_MKL_VM_EXPORT sycl::event
1892
1920
  lgamma(sycl::queue& queue, int64_t n, sycl::buffer<sycl::half, 1>& a,
@@ -3462,6 +3490,40 @@ y1(sycl::queue& queue, sycl::buffer<double, 1>& a, oneapi::mkl::slice sa,
3462
3490
  sycl::buffer<double, 1>& y, oneapi::mkl::slice sy,
3463
3491
  oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
3464
3492
 
3493
+ // function yn
3494
+ ONEAPI_MKL_VM_EXPORT sycl::event
3495
+ yn(sycl::queue& queue, int64_t n, sycl::buffer<sycl::half, 1>& a, sycl::half b,
3496
+ sycl::buffer<sycl::half, 1>& y,
3497
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined,
3498
+ oneapi::mkl::vm::error_handler<sycl::half> const& eh = {});
3499
+ ONEAPI_MKL_VM_EXPORT sycl::event
3500
+ yn(sycl::queue& queue, sycl::buffer<sycl::half, 1>& a, oneapi::mkl::slice sa,
3501
+ sycl::half b, sycl::buffer<sycl::half, 1>& y, oneapi::mkl::slice sy,
3502
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined,
3503
+ oneapi::mkl::vm::error_handler<sycl::half> const& eh = {});
3504
+
3505
+ ONEAPI_MKL_VM_EXPORT sycl::event
3506
+ yn(sycl::queue& queue, int64_t n, sycl::buffer<float, 1>& a, float b,
3507
+ sycl::buffer<float, 1>& y,
3508
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined,
3509
+ oneapi::mkl::vm::error_handler<float> const& eh = {});
3510
+ ONEAPI_MKL_VM_EXPORT sycl::event
3511
+ yn(sycl::queue& queue, sycl::buffer<float, 1>& a, oneapi::mkl::slice sa,
3512
+ float b, sycl::buffer<float, 1>& y, oneapi::mkl::slice sy,
3513
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined,
3514
+ oneapi::mkl::vm::error_handler<float> const& eh = {});
3515
+
3516
+ ONEAPI_MKL_VM_EXPORT sycl::event
3517
+ yn(sycl::queue& queue, int64_t n, sycl::buffer<double, 1>& a, double b,
3518
+ sycl::buffer<double, 1>& y,
3519
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined,
3520
+ oneapi::mkl::vm::error_handler<double> const& eh = {});
3521
+ ONEAPI_MKL_VM_EXPORT sycl::event
3522
+ yn(sycl::queue& queue, sycl::buffer<double, 1>& a, oneapi::mkl::slice sa,
3523
+ double b, sycl::buffer<double, 1>& y, oneapi::mkl::slice sy,
3524
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined,
3525
+ oneapi::mkl::vm::error_handler<double> const& eh = {});
3526
+
3465
3527
  } // namespace oneapi::mkl::vm
3466
3528
 
3467
3529
  #endif // ONEAPI_MKL_VM_BUFFER_HPP
@@ -1,5 +1,5 @@
1
1
  /*******************************************************************************
2
- * Copyright 2019-2023 Intel Corporation.
2
+ * Copyright 2019-2024 Intel Corporation.
3
3
  *
4
4
  * This software and the related documents are Intel copyrighted materials, and
5
5
  * your use of them is governed by the express license under which they were
@@ -85,7 +85,7 @@ enum class mode : std::uint32_t {
85
85
  verbose_mask = 0x7000000,
86
86
 
87
87
  default_mode = (ha | global_status_quiet | slice_normal | badarg_exception |
88
- fallback_enabled | verbose_quiet)
88
+ fallback_permissive | verbose_quiet)
89
89
  };
90
90
 
91
91
  enum class status : std::uint32_t {
@@ -1,5 +1,5 @@
1
1
  /*******************************************************************************
2
- * Copyright 2019-2023 Intel Corporation.
2
+ * Copyright 2019-2024 Intel Corporation.
3
3
  *
4
4
  * This software and the related documents are Intel copyrighted materials, and
5
5
  * your use of them is governed by the express license under which they were
@@ -1,5 +1,5 @@
1
1
  /*******************************************************************************
2
- * Copyright 2019-2023 Intel Corporation.
2
+ * Copyright 2019-2024 Intel Corporation.
3
3
  *
4
4
  * This software and the related documents are Intel copyrighted materials, and
5
5
  * your use of them is governed by the express license under which they were
@@ -1,5 +1,5 @@
1
1
  /*******************************************************************************
2
- * Copyright 2019-2023 Intel Corporation.
2
+ * Copyright 2019-2024 Intel Corporation.
3
3
  *
4
4
  * This software and the related documents are Intel copyrighted materials, and
5
5
  * your use of them is governed by the express license under which they were
@@ -1,5 +1,5 @@
1
1
  /*******************************************************************************
2
- * Copyright 2019-2023 Intel Corporation.
2
+ * Copyright 2019-2024 Intel Corporation.
3
3
  *
4
4
  * This software and the related documents are Intel copyrighted materials, and
5
5
  * your use of them is governed by the express license under which they were
@@ -1,5 +1,5 @@
1
1
  /*******************************************************************************
2
- * Copyright 2019-2023 Intel Corporation.
2
+ * Copyright 2019-2024 Intel Corporation.
3
3
  *
4
4
  * This software and the related documents are Intel copyrighted materials, and
5
5
  * your use of them is governed by the express license under which they were
@@ -1,5 +1,5 @@
1
1
  /*******************************************************************************
2
- * Copyright 2019-2023 Intel Corporation.
2
+ * Copyright 2019-2024 Intel Corporation.
3
3
  *
4
4
  * This software and the related documents are Intel copyrighted materials, and
5
5
  * your use of them is governed by the express license under which they were
@@ -1,5 +1,5 @@
1
1
  /*******************************************************************************
2
- * Copyright 2019-2023 Intel Corporation.
2
+ * Copyright 2019-2024 Intel Corporation.
3
3
  *
4
4
  * This software and the related documents are Intel copyrighted materials, and
5
5
  * your use of them is governed by the express license under which they were
@@ -1,5 +1,5 @@
1
1
  /*******************************************************************************
2
- * Copyright 2019-2023 Intel Corporation.
2
+ * Copyright 2019-2024 Intel Corporation.
3
3
  *
4
4
  * This software and the related documents are Intel copyrighted materials, and
5
5
  * your use of them is governed by the express license under which they were
@@ -1,6 +1,6 @@
1
1
  /* -== file: span.hpp ==- */
2
2
  /*******************************************************************************
3
- * Copyright 2019-2023 Intel Corporation.
3
+ * Copyright 2019-2024 Intel Corporation.
4
4
  *
5
5
  * This software and the related documents are Intel copyrighted materials, and
6
6
  * your use of them is governed by the express license under which they were
@@ -2043,6 +2043,37 @@ j1(sycl::queue& queue, sycl::span<const double> a, oneapi::mkl::slice sa,
2043
2043
  std::vector<sycl::event> const& depends = {},
2044
2044
  oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
2045
2045
 
2046
+ // function jn
2047
+ ONEAPI_MKL_VM_EXPORT sycl::event
2048
+ jn(sycl::queue& queue, sycl::span<const sycl::half> a, sycl::half b,
2049
+ sycl::span<sycl::half> y, std::vector<sycl::event> const& depends = {},
2050
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
2051
+ ONEAPI_MKL_VM_EXPORT sycl::event
2052
+ jn(sycl::queue& queue, sycl::span<const sycl::half> a, oneapi::mkl::slice sa,
2053
+ sycl::half b, sycl::span<sycl::half> y, oneapi::mkl::slice sy,
2054
+ std::vector<sycl::event> const& depends = {},
2055
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
2056
+
2057
+ ONEAPI_MKL_VM_EXPORT sycl::event
2058
+ jn(sycl::queue& queue, sycl::span<const float> a, float b, sycl::span<float> y,
2059
+ std::vector<sycl::event> const& depends = {},
2060
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
2061
+ ONEAPI_MKL_VM_EXPORT sycl::event
2062
+ jn(sycl::queue& queue, sycl::span<const float> a, oneapi::mkl::slice sa,
2063
+ float b, sycl::span<float> y, oneapi::mkl::slice sy,
2064
+ std::vector<sycl::event> const& depends = {},
2065
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
2066
+
2067
+ ONEAPI_MKL_VM_EXPORT sycl::event
2068
+ jn(sycl::queue& queue, sycl::span<const double> a, double b,
2069
+ sycl::span<double> y, std::vector<sycl::event> const& depends = {},
2070
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
2071
+ ONEAPI_MKL_VM_EXPORT sycl::event
2072
+ jn(sycl::queue& queue, sycl::span<const double> a, oneapi::mkl::slice sa,
2073
+ double b, sycl::span<double> y, oneapi::mkl::slice sy,
2074
+ std::vector<sycl::event> const& depends = {},
2075
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
2076
+
2046
2077
  // function lgamma
2047
2078
  ONEAPI_MKL_VM_EXPORT sycl::event
2048
2079
  lgamma(sycl::queue& queue, sycl::span<const sycl::half> a,
@@ -3740,6 +3771,43 @@ y1(sycl::queue& queue, sycl::span<const double> a, oneapi::mkl::slice sa,
3740
3771
  std::vector<sycl::event> const& depends = {},
3741
3772
  oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
3742
3773
 
3774
+ // function yn
3775
+ ONEAPI_MKL_VM_EXPORT sycl::event
3776
+ yn(sycl::queue& queue, sycl::span<const sycl::half> a, sycl::half b,
3777
+ sycl::span<sycl::half> y, std::vector<sycl::event> const& depends = {},
3778
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined,
3779
+ oneapi::mkl::vm::error_handler<sycl::half> const& eh = {});
3780
+ ONEAPI_MKL_VM_EXPORT sycl::event
3781
+ yn(sycl::queue& queue, sycl::span<const sycl::half> a, oneapi::mkl::slice sa,
3782
+ sycl::half b, sycl::span<sycl::half> y, oneapi::mkl::slice sy,
3783
+ std::vector<sycl::event> const& depends = {},
3784
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined,
3785
+ oneapi::mkl::vm::error_handler<sycl::half> const& eh = {});
3786
+
3787
+ ONEAPI_MKL_VM_EXPORT sycl::event
3788
+ yn(sycl::queue& queue, sycl::span<const float> a, float b, sycl::span<float> y,
3789
+ std::vector<sycl::event> const& depends = {},
3790
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined,
3791
+ oneapi::mkl::vm::error_handler<float> const& eh = {});
3792
+ ONEAPI_MKL_VM_EXPORT sycl::event
3793
+ yn(sycl::queue& queue, sycl::span<const float> a, oneapi::mkl::slice sa,
3794
+ float b, sycl::span<float> y, oneapi::mkl::slice sy,
3795
+ std::vector<sycl::event> const& depends = {},
3796
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined,
3797
+ oneapi::mkl::vm::error_handler<float> const& eh = {});
3798
+
3799
+ ONEAPI_MKL_VM_EXPORT sycl::event
3800
+ yn(sycl::queue& queue, sycl::span<const double> a, double b,
3801
+ sycl::span<double> y, std::vector<sycl::event> const& depends = {},
3802
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined,
3803
+ oneapi::mkl::vm::error_handler<double> const& eh = {});
3804
+ ONEAPI_MKL_VM_EXPORT sycl::event
3805
+ yn(sycl::queue& queue, sycl::span<const double> a, oneapi::mkl::slice sa,
3806
+ double b, sycl::span<double> y, oneapi::mkl::slice sy,
3807
+ std::vector<sycl::event> const& depends = {},
3808
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined,
3809
+ oneapi::mkl::vm::error_handler<double> const& eh = {});
3810
+
3743
3811
  } // namespace oneapi::mkl::vm
3744
3812
 
3745
3813
  #endif // ONEAPI_MKL_VM_SPAN_HPP
@@ -1,6 +1,6 @@
1
1
  /* -== file: usm.hpp ==- */
2
2
  /*******************************************************************************
3
- * Copyright 2019-2023 Intel Corporation.
3
+ * Copyright 2019-2024 Intel Corporation.
4
4
  *
5
5
  * This software and the related documents are Intel copyrighted materials, and
6
6
  * your use of them is governed by the express license under which they were
@@ -1917,6 +1917,36 @@ j1(sycl::queue& queue, const double* a, oneapi::mkl::slice sa, double* y,
1917
1917
  oneapi::mkl::slice sy, std::vector<sycl::event> const& depends = {},
1918
1918
  oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
1919
1919
 
1920
+ // function jn
1921
+ ONEAPI_MKL_VM_EXPORT sycl::event
1922
+ jn(sycl::queue& queue, int64_t n, const sycl::half* a, sycl::half b,
1923
+ sycl::half* y, std::vector<sycl::event> const& depends = {},
1924
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
1925
+ ONEAPI_MKL_VM_EXPORT sycl::event
1926
+ jn(sycl::queue& queue, const sycl::half* a, oneapi::mkl::slice sa, sycl::half b,
1927
+ sycl::half* y, oneapi::mkl::slice sy,
1928
+ std::vector<sycl::event> const& depends = {},
1929
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
1930
+
1931
+ ONEAPI_MKL_VM_EXPORT sycl::event
1932
+ jn(sycl::queue& queue, int64_t n, const float* a, float b, float* y,
1933
+ std::vector<sycl::event> const& depends = {},
1934
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
1935
+ ONEAPI_MKL_VM_EXPORT sycl::event
1936
+ jn(sycl::queue& queue, const float* a, oneapi::mkl::slice sa, float b, float* y,
1937
+ oneapi::mkl::slice sy, std::vector<sycl::event> const& depends = {},
1938
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
1939
+
1940
+ ONEAPI_MKL_VM_EXPORT sycl::event
1941
+ jn(sycl::queue& queue, int64_t n, const double* a, double b, double* y,
1942
+ std::vector<sycl::event> const& depends = {},
1943
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
1944
+ ONEAPI_MKL_VM_EXPORT sycl::event
1945
+ jn(sycl::queue& queue, const double* a, oneapi::mkl::slice sa, double b,
1946
+ double* y, oneapi::mkl::slice sy,
1947
+ std::vector<sycl::event> const& depends = {},
1948
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
1949
+
1920
1950
  // function lgamma
1921
1951
  ONEAPI_MKL_VM_EXPORT sycl::event
1922
1952
  lgamma(sycl::queue& queue, int64_t n, const sycl::half* a, sycl::half* y,
@@ -3510,6 +3540,42 @@ y1(sycl::queue& queue, const double* a, oneapi::mkl::slice sa, double* y,
3510
3540
  oneapi::mkl::slice sy, std::vector<sycl::event> const& depends = {},
3511
3541
  oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined);
3512
3542
 
3543
+ // function yn
3544
+ ONEAPI_MKL_VM_EXPORT sycl::event
3545
+ yn(sycl::queue& queue, int64_t n, const sycl::half* a, sycl::half b,
3546
+ sycl::half* y, std::vector<sycl::event> const& depends = {},
3547
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined,
3548
+ oneapi::mkl::vm::error_handler<sycl::half> const& eh = {});
3549
+ ONEAPI_MKL_VM_EXPORT sycl::event
3550
+ yn(sycl::queue& queue, const sycl::half* a, oneapi::mkl::slice sa, sycl::half b,
3551
+ sycl::half* y, oneapi::mkl::slice sy,
3552
+ std::vector<sycl::event> const& depends = {},
3553
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined,
3554
+ oneapi::mkl::vm::error_handler<sycl::half> const& eh = {});
3555
+
3556
+ ONEAPI_MKL_VM_EXPORT sycl::event
3557
+ yn(sycl::queue& queue, int64_t n, const float* a, float b, float* y,
3558
+ std::vector<sycl::event> const& depends = {},
3559
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined,
3560
+ oneapi::mkl::vm::error_handler<float> const& eh = {});
3561
+ ONEAPI_MKL_VM_EXPORT sycl::event
3562
+ yn(sycl::queue& queue, const float* a, oneapi::mkl::slice sa, float b, float* y,
3563
+ oneapi::mkl::slice sy, std::vector<sycl::event> const& depends = {},
3564
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined,
3565
+ oneapi::mkl::vm::error_handler<float> const& eh = {});
3566
+
3567
+ ONEAPI_MKL_VM_EXPORT sycl::event
3568
+ yn(sycl::queue& queue, int64_t n, const double* a, double b, double* y,
3569
+ std::vector<sycl::event> const& depends = {},
3570
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined,
3571
+ oneapi::mkl::vm::error_handler<double> const& eh = {});
3572
+ ONEAPI_MKL_VM_EXPORT sycl::event
3573
+ yn(sycl::queue& queue, const double* a, oneapi::mkl::slice sa, double b,
3574
+ double* y, oneapi::mkl::slice sy,
3575
+ std::vector<sycl::event> const& depends = {},
3576
+ oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined,
3577
+ oneapi::mkl::vm::error_handler<double> const& eh = {});
3578
+
3513
3579
  } // namespace oneapi::mkl::vm
3514
3580
 
3515
3581
  #endif // ONEAPI_MKL_VM_USM_HPP
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mkl-devel-dpcpp
3
- Version: 2024.1.0
3
+ Version: 2024.2.0
4
4
  Summary: Intel® oneAPI Math Kernel Library
5
5
  Home-page: https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl.html
6
6
  Author: Intel Corporation
@@ -17,8 +17,8 @@ Classifier: Intended Audience :: Science/Research
17
17
  Classifier: Topic :: Software Development :: Libraries
18
18
  Classifier: License :: Other/Proprietary License
19
19
  License-File: LICENSE.txt
20
- Requires-Dist: mkl-dpcpp (==2024.1.0)
21
- Requires-Dist: mkl-devel (==2024.1.0)
20
+ Requires-Dist: mkl-dpcpp (==2024.2.0)
21
+ Requires-Dist: mkl-devel (==2024.2.0)
22
22
 
23
23
  Intel® oneAPI Math Kernel Library (Intel® oneMKL) is a computing math library of highly optimized, extensively threaded routines for applications that require maximum performance. This package provides C and Data Parallel C++ (DPC++) programming language interfaces. Intel MKL C language interfaces can be called from applications written in either C or C++, as well as in any other language that can reference a C interface. Use it to optimize code for current and future generations of Intel® CPUs and GPUs.
24
24