mkl_lapack_omp_offload.h 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661
  1. /*******************************************************************************
  2. * Copyright 2019-2022 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. ! Content:
  16. ! Intel(R) oneAPI Math Kernel Library (oneMKL) C interface for
  17. ! OpenMP offload for LAPACK
  18. !******************************************************************************/
  19. #ifndef _MKL_LAPACK_OMP_OFFLOAD_H_
  20. #define _MKL_LAPACK_OMP_OFFLOAD_H_
  21. #include "mkl_types.h"
  22. #include "mkl_lapack_omp_variant.h"
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif /* __cplusplus */
  26. #if (_OPENMP >= 202011)
  27. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(cgebrd,a,d,e,tauq,taup,work,info)
  28. #endif // (_OPENMP >= 202011)
  29. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(cgebrd,a,d,e,tauq,taup,work,info)
  30. void cgebrd(const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, float* d, float* e,
  31. MKL_Complex8* tauq, MKL_Complex8* taup, MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
  32. #if (_OPENMP >= 202011)
  33. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dgebrd,a,d,e,tauq,taup,work,info)
  34. #endif // (_OPENMP >= 202011)
  35. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dgebrd,a,d,e,tauq,taup,work,info)
  36. void dgebrd(const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda, double* d, double* e, double* tauq,
  37. double* taup, double* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
  38. #if (_OPENMP >= 202011)
  39. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(sgebrd,a,d,e,tauq,taup,work,info)
  40. #endif // (_OPENMP >= 202011)
  41. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(sgebrd,a,d,e,tauq,taup,work,info)
  42. void sgebrd(const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, float* d, float* e, float* tauq,
  43. float* taup, float* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
  44. #if (_OPENMP >= 202011)
  45. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(zgebrd,a,d,e,tauq,taup,work,info)
  46. #endif // (_OPENMP >= 202011)
  47. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(zgebrd,a,d,e,tauq,taup,work,info)
  48. void zgebrd(const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, double* d, double* e,
  49. MKL_Complex16* tauq, MKL_Complex16* taup, MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
  50. #if (_OPENMP >= 202011)
  51. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(cgesvd,a,s,u,vt,work,rwork,info)
  52. #endif // (_OPENMP >= 202011)
  53. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(cgesvd,a,s,u,vt,work,rwork,info)
  54. void cgesvd(const char* jobu, const char* jobvt, const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a,
  55. const MKL_INT* lda, float* s, MKL_Complex8* u, const MKL_INT* ldu, MKL_Complex8* vt, const MKL_INT* ldvt,
  56. MKL_Complex8* work, const MKL_INT* lwork, float* rwork, MKL_INT* info) NOTHROW;
  57. #if (_OPENMP >= 202011)
  58. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(zgesvd,a,s,u,vt,work,rwork,info)
  59. #endif // (_OPENMP >= 202011)
  60. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(zgesvd,a,s,u,vt,work,rwork,info)
  61. void zgesvd(const char* jobu, const char* jobvt, const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a,
  62. const MKL_INT* lda, double* s, MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* vt, const MKL_INT* ldvt,
  63. MKL_Complex16* work, const MKL_INT* lwork, double* rwork, MKL_INT* info) NOTHROW;
  64. #if (_OPENMP >= 202011)
  65. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dgesvd,a,s,u,vt,work,info)
  66. #endif // (_OPENMP >= 202011)
  67. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dgesvd,a,s,u,vt,work,info)
  68. void dgesvd(const char* jobu, const char* jobvt, const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda,
  69. double* s, double* u, const MKL_INT* ldu, double* vt, const MKL_INT* ldvt, double* work,
  70. const MKL_INT* lwork, MKL_INT* info) NOTHROW;
  71. #if (_OPENMP >= 202011)
  72. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(sgesvd,a,s,u,vt,work,info)
  73. #endif // (_OPENMP >= 202011)
  74. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(sgesvd,a,s,u,vt,work,info)
  75. void sgesvd(const char* jobu, const char* jobvt, const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda,
  76. float* s, float* u, const MKL_INT* ldu, float* vt, const MKL_INT* ldvt, float* work, const MKL_INT* lwork,
  77. MKL_INT* info) NOTHROW;
  78. #if (_OPENMP >= 202011)
  79. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(cgetrf_batch_strided,a,ipiv,info)
  80. #endif // (_OPENMP >= 202011)
  81. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(cgetrf_batch_strided,a,ipiv,info)
  82. void cgetrf_batch_strided(const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
  83. const MKL_INT* stride_a, MKL_INT* ipiv, const MKL_INT* stride_ipiv, const MKL_INT* batch_size,
  84. MKL_INT* info) NOTHROW;
  85. #if (_OPENMP >= 202011)
  86. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dgetrf_batch_strided,a,ipiv,info)
  87. #endif // (_OPENMP >= 202011)
  88. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dgetrf_batch_strided,a,ipiv,info)
  89. void dgetrf_batch_strided(const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda, const MKL_INT* stride_a,
  90. MKL_INT* ipiv, const MKL_INT* stride_ipiv, const MKL_INT* batch_size, MKL_INT* info) NOTHROW;
  91. #if (_OPENMP >= 202011)
  92. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(sgetrf_batch_strided,a,ipiv,info)
  93. #endif // (_OPENMP >= 202011)
  94. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(sgetrf_batch_strided,a,ipiv,info)
  95. void sgetrf_batch_strided(const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, const MKL_INT* stride_a,
  96. MKL_INT* ipiv, const MKL_INT* stride_ipiv, const MKL_INT* batch_size, MKL_INT* info) NOTHROW;
  97. #if (_OPENMP >= 202011)
  98. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(zgetrf_batch_strided,a,ipiv,info)
  99. #endif // (_OPENMP >= 202011)
  100. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(zgetrf_batch_strided,a,ipiv,info)
  101. void zgetrf_batch_strided(const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
  102. const MKL_INT* stride_a, MKL_INT* ipiv, const MKL_INT* stride_ipiv, const MKL_INT* batch_size,
  103. MKL_INT* info) NOTHROW;
  104. #if (_OPENMP >= 202011)
  105. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(cgetrf_batch,a,ipiv,info)
  106. #endif // (_OPENMP >= 202011)
  107. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(cgetrf_batch,a,ipiv,info)
  108. void cgetrf_batch(const MKL_INT* m, const MKL_INT* n, MKL_Complex8** a, const MKL_INT* lda, MKL_INT** ipiv,
  109. const MKL_INT* group_count, const MKL_INT* group_sizes, MKL_INT* info) NOTHROW;
  110. #if (_OPENMP >= 202011)
  111. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dgetrf_batch,a,ipiv,info)
  112. #endif // (_OPENMP >= 202011)
  113. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dgetrf_batch,a,ipiv,info)
  114. void dgetrf_batch(const MKL_INT* m, const MKL_INT* n, double** a, const MKL_INT* lda, MKL_INT** ipiv,
  115. const MKL_INT* group_count, const MKL_INT* group_sizes, MKL_INT* info) NOTHROW;
  116. #if (_OPENMP >= 202011)
  117. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(sgetrf_batch,a,ipiv,info)
  118. #endif // (_OPENMP >= 202011)
  119. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(sgetrf_batch,a,ipiv,info)
  120. void sgetrf_batch(const MKL_INT* m, const MKL_INT* n, float** a, const MKL_INT* lda, MKL_INT** ipiv,
  121. const MKL_INT* group_count, const MKL_INT* group_sizes, MKL_INT* info) NOTHROW;
  122. #if (_OPENMP >= 202011)
  123. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(zgetrf_batch,a,ipiv,info)
  124. #endif // (_OPENMP >= 202011)
  125. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(zgetrf_batch,a,ipiv,info)
  126. void zgetrf_batch(const MKL_INT* m, const MKL_INT* n, MKL_Complex16** a, const MKL_INT* lda, MKL_INT** ipiv,
  127. const MKL_INT* group_count, const MKL_INT* group_sizes, MKL_INT* info) NOTHROW;
  128. #if (_OPENMP >= 202011)
  129. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(cgetrf,a,ipiv,info)
  130. #endif // (_OPENMP >= 202011)
  131. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(cgetrf,a,ipiv,info)
  132. void cgetrf(const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, MKL_INT* ipiv,
  133. MKL_INT* info) NOTHROW;
  134. #if (_OPENMP >= 202011)
  135. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dgetrf,a,ipiv,info)
  136. #endif // (_OPENMP >= 202011)
  137. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dgetrf,a,ipiv,info)
  138. void dgetrf(const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info) NOTHROW;
  139. #if (_OPENMP >= 202011)
  140. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(sgetrf,a,ipiv,info)
  141. #endif // (_OPENMP >= 202011)
  142. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(sgetrf,a,ipiv,info)
  143. void sgetrf(const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* ipiv, MKL_INT* info) NOTHROW;
  144. #if (_OPENMP >= 202011)
  145. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(zgetrf,a,ipiv,info)
  146. #endif // (_OPENMP >= 202011)
  147. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(zgetrf,a,ipiv,info)
  148. void zgetrf(const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, MKL_INT* ipiv,
  149. MKL_INT* info) NOTHROW;
  150. #if (_OPENMP >= 202011)
  151. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(cgetrfnp_batch_strided,a,info)
  152. #endif // (_OPENMP >= 202011)
  153. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(cgetrfnp_batch_strided,a,info)
  154. void cgetrfnp_batch_strided(const MKL_INT* m, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda,
  155. const MKL_INT* stride_a, const MKL_INT* batch_size, MKL_INT* info) NOTHROW;
  156. #if (_OPENMP >= 202011)
  157. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dgetrfnp_batch_strided,a,info)
  158. #endif // (_OPENMP >= 202011)
  159. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dgetrfnp_batch_strided,a,info)
  160. void dgetrfnp_batch_strided(const MKL_INT* m, const MKL_INT* n, double* a, const MKL_INT* lda, const MKL_INT* stride_a,
  161. const MKL_INT* batch_size, MKL_INT* info) NOTHROW;
  162. #if (_OPENMP >= 202011)
  163. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(sgetrfnp_batch_strided,a,info)
  164. #endif // (_OPENMP >= 202011)
  165. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(sgetrfnp_batch_strided,a,info)
  166. void sgetrfnp_batch_strided(const MKL_INT* m, const MKL_INT* n, float* a, const MKL_INT* lda, const MKL_INT* stride_a,
  167. const MKL_INT* batch_size, MKL_INT* info) NOTHROW;
  168. #if (_OPENMP >= 202011)
  169. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(zgetrfnp_batch_strided,a,info)
  170. #endif // (_OPENMP >= 202011)
  171. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(zgetrfnp_batch_strided,a,info)
  172. void zgetrfnp_batch_strided(const MKL_INT* m, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda,
  173. const MKL_INT* stride_a, const MKL_INT* batch_size, MKL_INT* info) NOTHROW;
  174. #if (_OPENMP >= 202011)
  175. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(cgetrfnp_batch,a,info)
  176. #endif // (_OPENMP >= 202011)
  177. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(cgetrfnp_batch,a,info)
  178. void cgetrfnp_batch(const MKL_INT* m, const MKL_INT* n, MKL_Complex8** a, const MKL_INT* lda,
  179. const MKL_INT* group_count, const MKL_INT* group_sizes, MKL_INT* info) NOTHROW;
  180. #if (_OPENMP >= 202011)
  181. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dgetrfnp_batch,a,info)
  182. #endif // (_OPENMP >= 202011)
  183. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dgetrfnp_batch,a,info)
  184. void dgetrfnp_batch(const MKL_INT* m, const MKL_INT* n, double** a, const MKL_INT* lda, const MKL_INT* group_count,
  185. const MKL_INT* group_sizes, MKL_INT* info) NOTHROW;
  186. #if (_OPENMP >= 202011)
  187. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(sgetrfnp_batch,a,info)
  188. #endif // (_OPENMP >= 202011)
  189. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(sgetrfnp_batch,a,info)
  190. void sgetrfnp_batch(const MKL_INT* m, const MKL_INT* n, float** a, const MKL_INT* lda, const MKL_INT* group_count,
  191. const MKL_INT* group_sizes, MKL_INT* info) NOTHROW;
  192. #if (_OPENMP >= 202011)
  193. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(zgetrfnp_batch,a,info)
  194. #endif // (_OPENMP >= 202011)
  195. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(zgetrfnp_batch,a,info)
  196. void zgetrfnp_batch(const MKL_INT* m, const MKL_INT* n, MKL_Complex16** a, const MKL_INT* lda,
  197. const MKL_INT* group_count, const MKL_INT* group_sizes, MKL_INT* info) NOTHROW;
  198. #if (_OPENMP >= 202011)
  199. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(cgetri,a,ipiv,work,info)
  200. #endif // (_OPENMP >= 202011)
  201. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(cgetri,a,ipiv,work,info)
  202. void cgetri(const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex8* work,
  203. const MKL_INT* lwork, MKL_INT* info) NOTHROW;
  204. #if (_OPENMP >= 202011)
  205. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dgetri,a,ipiv,work,info)
  206. #endif // (_OPENMP >= 202011)
  207. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dgetri,a,ipiv,work,info)
  208. void dgetri(const MKL_INT* n, double* a, const MKL_INT* lda, const MKL_INT* ipiv, double* work, const MKL_INT* lwork,
  209. MKL_INT* info) NOTHROW;
  210. #if (_OPENMP >= 202011)
  211. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(sgetri,a,ipiv,work,info)
  212. #endif // (_OPENMP >= 202011)
  213. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(sgetri,a,ipiv,work,info)
  214. void sgetri(const MKL_INT* n, float* a, const MKL_INT* lda, const MKL_INT* ipiv, float* work, const MKL_INT* lwork,
  215. MKL_INT* info) NOTHROW;
  216. #if (_OPENMP >= 202011)
  217. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(zgetri,a,ipiv,work,info)
  218. #endif // (_OPENMP >= 202011)
  219. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(zgetri,a,ipiv,work,info)
  220. void zgetri(const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, const MKL_INT* ipiv, MKL_Complex16* work,
  221. const MKL_INT* lwork, MKL_INT* info) NOTHROW;
  222. #if (_OPENMP >= 202011)
  223. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(cgetrs,a,ipiv,b,info)
  224. #endif // (_OPENMP >= 202011)
  225. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(cgetrs,a,ipiv,b,info)
  226. void cgetrs(const char* trans, const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex8* a, const MKL_INT* lda,
  227. const MKL_INT* ipiv, MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info) NOTHROW;
  228. #if (_OPENMP >= 202011)
  229. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dgetrs,a,ipiv,b,info)
  230. #endif // (_OPENMP >= 202011)
  231. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dgetrs,a,ipiv,b,info)
  232. void dgetrs(const char* trans, const MKL_INT* n, const MKL_INT* nrhs, const double* a, const MKL_INT* lda,
  233. const MKL_INT* ipiv, double* b, const MKL_INT* ldb, MKL_INT* info) NOTHROW;
  234. #if (_OPENMP >= 202011)
  235. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(sgetrs,a,ipiv,b,info)
  236. #endif // (_OPENMP >= 202011)
  237. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(sgetrs,a,ipiv,b,info)
  238. void sgetrs(const char* trans, const MKL_INT* n, const MKL_INT* nrhs, const float* a, const MKL_INT* lda,
  239. const MKL_INT* ipiv, float* b, const MKL_INT* ldb, MKL_INT* info) NOTHROW;
  240. #if (_OPENMP >= 202011)
  241. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(zgetrs,a,ipiv,b,info)
  242. #endif // (_OPENMP >= 202011)
  243. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(zgetrs,a,ipiv,b,info)
  244. void zgetrs(const char* trans, const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex16* a, const MKL_INT* lda,
  245. const MKL_INT* ipiv, MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info) NOTHROW;
  246. #pragma omp MKL_LAPACK_DECLARE_VARIANT(cgetrsnp_batch_strided,a,b,info)
  247. void cgetrsnp_batch_strided(const char* trans, const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex8* a,
  248. const MKL_INT* lda, const MKL_INT* stride_a, MKL_Complex8* b, const MKL_INT* ldb,
  249. const MKL_INT* stride_b, const MKL_INT* batch_size, MKL_INT* info) NOTHROW;
  250. #pragma omp MKL_LAPACK_DECLARE_VARIANT(dgetrsnp_batch_strided,a,b,info)
  251. void dgetrsnp_batch_strided(const char* trans, const MKL_INT* n, const MKL_INT* nrhs, const double* a,
  252. const MKL_INT* lda, const MKL_INT* stride_a, double* b, const MKL_INT* ldb,
  253. const MKL_INT* stride_b, const MKL_INT* batch_size, MKL_INT* info) NOTHROW;
  254. #pragma omp MKL_LAPACK_DECLARE_VARIANT(sgetrsnp_batch_strided,a,b,info)
  255. void sgetrsnp_batch_strided(const char* trans, const MKL_INT* n, const MKL_INT* nrhs, const float* a,
  256. const MKL_INT* lda, const MKL_INT* stride_a, float* b, const MKL_INT* ldb,
  257. const MKL_INT* stride_b, const MKL_INT* batch_size, MKL_INT* info) NOTHROW;
  258. #pragma omp MKL_LAPACK_DECLARE_VARIANT(zgetrsnp_batch_strided,a,b,info)
  259. void zgetrsnp_batch_strided(const char* trans, const MKL_INT* n, const MKL_INT* nrhs, const MKL_Complex16* a,
  260. const MKL_INT* lda, const MKL_INT* stride_a, MKL_Complex16* b, const MKL_INT* ldb,
  261. const MKL_INT* stride_b, const MKL_INT* batch_size, MKL_INT* info) NOTHROW;
  262. #if (_OPENMP >= 202011)
  263. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(cheev,a,w,work,rwork,info)
  264. #endif // (_OPENMP >= 202011)
  265. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(cheev,a,w,work,rwork,info)
  266. void cheev(const char* jobz, const char* uplo, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, float* w,
  267. MKL_Complex8* work, const MKL_INT* lwork, float* rwork, MKL_INT* info) NOTHROW;
  268. #if (_OPENMP >= 202011)
  269. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(zheev,a,w,work,rwork,info)
  270. #endif // (_OPENMP >= 202011)
  271. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(zheev,a,w,work,rwork,info)
  272. void zheev(const char* jobz, const char* uplo, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, double* w,
  273. MKL_Complex16* work, const MKL_INT* lwork, double* rwork, MKL_INT* info) NOTHROW;
  274. #if (_OPENMP >= 202011)
  275. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(cheevd,a,w,work,rwork,iwork,info)
  276. #endif // (_OPENMP >= 202011)
  277. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(cheevd,a,w,work,rwork,iwork,info)
  278. void cheevd(const char* jobz, const char* uplo, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, float* w,
  279. MKL_Complex8* work, const MKL_INT* lwork, float* rwork, const MKL_INT* lrwork, MKL_INT* iwork,
  280. const MKL_INT* liwork, MKL_INT* info) NOTHROW;
  281. #if (_OPENMP >= 202011)
  282. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(zheevd,a,w,work,rwork,iwork,info)
  283. #endif // (_OPENMP >= 202011)
  284. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(zheevd,a,w,work,rwork,iwork,info)
  285. void zheevd(const char* jobz, const char* uplo, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, double* w,
  286. MKL_Complex16* work, const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork, MKL_INT* iwork,
  287. const MKL_INT* liwork, MKL_INT* info) NOTHROW;
  288. #if (_OPENMP >= 202011)
  289. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(cheevx,a,m,w,z,work,rwork,iwork,ifail,info)
  290. #endif // (_OPENMP >= 202011)
  291. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(cheevx,a,m,w,z,work,rwork,iwork,ifail,info)
  292. void cheevx(const char* jobz, const char* range, const char* uplo, const MKL_INT* n, MKL_Complex8* a,
  293. const MKL_INT* lda, const float* vl, const float* vu, const MKL_INT* il, const MKL_INT* iu,
  294. const float* abstol, MKL_INT* m, float* w, MKL_Complex8* z, const MKL_INT* ldz, MKL_Complex8* work,
  295. const MKL_INT* lwork, float* rwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info) NOTHROW;
  296. #if (_OPENMP >= 202011)
  297. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(zheevx,a,m,w,z,work,rwork,iwork,ifail,info)
  298. #endif // (_OPENMP >= 202011)
  299. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(zheevx,a,m,w,z,work,rwork,iwork,ifail,info)
  300. void zheevx(const char* jobz, const char* range, const char* uplo, const MKL_INT* n, MKL_Complex16* a,
  301. const MKL_INT* lda, const double* vl, const double* vu, const MKL_INT* il, const MKL_INT* iu,
  302. const double* abstol, MKL_INT* m, double* w, MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work,
  303. const MKL_INT* lwork, double* rwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info) NOTHROW;
  304. #if (_OPENMP >= 202011)
  305. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(chegvd,a,b,w,work,rwork,iwork,info)
  306. #endif // (_OPENMP >= 202011)
  307. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(chegvd,a,b,w,work,rwork,iwork,info)
  308. void chegvd(const MKL_INT* itype, const char* jobz, const char* uplo, const MKL_INT* n, MKL_Complex8* a,
  309. const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb, float* w, MKL_Complex8* work, const MKL_INT* lwork,
  310. float* rwork, const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info) NOTHROW;
  311. #if (_OPENMP >= 202011)
  312. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(zhegvd,a,b,w,work,rwork,iwork,info)
  313. #endif // (_OPENMP >= 202011)
  314. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(zhegvd,a,b,w,work,rwork,iwork,info)
  315. void zhegvd(const MKL_INT* itype, const char* jobz, const char* uplo, const MKL_INT* n, MKL_Complex16* a,
  316. const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb, double* w, MKL_Complex16* work,
  317. const MKL_INT* lwork, double* rwork, const MKL_INT* lrwork, MKL_INT* iwork, const MKL_INT* liwork,
  318. MKL_INT* info) NOTHROW;
  319. #if (_OPENMP >= 202011)
  320. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(chegvx,a,b,m,w,z,work,rwork,iwork,ifail,info)
  321. #endif // (_OPENMP >= 202011)
  322. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(chegvx,a,b,m,w,z,work,rwork,iwork,ifail,info)
  323. void chegvx(const MKL_INT* itype, const char* jobz, const char* range, const char* uplo, const MKL_INT* n,
  324. MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb, const float* vl, const float* vu,
  325. const MKL_INT* il, const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w, MKL_Complex8* z,
  326. const MKL_INT* ldz, MKL_Complex8* work, const MKL_INT* lwork, float* rwork, MKL_INT* iwork, MKL_INT* ifail,
  327. MKL_INT* info) NOTHROW;
  328. #if (_OPENMP >= 202011)
  329. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(zhegvx,a,b,m,w,z,work,rwork,iwork,ifail,info)
  330. #endif // (_OPENMP >= 202011)
  331. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(zhegvx,a,b,m,w,z,work,rwork,iwork,ifail,info)
  332. void zhegvx(const MKL_INT* itype, const char* jobz, const char* range, const char* uplo, const MKL_INT* n,
  333. MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb, const double* vl,
  334. const double* vu, const MKL_INT* il, const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w,
  335. MKL_Complex16* z, const MKL_INT* ldz, MKL_Complex16* work, const MKL_INT* lwork, double* rwork,
  336. MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info) NOTHROW;
  337. #if (_OPENMP >= 202011)
  338. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(chetrd,a,d,e,tau,work,info)
  339. #endif // (_OPENMP >= 202011)
  340. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(chetrd,a,d,e,tau,work,info)
  341. void chetrd(const char* uplo, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, float* d, float* e,
  342. MKL_Complex8* tau, MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
  343. #if (_OPENMP >= 202011)
  344. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(zhetrd,a,d,e,tau,work,info)
  345. #endif // (_OPENMP >= 202011)
  346. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(zhetrd,a,d,e,tau,work,info)
  347. void zhetrd(const char* uplo, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, double* d, double* e,
  348. MKL_Complex16* tau, MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
  349. #if (_OPENMP >= 202011)
  350. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dorgqr,a,tau,work,info)
  351. #endif // (_OPENMP >= 202011)
  352. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dorgqr,a,tau,work,info)
  353. void dorgqr(const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, double* a, const MKL_INT* lda, const double* tau,
  354. double* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
  355. #if (_OPENMP >= 202011)
  356. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(sorgqr,a,tau,work,info)
  357. #endif // (_OPENMP >= 202011)
  358. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(sorgqr,a,tau,work,info)
  359. void sorgqr(const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, float* a, const MKL_INT* lda, const float* tau,
  360. float* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
  361. #if (_OPENMP >= 202011)
  362. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dormqr,a,tau,c,work,info)
  363. #endif // (_OPENMP >= 202011)
  364. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dormqr,a,tau,c,work,info)
  365. void dormqr(const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, const double* a,
  366. const MKL_INT* lda, const double* tau, double* c, const MKL_INT* ldc, double* work, const MKL_INT* lwork,
  367. MKL_INT* info) NOTHROW;
  368. #if (_OPENMP >= 202011)
  369. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(sormqr,a,tau,c,work,info)
  370. #endif // (_OPENMP >= 202011)
  371. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(sormqr,a,tau,c,work,info)
  372. void sormqr(const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, const float* a,
  373. const MKL_INT* lda, const float* tau, float* c, const MKL_INT* ldc, float* work, const MKL_INT* lwork,
  374. MKL_INT* info) NOTHROW;
  375. #if (_OPENMP >= 202011)
  376. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(csteqr,d,e,z,work,info)
  377. #endif // (_OPENMP >= 202011)
  378. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(csteqr,d,e,z,work,info)
  379. void csteqr(const char* compz, const MKL_INT* n, float* d, float* e, MKL_Complex8* z, const MKL_INT* ldz, float* work,
  380. MKL_INT* info) NOTHROW;
  381. #if (_OPENMP >= 202011)
  382. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dsteqr,d,e,z,work,info)
  383. #endif // (_OPENMP >= 202011)
  384. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dsteqr,d,e,z,work,info)
  385. void dsteqr(const char* compz, const MKL_INT* n, double* d, double* e, double* z, const MKL_INT* ldz, double* work,
  386. MKL_INT* info) NOTHROW;
  387. #if (_OPENMP >= 202011)
  388. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(ssteqr,d,e,z,work,info)
  389. #endif // (_OPENMP >= 202011)
  390. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(ssteqr,d,e,z,work,info)
  391. void ssteqr(const char* compz, const MKL_INT* n, float* d, float* e, float* z, const MKL_INT* ldz, float* work,
  392. MKL_INT* info) NOTHROW;
  393. #if (_OPENMP >= 202011)
  394. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(zsteqr,d,e,z,work,info)
  395. #endif // (_OPENMP >= 202011)
  396. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(zsteqr,d,e,z,work,info)
  397. void zsteqr(const char* compz, const MKL_INT* n, double* d, double* e, MKL_Complex16* z, const MKL_INT* ldz,
  398. double* work, MKL_INT* info) NOTHROW;
  399. #if (_OPENMP >= 202011)
  400. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dsyev,a,w,work,info)
  401. #endif // (_OPENMP >= 202011)
  402. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dsyev,a,w,work,info)
  403. void dsyev(const char* jobz, const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda, double* w, double* work,
  404. const MKL_INT* lwork, MKL_INT* info) NOTHROW;
  405. #if (_OPENMP >= 202011)
  406. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(ssyev,a,w,work,info)
  407. #endif // (_OPENMP >= 202011)
  408. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(ssyev,a,w,work,info)
  409. void ssyev(const char* jobz, const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda, float* w, float* work,
  410. const MKL_INT* lwork, MKL_INT* info) NOTHROW;
  411. #if (_OPENMP >= 202011)
  412. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dsyevd,a,w,work,iwork,info)
  413. #endif // (_OPENMP >= 202011)
  414. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dsyevd,a,w,work,iwork,info)
  415. void dsyevd(const char* jobz, const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda, double* w,
  416. double* work, const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info) NOTHROW;
  417. #if (_OPENMP >= 202011)
  418. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(ssyevd,a,w,work,iwork,info)
  419. #endif // (_OPENMP >= 202011)
  420. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(ssyevd,a,w,work,iwork,info)
  421. void ssyevd(const char* jobz, const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda, float* w, float* work,
  422. const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info) NOTHROW;
  423. #if (_OPENMP >= 202011)
  424. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dsyevx,a,m,w,z,work,iwork,ifail,info)
  425. #endif // (_OPENMP >= 202011)
  426. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dsyevx,a,m,w,z,work,iwork,ifail,info)
  427. void dsyevx(const char* jobz, const char* range, const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
  428. const double* vl, const double* vu, const MKL_INT* il, const MKL_INT* iu, const double* abstol, MKL_INT* m,
  429. double* w, double* z, const MKL_INT* ldz, double* work, const MKL_INT* lwork, MKL_INT* iwork,
  430. MKL_INT* ifail, MKL_INT* info) NOTHROW;
  431. #if (_OPENMP >= 202011)
  432. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(ssyevx,a,m,w,z,work,iwork,ifail,info)
  433. #endif // (_OPENMP >= 202011)
  434. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(ssyevx,a,m,w,z,work,iwork,ifail,info)
  435. void ssyevx(const char* jobz, const char* range, const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
  436. const float* vl, const float* vu, const MKL_INT* il, const MKL_INT* iu, const float* abstol, MKL_INT* m,
  437. float* w, float* z, const MKL_INT* ldz, float* work, const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail,
  438. MKL_INT* info) NOTHROW;
  439. #if (_OPENMP >= 202011)
  440. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dsygvd,a,b,w,work,iwork,info)
  441. #endif // (_OPENMP >= 202011)
  442. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dsygvd,a,b,w,work,iwork,info)
  443. void dsygvd(const MKL_INT* itype, const char* jobz, const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda,
  444. double* b, const MKL_INT* ldb, double* w, double* work, const MKL_INT* lwork, MKL_INT* iwork,
  445. const MKL_INT* liwork, MKL_INT* info) NOTHROW;
  446. #if (_OPENMP >= 202011)
  447. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(ssygvd,a,b,w,work,iwork,info)
  448. #endif // (_OPENMP >= 202011)
  449. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(ssygvd,a,b,w,work,iwork,info)
  450. void ssygvd(const MKL_INT* itype, const char* jobz, const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda,
  451. float* b, const MKL_INT* ldb, float* w, float* work, const MKL_INT* lwork, MKL_INT* iwork,
  452. const MKL_INT* liwork, MKL_INT* info) NOTHROW;
  453. #if (_OPENMP >= 202011)
  454. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dsygvx,a,b,m,w,z,work,iwork,ifail,info)
  455. #endif // (_OPENMP >= 202011)
  456. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dsygvx,a,b,m,w,z,work,iwork,ifail,info)
  457. void dsygvx(const MKL_INT* itype, const char* jobz, const char* range, const char* uplo, const MKL_INT* n, double* a,
  458. const MKL_INT* lda, double* b, const MKL_INT* ldb, const double* vl, const double* vu, const MKL_INT* il,
  459. const MKL_INT* iu, const double* abstol, MKL_INT* m, double* w, double* z, const MKL_INT* ldz, double* work,
  460. const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info) NOTHROW;
  461. #if (_OPENMP >= 202011)
  462. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(ssygvx,a,b,m,w,z,work,iwork,ifail,info)
  463. #endif // (_OPENMP >= 202011)
  464. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(ssygvx,a,b,m,w,z,work,iwork,ifail,info)
  465. void ssygvx(const MKL_INT* itype, const char* jobz, const char* range, const char* uplo, const MKL_INT* n, float* a,
  466. const MKL_INT* lda, float* b, const MKL_INT* ldb, const float* vl, const float* vu, const MKL_INT* il,
  467. const MKL_INT* iu, const float* abstol, MKL_INT* m, float* w, float* z, const MKL_INT* ldz, float* work,
  468. const MKL_INT* lwork, MKL_INT* iwork, MKL_INT* ifail, MKL_INT* info) NOTHROW;
  469. #if (_OPENMP >= 202011)
  470. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dsytrd,a,d,e,tau,work,info)
  471. #endif // (_OPENMP >= 202011)
  472. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dsytrd,a,d,e,tau,work,info)
  473. void dsytrd(const char* uplo, const MKL_INT* n, double* a, const MKL_INT* lda, double* d, double* e, double* tau,
  474. double* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
  475. #if (_OPENMP >= 202011)
  476. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(ssytrd,a,d,e,tau,work,info)
  477. #endif // (_OPENMP >= 202011)
  478. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(ssytrd,a,d,e,tau,work,info)
  479. void ssytrd(const char* uplo, const MKL_INT* n, float* a, const MKL_INT* lda, float* d, float* e, float* tau,
  480. float* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
  481. #if (_OPENMP >= 202011)
  482. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(ctrtri,a,info)
  483. #endif // (_OPENMP >= 202011)
  484. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(ctrtri,a,info)
  485. void ctrtri(const char* uplo, const char* diag, const MKL_INT* n, MKL_Complex8* a, const MKL_INT* lda, MKL_INT* info) NOTHROW;
  486. #if (_OPENMP >= 202011)
  487. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dtrtri,a,info)
  488. #endif // (_OPENMP >= 202011)
  489. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dtrtri,a,info)
  490. void dtrtri(const char* uplo, const char* diag, const MKL_INT* n, double* a, const MKL_INT* lda, MKL_INT* info) NOTHROW;
  491. #if (_OPENMP >= 202011)
  492. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(strtri,a,info)
  493. #endif // (_OPENMP >= 202011)
  494. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(strtri,a,info)
  495. void strtri(const char* uplo, const char* diag, const MKL_INT* n, float* a, const MKL_INT* lda, MKL_INT* info) NOTHROW;
  496. #if (_OPENMP >= 202011)
  497. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(ztrtri,a,info)
  498. #endif // (_OPENMP >= 202011)
  499. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(ztrtri,a,info)
  500. void ztrtri(const char* uplo, const char* diag, const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, MKL_INT* info) NOTHROW;
  501. #if (_OPENMP >= 202011)
  502. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(ctrtrs,a,b,info)
  503. #endif // (_OPENMP >= 202011)
  504. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(ctrtrs,a,b,info)
  505. void ctrtrs(const char* uplo, const char* trans, const char* diag, const MKL_INT* n, const MKL_INT* nrhs,
  506. const MKL_Complex8* a, const MKL_INT* lda, MKL_Complex8* b, const MKL_INT* ldb, MKL_INT* info) NOTHROW;
  507. #if (_OPENMP >= 202011)
  508. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(dtrtrs,a,b,info)
  509. #endif // (_OPENMP >= 202011)
  510. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(dtrtrs,a,b,info)
  511. void dtrtrs(const char* uplo, const char* trans, const char* diag, const MKL_INT* n, const MKL_INT* nrhs,
  512. const double* a, const MKL_INT* lda, double* b, const MKL_INT* ldb, MKL_INT* info) NOTHROW;
  513. #if (_OPENMP >= 202011)
  514. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(strtrs,a,b,info)
  515. #endif // (_OPENMP >= 202011)
  516. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(strtrs,a,b,info)
  517. void strtrs(const char* uplo, const char* trans, const char* diag, const MKL_INT* n, const MKL_INT* nrhs,
  518. const float* a, const MKL_INT* lda, float* b, const MKL_INT* ldb, MKL_INT* info) NOTHROW;
  519. #if (_OPENMP >= 202011)
  520. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(ztrtrs,a,b,info)
  521. #endif // (_OPENMP >= 202011)
  522. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(ztrtrs,a,b,info)
  523. void ztrtrs(const char* uplo, const char* trans, const char* diag, const MKL_INT* n, const MKL_INT* nrhs,
  524. const MKL_Complex16* a, const MKL_INT* lda, MKL_Complex16* b, const MKL_INT* ldb, MKL_INT* info) NOTHROW;
  525. #if (_OPENMP >= 202011)
  526. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(cungqr,a,tau,work,info)
  527. #endif // (_OPENMP >= 202011)
  528. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(cungqr,a,tau,work,info)
  529. void cungqr(const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, MKL_Complex8* a, const MKL_INT* lda,
  530. const MKL_Complex8* tau, MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
  531. #if (_OPENMP >= 202011)
  532. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(zungqr,a,tau,work,info)
  533. #endif // (_OPENMP >= 202011)
  534. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(zungqr,a,tau,work,info)
  535. void zungqr(const MKL_INT* m, const MKL_INT* n, const MKL_INT* k, MKL_Complex16* a, const MKL_INT* lda,
  536. const MKL_Complex16* tau, MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
  537. #if (_OPENMP >= 202011)
  538. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(cunmqr,a,tau,c,work,info)
  539. #endif // (_OPENMP >= 202011)
  540. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(cunmqr,a,tau,c,work,info)
  541. void cunmqr(const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
  542. const MKL_Complex8* a, const MKL_INT* lda, const MKL_Complex8* tau, MKL_Complex8* c, const MKL_INT* ldc,
  543. MKL_Complex8* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
  544. #if (_OPENMP >= 202011)
  545. #pragma omp MKL_LAPACK_DECLARE_VARIANT_51(zunmqr,a,tau,c,work,info)
  546. #endif // (_OPENMP >= 202011)
  547. #pragma omp MKL_LAPACK_DECLARE_VARIANT_50(zunmqr,a,tau,c,work,info)
  548. void zunmqr(const char* side, const char* trans, const MKL_INT* m, const MKL_INT* n, const MKL_INT* k,
  549. const MKL_Complex16* a, const MKL_INT* lda, const MKL_Complex16* tau, MKL_Complex16* c, const MKL_INT* ldc,
  550. MKL_Complex16* work, const MKL_INT* lwork, MKL_INT* info) NOTHROW;
  551. #pragma omp MKL_LAPACK_DECLARE_VARIANT(cgeqrf,a,tau,work,info)
  552. void cgeqrf(const MKL_INT *m, const MKL_INT *n, MKL_Complex8 *a, const MKL_INT *lda, MKL_Complex8 *tau, MKL_Complex8 *work, const MKL_INT *lwork, MKL_INT *info) NOTHROW;
  553. #pragma omp MKL_LAPACK_DECLARE_VARIANT(dgeqrf,a,tau,work,info)
  554. void dgeqrf(const MKL_INT *m, const MKL_INT *n, double *a, const MKL_INT *lda, double *tau, double *work, const MKL_INT *lwork, MKL_INT *info) NOTHROW;
  555. #pragma omp MKL_LAPACK_DECLARE_VARIANT(sgeqrf,a,tau,work,info)
  556. void sgeqrf(const MKL_INT *m, const MKL_INT *n, float *a, const MKL_INT *lda, float *tau, float *work, const MKL_INT *lwork, MKL_INT *info) NOTHROW;
  557. #pragma omp MKL_LAPACK_DECLARE_VARIANT(zgeqrf,a,tau,work,info)
  558. void zgeqrf(const MKL_INT *m, const MKL_INT *n, MKL_Complex16 *a, const MKL_INT *lda, MKL_Complex16 *tau, MKL_Complex16 *work, const MKL_INT *lwork, MKL_INT *info) NOTHROW;
  559. #pragma omp MKL_LAPACK_DECLARE_VARIANT(cgetri_oop_batch_strided,a,ipiv,ainv,info)
  560. void cgetri_oop_batch_strided(const MKL_INT *n, const MKL_Complex8 *a, const MKL_INT *lda, const MKL_INT *stride_a, const MKL_INT *ipiv, const MKL_INT *stride_ipiv, MKL_Complex8 *ainv, const MKL_INT *ldainv, const MKL_INT *stride_ainv, const MKL_INT *batch_size, MKL_INT *info) NOTHROW;
  561. #pragma omp MKL_LAPACK_DECLARE_VARIANT(dgetri_oop_batch_strided,a,ipiv,ainv,info)
  562. void dgetri_oop_batch_strided(const MKL_INT *n, const double *a, const MKL_INT *lda, const MKL_INT *stride_a, const MKL_INT *ipiv, const MKL_INT *stride_ipiv, double *ainv, const MKL_INT *ldainv, const MKL_INT *stride_ainv, const MKL_INT *batch_size, MKL_INT *info) NOTHROW;
  563. #pragma omp MKL_LAPACK_DECLARE_VARIANT(sgetri_oop_batch_strided,a,ipiv,ainv,info)
  564. void sgetri_oop_batch_strided(const MKL_INT *n, const float *a, const MKL_INT *lda, const MKL_INT *stride_a, const MKL_INT *ipiv, const MKL_INT *stride_ipiv, float *ainv, const MKL_INT *ldainv, const MKL_INT *stride_ainv, const MKL_INT *batch_size, MKL_INT *info) NOTHROW;
  565. #pragma omp MKL_LAPACK_DECLARE_VARIANT(zgetri_oop_batch_strided,a,ipiv,ainv,info)
  566. void zgetri_oop_batch_strided(const MKL_INT *n, const MKL_Complex16 *a, const MKL_INT *lda, const MKL_INT *stride_a, const MKL_INT *ipiv, const MKL_INT *stride_ipiv, MKL_Complex16 *ainv, const MKL_INT *ldainv, const MKL_INT *stride_ainv, const MKL_INT *batch_size, MKL_INT *info) NOTHROW;
  567. #pragma omp MKL_LAPACK_DECLARE_VARIANT(cgetri_oop_batch,a,ipiv,ainv,info)
  568. void cgetri_oop_batch(const MKL_INT *n, const MKL_Complex8 **a, const MKL_INT *lda, const MKL_INT **ipiv, MKL_Complex8 **ainv, const MKL_INT *ldainv, const MKL_INT *group_count, const MKL_INT *group_size, MKL_INT *info) NOTHROW;
  569. #pragma omp MKL_LAPACK_DECLARE_VARIANT(dgetri_oop_batch,a,ipiv,ainv,info)
  570. void dgetri_oop_batch(const MKL_INT *n, const double **a, const MKL_INT *lda, const MKL_INT **ipiv, double **ainv, const MKL_INT *ldainv, const MKL_INT *group_count, const MKL_INT *group_size, MKL_INT *info) NOTHROW;
  571. #pragma omp MKL_LAPACK_DECLARE_VARIANT(sgetri_oop_batch,a,ipiv,ainv,info)
  572. void sgetri_oop_batch(const MKL_INT *n, const float **a, const MKL_INT *lda, const MKL_INT **ipiv, float **ainv, const MKL_INT *ldainv, const MKL_INT *group_count, const MKL_INT *group_size, MKL_INT *info) NOTHROW;
  573. #pragma omp MKL_LAPACK_DECLARE_VARIANT(zgetri_oop_batch,a,ipiv,ainv,info)
  574. void zgetri_oop_batch(const MKL_INT *n, const MKL_Complex16 **a, const MKL_INT *lda, const MKL_INT **ipiv, MKL_Complex16 **ainv, const MKL_INT *ldainv, const MKL_INT *group_count, const MKL_INT *group_size, MKL_INT *info) NOTHROW;
  575. #pragma omp MKL_LAPACK_DECLARE_VARIANT(cgetrs_batch_strided,a,ipiv,b,info)
  576. void cgetrs_batch_strided(const char *trans, const MKL_INT *n, const MKL_INT *nrhs, const MKL_Complex8 *a, const MKL_INT *lda, const MKL_INT *stride_a, const MKL_INT *ipiv, const MKL_INT *stride_ipiv, MKL_Complex8 *b, const MKL_INT *ldb, const MKL_INT *stride_b, const MKL_INT *batch_size, MKL_INT *info) NOTHROW;
  577. #pragma omp MKL_LAPACK_DECLARE_VARIANT(dgetrs_batch_strided,a,ipiv,b,info)
  578. void dgetrs_batch_strided(const char *trans, const MKL_INT *n, const MKL_INT *nrhs, const double *a, const MKL_INT *lda, const MKL_INT *stride_a, const MKL_INT *ipiv, const MKL_INT *stride_ipiv, double *b, const MKL_INT *ldb, const MKL_INT *stride_b, const MKL_INT *batch_size, MKL_INT *info) NOTHROW;
  579. #pragma omp MKL_LAPACK_DECLARE_VARIANT(sgetrs_batch_strided,a,ipiv,b,info)
  580. void sgetrs_batch_strided(const char *trans, const MKL_INT *n, const MKL_INT *nrhs, const float *a, const MKL_INT *lda, const MKL_INT *stride_a, const MKL_INT *ipiv, const MKL_INT *stride_ipiv, float *b, const MKL_INT *ldb, const MKL_INT *stride_b, const MKL_INT *batch_size, MKL_INT *info) NOTHROW;
  581. #pragma omp MKL_LAPACK_DECLARE_VARIANT(zgetrs_batch_strided,a,ipiv,b,info)
  582. void zgetrs_batch_strided(const char *trans, const MKL_INT *n, const MKL_INT *nrhs, const MKL_Complex16 *a, const MKL_INT *lda, const MKL_INT *stride_a, const MKL_INT *ipiv, const MKL_INT *stride_ipiv, MKL_Complex16 *b, const MKL_INT *ldb, const MKL_INT *stride_b, const MKL_INT *batch_size, MKL_INT *info) NOTHROW;
  583. #pragma omp MKL_LAPACK_DECLARE_VARIANT(cpotrf,a,info)
  584. void cpotrf(const char *uplo, const MKL_INT *n, MKL_Complex8 *a, const MKL_INT *lda, MKL_INT *info) NOTHROW;
  585. #pragma omp MKL_LAPACK_DECLARE_VARIANT(dpotrf,a,info)
  586. void dpotrf(const char *uplo, const MKL_INT *n, double *a, const MKL_INT *lda, MKL_INT *info) NOTHROW;
  587. #pragma omp MKL_LAPACK_DECLARE_VARIANT(spotrf,a,info)
  588. void spotrf(const char *uplo, const MKL_INT *n, float *a, const MKL_INT *lda, MKL_INT *info) NOTHROW;
  589. #pragma omp MKL_LAPACK_DECLARE_VARIANT(zpotrf,a,info)
  590. void zpotrf(const char *uplo, const MKL_INT *n, MKL_Complex16 *a, const MKL_INT *lda, MKL_INT *info) NOTHROW;
  591. #pragma omp MKL_LAPACK_DECLARE_VARIANT(cpotri,a,info)
  592. void cpotri(const char *uplo, const MKL_INT *n, MKL_Complex8 *a, const MKL_INT *lda, MKL_INT *info) NOTHROW;
  593. #pragma omp MKL_LAPACK_DECLARE_VARIANT(dpotri,a,info)
  594. void dpotri(const char *uplo, const MKL_INT *n, double *a, const MKL_INT *lda, MKL_INT *info) NOTHROW;
  595. #pragma omp MKL_LAPACK_DECLARE_VARIANT(spotri,a,info)
  596. void spotri(const char *uplo, const MKL_INT *n, float *a, const MKL_INT *lda, MKL_INT *info) NOTHROW;
  597. #pragma omp MKL_LAPACK_DECLARE_VARIANT(zpotri,a,info)
  598. void zpotri(const char *uplo, const MKL_INT *n, MKL_Complex16 *a, const MKL_INT *lda, MKL_INT *info) NOTHROW;
  599. #pragma omp MKL_LAPACK_DECLARE_VARIANT(cpotrs,a,b,info)
  600. void cpotrs(const char *uplo, const MKL_INT *n, const MKL_INT *nrhs, const MKL_Complex8 *a, const MKL_INT *lda, MKL_Complex8 *b, const MKL_INT *ldb, MKL_INT *info) NOTHROW;
  601. #pragma omp MKL_LAPACK_DECLARE_VARIANT(dpotrs,a,b,info)
  602. void dpotrs(const char *uplo, const MKL_INT *n, const MKL_INT *nrhs, const double *a, const MKL_INT *lda, double *b, const MKL_INT *ldb, MKL_INT *info) NOTHROW;
  603. #pragma omp MKL_LAPACK_DECLARE_VARIANT(spotrs,a,b,info)
  604. void spotrs(const char *uplo, const MKL_INT *n, const MKL_INT *nrhs, const float *a, const MKL_INT *lda, float *b, const MKL_INT *ldb, MKL_INT *info) NOTHROW;
  605. #pragma omp MKL_LAPACK_DECLARE_VARIANT(zpotrs,a,b,info)
  606. void zpotrs(const char *uplo, const MKL_INT *n, const MKL_INT *nrhs, const MKL_Complex16 *a, const MKL_INT *lda, MKL_Complex16 *b, const MKL_INT *ldb, MKL_INT *info) NOTHROW;
  607. #pragma omp MKL_LAPACK_DECLARE_VARIANT(dgels_batch_strided,a,b,info)
  608. void dgels_batch_strided(const char *trans, const MKL_INT *m, const MKL_INT *n, const MKL_INT *nrhs, double *a, const MKL_INT *lda, const MKL_INT *stride_a, double *b, const MKL_INT *ldb, const MKL_INT *stride_b, const MKL_INT *batch_size, MKL_INT *info) NOTHROW;
  609. #pragma omp MKL_LAPACK_DECLARE_VARIANT(sgels_batch_strided,a,b,info)
  610. void sgels_batch_strided(const char *trans, const MKL_INT *m, const MKL_INT *n, const MKL_INT *nrhs, float *a, const MKL_INT *lda, const MKL_INT *stride_a, float *b, const MKL_INT *ldb, const MKL_INT *stride_b, const MKL_INT *batch_size, MKL_INT *info) NOTHROW;
  611. #pragma omp MKL_LAPACK_DECLARE_VARIANT(zgels_batch_strided,a,b,info)
  612. void zgels_batch_strided(const char *trans, const MKL_INT *m, const MKL_INT *n, const MKL_INT *nrhs, MKL_Complex16 *a, const MKL_INT *lda, const MKL_INT *stride_a, MKL_Complex16 *b, const MKL_INT *ldb, const MKL_INT *stride_b, const MKL_INT *batch_size, MKL_INT *info) NOTHROW;
  613. #pragma omp MKL_LAPACK_DECLARE_VARIANT(cgels_batch_strided,a,b,info)
  614. void cgels_batch_strided(const char *trans, const MKL_INT *m, const MKL_INT *n, const MKL_INT *nrhs, MKL_Complex8 *a, const MKL_INT *lda, const MKL_INT *stride_a, MKL_Complex8 *b, const MKL_INT *ldb, const MKL_INT *stride_b, const MKL_INT *batch_size, MKL_INT *info) NOTHROW;
  615. #ifdef __cplusplus
  616. }
  617. #endif /* __cplusplus */
  618. #endif /* _MKL_LAPACK_OMP_VARIANT_H_ */