mkl_blas_omp_variant.h 154 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270
  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/C++ OpenMP offload
  17. ! interface
  18. !******************************************************************************/
  19. #ifndef _MKL_BLAS_OMP_VARIANT_H_
  20. #define _MKL_BLAS_OMP_VARIANT_H_
  21. #include "mkl_types.h"
  22. #include "mkl_omp_variant.h"
  23. #define MKL_BLAS_VARIANT_NAME(func) MKL_VARIANT_NAME(blas, func)
  24. #define MKL_CBLAS_VARIANT_NAME(func) MKL_VARIANT_NAME(cblas, func)
  25. #ifdef __cplusplus
  26. extern "C" {
  27. #endif /* __cplusplus */
  28. // Matrix transposition and copy API
  29. void MKL_CBLAS_VARIANT_NAME(simatcopy_batch_strided)(const char ordering, const char trans,
  30. size_t rows, size_t cols,
  31. const float alpha,
  32. float * AB, size_t lda, size_t ldb,
  33. size_t stride, size_t batch_size, void *interop_obj) NOTHROW;
  34. void MKL_CBLAS_VARIANT_NAME(dimatcopy_batch_strided)(const char ordering, const char trans,
  35. size_t rows, size_t cols,
  36. const double alpha,
  37. double * AB, size_t lda, size_t ldb,
  38. size_t stride, size_t batch_size, void *interop_obj) NOTHROW;
  39. void MKL_CBLAS_VARIANT_NAME(cimatcopy_batch_strided)(const char ordering, const char trans,
  40. size_t rows, size_t cols,
  41. const MKL_Complex8 alpha,
  42. MKL_Complex8 * AB, size_t lda, size_t ldb,
  43. size_t stride, size_t batch_size, void *interop_obj) NOTHROW;
  44. void MKL_CBLAS_VARIANT_NAME(zimatcopy_batch_strided)(const char ordering, const char trans,
  45. size_t rows, size_t cols,
  46. const MKL_Complex16 alpha,
  47. MKL_Complex16 * AB, size_t lda, size_t ldb,
  48. size_t stride, size_t batch_size, void *interop_obj) NOTHROW;
  49. void MKL_CBLAS_VARIANT_NAME(somatcopy_batch_strided)(char ordering, char trans,
  50. size_t rows, size_t cols,
  51. const float alpha,
  52. const float * A, size_t lda, size_t stridea,
  53. float *B, size_t ldb, size_t strideb,
  54. size_t batch_size, void *interop_obj) NOTHROW;
  55. void MKL_CBLAS_VARIANT_NAME(domatcopy_batch_strided)(char ordering, char trans,
  56. size_t rows, size_t cols,
  57. const double alpha,
  58. const double * A, size_t lda, size_t stridea,
  59. double *B, size_t ldb, size_t strideb,
  60. size_t batch_size, void *interop_obj) NOTHROW;
  61. void MKL_CBLAS_VARIANT_NAME(comatcopy_batch_strided)(char ordering, char trans,
  62. size_t rows, size_t cols,
  63. const MKL_Complex8 alpha,
  64. const MKL_Complex8 * A, size_t lda, size_t stridea,
  65. MKL_Complex8 *B, size_t ldb, size_t strideb,
  66. size_t batch_size, void *interop_obj) NOTHROW;
  67. void MKL_CBLAS_VARIANT_NAME(zomatcopy_batch_strided)(char ordering, char trans,
  68. size_t rows, size_t cols,
  69. const MKL_Complex16 alpha,
  70. const MKL_Complex16 * A, size_t lda, size_t stridea,
  71. MKL_Complex16 *B, size_t ldb, size_t strideb,
  72. size_t batch_size, void *interop_obj) NOTHROW;
  73. void MKL_CBLAS_VARIANT_NAME(simatcopy_batch)(
  74. char ordering, const char * trans_array,
  75. const size_t * rows_array, const size_t * cols_array,
  76. const float * alpha_array, float ** AB_array,
  77. const size_t * lda_array, const size_t * ldb_array,
  78. size_t group_count, const size_t * group_size, void *interop_obj) NOTHROW;
  79. void MKL_CBLAS_VARIANT_NAME(dimatcopy_batch)(
  80. char ordering, const char * trans_array,
  81. const size_t * rows_array, const size_t * cols_array,
  82. const double * alpha_array, double ** AB_array,
  83. const size_t * lda_array, const size_t * ldb_array,
  84. size_t group_count, const size_t * group_size, void *interop_obj) NOTHROW;
  85. void MKL_CBLAS_VARIANT_NAME(cimatcopy_batch)(
  86. char ordering, const char * trans_array,
  87. const size_t * rows_array, const size_t * cols_array,
  88. const MKL_Complex8 * alpha_array, MKL_Complex8 ** AB_array,
  89. const size_t * lda_array, const size_t * ldb_array,
  90. size_t group_count, const size_t * group_size, void *interop_obj) NOTHROW;
  91. void MKL_CBLAS_VARIANT_NAME(zimatcopy_batch)(
  92. char ordering, const char * trans_array,
  93. const size_t * rows_array, const size_t * cols_array,
  94. const MKL_Complex16 * alpha_array, MKL_Complex16 ** AB_array,
  95. const size_t * lda_array, const size_t * ldb_array,
  96. size_t group_count, const size_t * group_size, void *interop_obj) NOTHROW;
  97. void MKL_CBLAS_VARIANT_NAME(somatcopy_batch)(
  98. char ordering, const char * trans_array,
  99. const size_t * rows_array, const size_t * cols_array,
  100. const float * alpha_array, const float ** A_array,
  101. const size_t * lda_array, float ** B,
  102. const size_t * ldb_array, size_t group_count,
  103. const size_t * group_size, void *interop_obj) NOTHROW;
  104. void MKL_CBLAS_VARIANT_NAME(domatcopy_batch)(
  105. char ordering, const char * trans_array,
  106. const size_t * rows_array, const size_t * cols_array,
  107. const double * alpha_array, const double ** A_array,
  108. const size_t * lda_array, double ** B,
  109. const size_t * ldb_array, size_t group_count,
  110. const size_t * group_size, void *interop_obj) NOTHROW;
  111. void MKL_CBLAS_VARIANT_NAME(comatcopy_batch)(
  112. char ordering, const char * trans_array,
  113. const size_t * rows_array, const size_t * cols_array,
  114. const MKL_Complex8 * alpha_array, const MKL_Complex8 ** A_array,
  115. const size_t * lda_array, MKL_Complex8 ** B,
  116. const size_t * ldb_array, size_t group_count,
  117. const size_t * group_size, void *interop_obj) NOTHROW;
  118. void MKL_CBLAS_VARIANT_NAME(zomatcopy_batch)(
  119. char ordering, const char * trans_array,
  120. const size_t * rows_array, const size_t * cols_array,
  121. const MKL_Complex16 * alpha_array, const MKL_Complex16 ** A_array,
  122. const size_t * lda_array, MKL_Complex16 ** B,
  123. const size_t * ldb_array, size_t group_count,
  124. const size_t * group_size, void *interop_obj) NOTHROW;
  125. void MKL_CBLAS_VARIANT_NAME(somatadd_batch_strided)(
  126. char ordering, char transa, char transb,
  127. size_t rows, size_t cols,
  128. const float alpha, const float * A, size_t lda, size_t stridea,
  129. const float beta, const float * B, size_t ldb, size_t strideb,
  130. float * C, size_t ldc, size_t stridec, size_t batch_size, void *interop_obj) NOTHROW;
  131. void MKL_CBLAS_VARIANT_NAME(domatadd_batch_strided)(
  132. char ordering, char transa, char transb,
  133. size_t rows, size_t cols,
  134. const double alpha, const double * A, size_t lda, size_t stridea,
  135. const double beta, const double * B, size_t ldb, size_t strideb,
  136. double * C, size_t ldc, size_t stridec, size_t batch_size, void *interop_obj) NOTHROW;
  137. void MKL_CBLAS_VARIANT_NAME(comatadd_batch_strided)(
  138. char ordering, char transa, char transb,
  139. size_t rows, size_t cols,
  140. const MKL_Complex8 alpha, const MKL_Complex8 * A, size_t lda, size_t stridea,
  141. const MKL_Complex8 beta, const MKL_Complex8 * B, size_t ldb, size_t strideb,
  142. MKL_Complex8 * C, size_t ldc, size_t stridec, size_t batch_size, void *interop_obj) NOTHROW;
  143. void MKL_CBLAS_VARIANT_NAME(zomatadd_batch_strided)(
  144. char ordering, char transa, char transb,
  145. size_t rows, size_t cols,
  146. const MKL_Complex16 alpha, const MKL_Complex16 * A, size_t lda, size_t stridea,
  147. const MKL_Complex16 beta, const MKL_Complex16 * B, size_t ldb, size_t strideb,
  148. MKL_Complex16 * C, size_t ldc, size_t stridec, size_t batch_size, void *interop_obj) NOTHROW;
  149. // BATCH APIs
  150. // Level3
  151. void MKL_CBLAS_VARIANT_NAME(sgemm_batch)(const CBLAS_LAYOUT Layout, const CBLAS_TRANSPOSE *TransA_Array,
  152. const CBLAS_TRANSPOSE *TransB_Array, const MKL_INT *M_Array, const MKL_INT *N_Array,
  153. const MKL_INT *K_Array, const float *alpha_Array, const float **A_Array,
  154. const MKL_INT *lda_Array, const float **B_Array, const MKL_INT *ldb_Array,
  155. const float *beta_Array, float **C_Array, const MKL_INT *ldc_Array,
  156. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  157. void MKL_CBLAS_VARIANT_NAME(dgemm_batch)(const CBLAS_LAYOUT Layout, const CBLAS_TRANSPOSE *TransA_Array,
  158. const CBLAS_TRANSPOSE *TransB_Array, const MKL_INT *M_Array, const MKL_INT *N_Array,
  159. const MKL_INT *K_Array, const double *alpha_Array, const double **A_Array,
  160. const MKL_INT *lda_Array, const double **B_Array, const MKL_INT* ldb_Array,
  161. const double *beta_Array, double **C_Array, const MKL_INT *ldc_Array,
  162. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  163. void MKL_CBLAS_VARIANT_NAME(cgemm_batch)(const CBLAS_LAYOUT Layout, const CBLAS_TRANSPOSE *TransA_Array,
  164. const CBLAS_TRANSPOSE *TransB_Array, const MKL_INT *M_Array, const MKL_INT *N_Array,
  165. const MKL_INT *K_Array, const void *alpha_Array, const void **A_Array,
  166. const MKL_INT *lda_Array, const void **B_Array, const MKL_INT* ldb_Array,
  167. const void *beta_Array, void **C_Array, const MKL_INT *ldc_Array,
  168. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  169. void MKL_CBLAS_VARIANT_NAME(zgemm_batch)(const CBLAS_LAYOUT Layout, const CBLAS_TRANSPOSE *TransA_Array,
  170. const CBLAS_TRANSPOSE *TransB_Array, const MKL_INT *M_Array, const MKL_INT *N_Array,
  171. const MKL_INT *K_Array, const void *alpha_Array, const void **A_Array,
  172. const MKL_INT *lda_Array, const void **B_Array, const MKL_INT* ldb_Array,
  173. const void *beta_Array, void **C_Array, const MKL_INT *ldc_Array,
  174. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  175. void MKL_BLAS_VARIANT_NAME(sgemm_batch)(const char *transa_array, const char *transb_array,
  176. const MKL_INT *m_array, const MKL_INT *n_array, const MKL_INT *k_array,
  177. const float *alpha_array, const float **a_array, const MKL_INT *lda_array,
  178. const float **b_array, const MKL_INT *ldb_array,
  179. const float *beta_array, float **c_array, const MKL_INT *ldc_array,
  180. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  181. void MKL_BLAS_VARIANT_NAME(dgemm_batch)(const char *transa_array, const char *transb_array,
  182. const MKL_INT *m_array, const MKL_INT *n_array, const MKL_INT *k_array,
  183. const double *alpha_array, const double **a_array, const MKL_INT *lda_array,
  184. const double **b_array, const MKL_INT *ldb_array,
  185. const double *beta_array, double **c_array, const MKL_INT *ldc_array,
  186. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  187. void MKL_BLAS_VARIANT_NAME(cgemm_batch)(const char *transa_array, const char *transb_array,
  188. const MKL_INT *m_array, const MKL_INT *n_array, const MKL_INT *k_array,
  189. const MKL_Complex8 *alpha_array, const MKL_Complex8 **a_array, const MKL_INT *lda_array,
  190. const MKL_Complex8 **b_array, const MKL_INT *ldb_array,
  191. const MKL_Complex8 *beta_array, MKL_Complex8 **c_array, const MKL_INT *ldc_array,
  192. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  193. void MKL_BLAS_VARIANT_NAME(zgemm_batch)(const char *transa_array, const char *transb_array,
  194. const MKL_INT *m_array, const MKL_INT *n_array, const MKL_INT *k_array,
  195. const MKL_Complex16 *alpha_array, const MKL_Complex16 **a_array, const MKL_INT *lda_array,
  196. const MKL_Complex16 **b_array, const MKL_INT *ldb_array,
  197. const MKL_Complex16 *beta_array, MKL_Complex16 **c_array, const MKL_INT *ldc_array,
  198. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  199. void MKL_CBLAS_VARIANT_NAME(sgemm_batch_strided)(const CBLAS_LAYOUT Layout, const CBLAS_TRANSPOSE TransA,
  200. const CBLAS_TRANSPOSE TransB, const MKL_INT M, const MKL_INT N,
  201. const MKL_INT K, const float alpha, const float *A,
  202. const MKL_INT lda, const MKL_INT stridea,
  203. const float *B, const MKL_INT ldb, const MKL_INT strideb,
  204. const float beta, float *C, const MKL_INT ldc, const MKL_INT stridec,
  205. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  206. void MKL_CBLAS_VARIANT_NAME(dgemm_batch_strided)(const CBLAS_LAYOUT Layout, const CBLAS_TRANSPOSE TransA,
  207. const CBLAS_TRANSPOSE TransB, const MKL_INT M, const MKL_INT N,
  208. const MKL_INT K, const double alpha, const double *A,
  209. const MKL_INT lda, const MKL_INT stridea,
  210. const double *B, const MKL_INT ldb, const MKL_INT strideb,
  211. const double beta, double *C, const MKL_INT ldc, const MKL_INT stridec,
  212. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  213. void MKL_CBLAS_VARIANT_NAME(cgemm_batch_strided)(const CBLAS_LAYOUT Layout, const CBLAS_TRANSPOSE TransA,
  214. const CBLAS_TRANSPOSE TransB, const MKL_INT M, const MKL_INT N,
  215. const MKL_INT K, const void *alpha, const void *A,
  216. const MKL_INT lda, const MKL_INT stridea,
  217. const void *B, const MKL_INT ldb, const MKL_INT strideb,
  218. const void *beta, void *C, const MKL_INT ldc, const MKL_INT stridec,
  219. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  220. void MKL_CBLAS_VARIANT_NAME(zgemm_batch_strided)(const CBLAS_LAYOUT Layout, const CBLAS_TRANSPOSE TransA,
  221. const CBLAS_TRANSPOSE TransB, const MKL_INT M, const MKL_INT N,
  222. const MKL_INT K, const void *alpha, const void *A,
  223. const MKL_INT lda, const MKL_INT stridea,
  224. const void *B, const MKL_INT ldb, const MKL_INT strideb,
  225. const void *beta, void *C, const MKL_INT ldc, const MKL_INT stridec,
  226. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  227. void MKL_BLAS_VARIANT_NAME(sgemm_batch_strided)(const char *transa, const char *transb, const MKL_INT *m, const MKL_INT *n, const MKL_INT *k,
  228. const float *alpha, const float *a, const MKL_INT *lda, const MKL_INT *stridea,
  229. const float *b, const MKL_INT *ldb, const MKL_INT *strideb,
  230. const float *beta, float *c, const MKL_INT *ldc, const MKL_INT *stridec,
  231. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  232. void MKL_BLAS_VARIANT_NAME(dgemm_batch_strided)(const char *transa, const char *transb, const MKL_INT *m, const MKL_INT *n, const MKL_INT *k,
  233. const double *alpha, const double *a, const MKL_INT *lda, const MKL_INT *stridea,
  234. const double *b, const MKL_INT *ldb, const MKL_INT *strideb,
  235. const double *beta, double *c, const MKL_INT *ldc, const MKL_INT *stridec,
  236. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  237. void MKL_BLAS_VARIANT_NAME(cgemm_batch_strided)(const char *transa, const char *transb, const MKL_INT *m, const MKL_INT *n, const MKL_INT *k,
  238. const MKL_Complex8 *alpha, const MKL_Complex8 *a, const MKL_INT *lda, const MKL_INT *stridea,
  239. const MKL_Complex8 *b, const MKL_INT *ldb, const MKL_INT *strideb,
  240. const MKL_Complex8 *beta, MKL_Complex8 *c, const MKL_INT *ldc, const MKL_INT *stridec,
  241. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  242. void MKL_BLAS_VARIANT_NAME(zgemm_batch_strided)(const char *transa, const char *transb, const MKL_INT *m, const MKL_INT *n, const MKL_INT *k,
  243. const MKL_Complex16 *alpha, const MKL_Complex16 *a, const MKL_INT *lda, const MKL_INT *stridea,
  244. const MKL_Complex16 *b, const MKL_INT *ldb, const MKL_INT *strideb,
  245. const MKL_Complex16 *beta, MKL_Complex16 *c, const MKL_INT *ldc, const MKL_INT *stridec,
  246. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  247. void MKL_CBLAS_VARIANT_NAME(ssyrk_batch)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO *Uplo_Array, const CBLAS_TRANSPOSE *Trans_Array,
  248. const MKL_INT *N_Array, const MKL_INT *K_Array,
  249. const float *alpha_Array, const float **A_Array, const MKL_INT *lda_Array,
  250. const float *beta_Array, float **C_Array, const MKL_INT *ldc_Array,
  251. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  252. void MKL_CBLAS_VARIANT_NAME(dsyrk_batch)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO *Uplo_Array, const CBLAS_TRANSPOSE *Trans_Array,
  253. const MKL_INT *N_Array, const MKL_INT *K_Array,
  254. const double *alpha_Array, const double **A_Array, const MKL_INT *lda_Array,
  255. const double *beta_Array, double **C_Array, const MKL_INT *ldc_Array,
  256. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  257. void MKL_CBLAS_VARIANT_NAME(csyrk_batch)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO *Uplo_Array, const CBLAS_TRANSPOSE *Trans_Array,
  258. const MKL_INT *N_Array, const MKL_INT *K_Array,
  259. const void *alpha_Array, const void **A_Array, const MKL_INT *lda_Array,
  260. const void *beta_Array, void **C_Array, const MKL_INT *ldc_Array,
  261. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  262. void MKL_CBLAS_VARIANT_NAME(zsyrk_batch)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO *Uplo_Array, const CBLAS_TRANSPOSE *Trans_Array,
  263. const MKL_INT *N_Array, const MKL_INT *K_Array,
  264. const void *alpha_Array, const void **A_Array, const MKL_INT *lda_Array,
  265. const void *beta_Array, void **C_Array, const MKL_INT *ldc_Array,
  266. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  267. void MKL_CBLAS_VARIANT_NAME(ssyrk_batch_strided)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  268. const CBLAS_TRANSPOSE Trans, const MKL_INT N,
  269. const MKL_INT K, const float alpha, const float *A,
  270. const MKL_INT lda, const MKL_INT stridea,
  271. const float beta, float *C, const MKL_INT ldc, const MKL_INT stridec,
  272. const MKL_INT batch_strided_size, void *interop_obj) NOTHROW;
  273. void MKL_CBLAS_VARIANT_NAME(dsyrk_batch_strided)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  274. const CBLAS_TRANSPOSE Trans, const MKL_INT N,
  275. const MKL_INT K, const double alpha, const double *A,
  276. const MKL_INT lda, const MKL_INT stridea,
  277. const double beta, double *C, const MKL_INT ldc, const MKL_INT stridec,
  278. const MKL_INT batch_strided_size, void *interop_obj) NOTHROW;
  279. void MKL_CBLAS_VARIANT_NAME(csyrk_batch_strided)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  280. const CBLAS_TRANSPOSE Trans, const MKL_INT N,
  281. const MKL_INT K, const void *alpha, const void *A,
  282. const MKL_INT lda, const MKL_INT stridea,
  283. const void *beta, void *C, const MKL_INT ldc, const MKL_INT stridec,
  284. const MKL_INT batch_strided_size, void *interop_obj) NOTHROW;
  285. void MKL_CBLAS_VARIANT_NAME(zsyrk_batch_strided)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  286. const CBLAS_TRANSPOSE Trans, const MKL_INT N,
  287. const MKL_INT K, const void *alpha, const void *A,
  288. const MKL_INT lda, const MKL_INT stridea,
  289. const void *beta, void *C, const MKL_INT ldc, const MKL_INT stridec,
  290. const MKL_INT batch_strided_size, void *interop_obj) NOTHROW;
  291. void MKL_BLAS_VARIANT_NAME(ssyrk_batch)(const char *uplo_array, const char *trans_array,
  292. const MKL_INT *n_array, const MKL_INT *k_array,
  293. const float *alpha_array, const float **a_array, const MKL_INT *lda_array,
  294. const float *beta_array, float **c_array, const MKL_INT *ldc_array,
  295. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  296. void MKL_BLAS_VARIANT_NAME(dsyrk_batch)(const char *uplo_array, const char *trans_array,
  297. const MKL_INT *n_array, const MKL_INT *k_array,
  298. const double *alpha_array, const double **a_array, const MKL_INT *lda_array,
  299. const double *beta_array, double **c_array, const MKL_INT *ldc_array,
  300. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  301. void MKL_BLAS_VARIANT_NAME(csyrk_batch)(const char *uplo_array, const char *trans_array,
  302. const MKL_INT *n_array, const MKL_INT *k_array,
  303. const MKL_Complex8 *alpha_array, const MKL_Complex8 **a_array, const MKL_INT *lda_array,
  304. const MKL_Complex8 *beta_array, MKL_Complex8 **c_array, const MKL_INT *ldc_array,
  305. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  306. void MKL_BLAS_VARIANT_NAME(zsyrk_batch)(const char *uplo_array, const char *trans_array,
  307. const MKL_INT *n_array, const MKL_INT *k_array,
  308. const MKL_Complex16 *alpha_array, const MKL_Complex16 **a_array, const MKL_INT *lda_array,
  309. const MKL_Complex16 *beta_array, MKL_Complex16 **c_array, const MKL_INT *ldc_array,
  310. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  311. void MKL_BLAS_VARIANT_NAME(ssyrk_batch_strided)(const char *Uplo,
  312. const char *Trans, const MKL_INT *N,
  313. const MKL_INT *K, const float *alpha, const float *A,
  314. const MKL_INT *lda, const MKL_INT *stridea,
  315. const float *beta, float *C, const MKL_INT *ldc, const MKL_INT *stridec,
  316. const MKL_INT *batch_strided_size, void *interop_obj) NOTHROW;
  317. void MKL_BLAS_VARIANT_NAME(dsyrk_batch_strided)(const char *Uplo,
  318. const char *Trans, const MKL_INT *N,
  319. const MKL_INT *K, const double *alpha, const double *A,
  320. const MKL_INT *lda, const MKL_INT *stridea,
  321. const double *beta, double *C, const MKL_INT *ldc, const MKL_INT *stridec,
  322. const MKL_INT *batch_strided_size, void *interop_obj) NOTHROW;
  323. void MKL_BLAS_VARIANT_NAME(csyrk_batch_strided)(const char *Uplo,
  324. const char *Trans, const MKL_INT *N,
  325. const MKL_INT *K, const MKL_Complex8 *alpha, const MKL_Complex8 *A,
  326. const MKL_INT *lda, const MKL_INT *stridea,
  327. const MKL_Complex8 *beta, MKL_Complex8 *C, const MKL_INT *ldc, const MKL_INT *stridec,
  328. const MKL_INT *batch_strided_size, void *interop_obj) NOTHROW;
  329. void MKL_BLAS_VARIANT_NAME(zsyrk_batch_strided)(const char *Uplo,
  330. const char *Trans, const MKL_INT *N,
  331. const MKL_INT *K, const MKL_Complex16 *alpha, const MKL_Complex16 *A,
  332. const MKL_INT *lda, const MKL_INT *stridea,
  333. const MKL_Complex16 *beta, MKL_Complex16 *C, const MKL_INT *ldc, const MKL_INT *stridec,
  334. const MKL_INT *batch_strided_size, void *interop_obj) NOTHROW;
  335. void MKL_CBLAS_VARIANT_NAME(strsm_batch)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE *Side_Array,
  336. const CBLAS_UPLO *Uplo_Array, const CBLAS_TRANSPOSE *TransA_Array,
  337. const CBLAS_DIAG *Diag_Array, const MKL_INT *M_Array,
  338. const MKL_INT *N_Array, const float *alpha_Array,
  339. const float **A_Array, const MKL_INT *lda_Array,
  340. float **B_Array, const MKL_INT *ldb_Array,
  341. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  342. void MKL_CBLAS_VARIANT_NAME(dtrsm_batch)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE *Side_Array,
  343. const CBLAS_UPLO *Uplo_Array, const CBLAS_TRANSPOSE *Transa_Array,
  344. const CBLAS_DIAG *Diag_Array, const MKL_INT *M_Array,
  345. const MKL_INT *N_Array, const double *alpha_Array,
  346. const double **A_Array, const MKL_INT *lda_Array,
  347. double **B_Array, const MKL_INT *ldb_Array,
  348. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  349. void MKL_CBLAS_VARIANT_NAME(ctrsm_batch)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE *Side_Array,
  350. const CBLAS_UPLO *Uplo_Array, const CBLAS_TRANSPOSE *Transa_Array,
  351. const CBLAS_DIAG *Diag_Array, const MKL_INT *M_Array,
  352. const MKL_INT *N_Array, const void *alpha_Array,
  353. const void **A_Array, const MKL_INT *lda_Array,
  354. void **B_Array, const MKL_INT *ldb_Array,
  355. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  356. void MKL_CBLAS_VARIANT_NAME(ztrsm_batch)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE *Side_Array,
  357. const CBLAS_UPLO *Uplo_Array, const CBLAS_TRANSPOSE *Transa_Array,
  358. const CBLAS_DIAG *Diag_Array, const MKL_INT *M_Array,
  359. const MKL_INT *N_Array, const void *alpha_Array,
  360. const void **A_Array, const MKL_INT *lda_Array,
  361. void **B_Array, const MKL_INT *ldb_Array,
  362. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  363. void MKL_BLAS_VARIANT_NAME(strsm_batch)(const char *side_array, const char *uplo_array, const char *transa_array, const char *diag_array,
  364. const MKL_INT *m_array, const MKL_INT *n_array, const float *alpha_array, const float **a_array,
  365. const MKL_INT *lda_array, float **b_array, const MKL_INT *ldb, const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  366. void MKL_BLAS_VARIANT_NAME(dtrsm_batch)(const char *side_array, const char *uplo_array, const char *transa_array, const char *diag_array,
  367. const MKL_INT *m_array, const MKL_INT *n_array, const double *alpha_array, const double **a_array,
  368. const MKL_INT *lda_array, double **b_array, const MKL_INT *ldb, const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  369. void MKL_BLAS_VARIANT_NAME(ctrsm_batch)(const char *side_array, const char *uplo_array, const char *transa_array, const char *diag_array,
  370. const MKL_INT *m_array, const MKL_INT *n_array, const MKL_Complex8 *alpha_array, const MKL_Complex8 **a_array,
  371. const MKL_INT *lda_array, MKL_Complex8 **b_array, const MKL_INT *ldb, const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  372. void MKL_BLAS_VARIANT_NAME(ztrsm_batch)(const char *side_array, const char *uplo_array, const char *transa_array, const char *diag_array,
  373. const MKL_INT *m_array, const MKL_INT *n_array, const MKL_Complex16 *alpha_array, const MKL_Complex16 **a_array,
  374. const MKL_INT *lda_array, MKL_Complex16 **b_array, const MKL_INT *ldb, const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  375. void MKL_CBLAS_VARIANT_NAME(strsm_batch_strided)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE Side,
  376. const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA,
  377. const CBLAS_DIAG Diag, const MKL_INT M,
  378. const MKL_INT N, const float alpha,
  379. const float *A, const MKL_INT lda, const MKL_INT stridea,
  380. float *B, const MKL_INT ldb, const MKL_INT strideb,
  381. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  382. void MKL_CBLAS_VARIANT_NAME(dtrsm_batch_strided)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE Side,
  383. const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA,
  384. const CBLAS_DIAG Diag, const MKL_INT M,
  385. const MKL_INT N, const double alpha,
  386. const double *A, const MKL_INT lda, const MKL_INT stridea,
  387. double *B, const MKL_INT ldb, const MKL_INT strideb,
  388. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  389. void MKL_CBLAS_VARIANT_NAME(ctrsm_batch_strided)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE Side,
  390. const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA,
  391. const CBLAS_DIAG Diag, const MKL_INT M,
  392. const MKL_INT N, const void *alpha,
  393. const void *A, const MKL_INT lda, const MKL_INT stridea,
  394. void *B, const MKL_INT ldb, const MKL_INT strideb,
  395. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  396. void MKL_CBLAS_VARIANT_NAME(ztrsm_batch_strided)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE Side,
  397. const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA,
  398. const CBLAS_DIAG Diag, const MKL_INT M,
  399. const MKL_INT N, const void *alpha,
  400. const void *A, const MKL_INT lda, const MKL_INT stridea,
  401. void *B, const MKL_INT ldb, const MKL_INT strideb,
  402. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  403. void MKL_BLAS_VARIANT_NAME(strsm_batch_strided)(const char *side, const char *uplo, const char *transa, const char *diag,
  404. const MKL_INT *m, const MKL_INT *n, const float *alpha, const float *a,
  405. const MKL_INT *lda, const MKL_INT *stridea, float *b, const MKL_INT *ldb, const MKL_INT *strideb, const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  406. void MKL_BLAS_VARIANT_NAME(dtrsm_batch_strided)(const char *side, const char *uplo, const char *transa, const char *diag,
  407. const MKL_INT *m, const MKL_INT *n, const double *alpha, const double *a,
  408. const MKL_INT *lda, const MKL_INT *stridea, double *b, const MKL_INT *ldb, const MKL_INT *strideb, const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  409. void MKL_BLAS_VARIANT_NAME(ctrsm_batch_strided)(const char *side, const char *uplo, const char *transa, const char *diag,
  410. const MKL_INT *m, const MKL_INT *n, const MKL_Complex8 *alpha, const MKL_Complex8 *a,
  411. const MKL_INT *lda, const MKL_INT *stridea, MKL_Complex8 *b, const MKL_INT *ldb, const MKL_INT *strideb, const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  412. void MKL_BLAS_VARIANT_NAME(ztrsm_batch_strided)(const char *side, const char *uplo, const char *transa, const char *diag,
  413. const MKL_INT *m, const MKL_INT *n, const MKL_Complex16 *alpha, const MKL_Complex16 *a,
  414. const MKL_INT *lda, const MKL_INT *stridea, MKL_Complex16 *b, const MKL_INT *ldb, const MKL_INT *strideb, const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  415. // Level2
  416. void MKL_BLAS_VARIANT_NAME(sgemv_batch)(const char *trans, const MKL_INT *m, const MKL_INT *n, const float *alpha,
  417. const float **a, const MKL_INT *lda, const float **x, const MKL_INT *incx,
  418. const float *beta, float **y, const MKL_INT *incy,
  419. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  420. void MKL_BLAS_VARIANT_NAME(sgemv_batch_strided)(const char *trans, const MKL_INT *m, const MKL_INT *n, const float *alpha,
  421. const float *a, const MKL_INT *lda, const MKL_INT *stridea,
  422. const float *x, const MKL_INT *incx, const MKL_INT *stridex,
  423. const float *beta, float *y, const MKL_INT *incy, const MKL_INT *stridey,
  424. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  425. void MKL_BLAS_VARIANT_NAME(dgemv_batch)(const char *trans, const MKL_INT *m, const MKL_INT *n, const double *alpha,
  426. const double **a, const MKL_INT *lda, const double **x, const MKL_INT *incx,
  427. const double *beta, double **y, const MKL_INT *incy,
  428. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  429. void MKL_BLAS_VARIANT_NAME(dgemv_batch_strided)(const char *trans, const MKL_INT *m, const MKL_INT *n, const double *alpha,
  430. const double *a, const MKL_INT *lda, const MKL_INT *stridea,
  431. const double *x, const MKL_INT *incx, const MKL_INT *stridex,
  432. const double *beta, double *y, const MKL_INT *incy, const MKL_INT *stridey,
  433. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  434. void MKL_BLAS_VARIANT_NAME(cgemv_batch)(const char *trans, const MKL_INT *m, const MKL_INT *n, const MKL_Complex8 *alpha,
  435. const MKL_Complex8 **a, const MKL_INT *lda, const MKL_Complex8 **x, const MKL_INT *incx,
  436. const MKL_Complex8 *beta, MKL_Complex8 **y, const MKL_INT *incy,
  437. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  438. void MKL_BLAS_VARIANT_NAME(cgemv_batch_strided)(const char *trans, const MKL_INT *m, const MKL_INT *n, const MKL_Complex8 *alpha,
  439. const MKL_Complex8 *a, const MKL_INT *lda, const MKL_INT *stridea,
  440. const MKL_Complex8 *x, const MKL_INT *incx, const MKL_INT *stridex,
  441. const MKL_Complex8 *beta, MKL_Complex8 *y, const MKL_INT *incy, const MKL_INT *stridey,
  442. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  443. void MKL_BLAS_VARIANT_NAME(zgemv_batch)(const char *trans, const MKL_INT *m, const MKL_INT *n, const MKL_Complex16 *alpha,
  444. const MKL_Complex16 **a, const MKL_INT *lda, const MKL_Complex16 **x, const MKL_INT *incx,
  445. const MKL_Complex16 *beta, MKL_Complex16 **y, const MKL_INT *incy,
  446. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  447. void MKL_BLAS_VARIANT_NAME(zgemv_batch_strided)(const char *trans, const MKL_INT *m, const MKL_INT *n, const MKL_Complex16 *alpha,
  448. const MKL_Complex16 *a, const MKL_INT *lda, const MKL_INT *stridea,
  449. const MKL_Complex16 *x, const MKL_INT *incx, const MKL_INT *stridex,
  450. const MKL_Complex16 *beta, MKL_Complex16 *y, const MKL_INT *incy, const MKL_INT *stridey,
  451. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  452. void MKL_CBLAS_VARIANT_NAME(sgemv_batch)(const CBLAS_LAYOUT Layout,
  453. const CBLAS_TRANSPOSE *TransA, const MKL_INT *M, const MKL_INT *N,
  454. const float *alpha, const float **A, const MKL_INT *lda,
  455. const float **X, const MKL_INT *incX, const float *beta,
  456. float **Y, const MKL_INT *incY,
  457. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  458. void MKL_CBLAS_VARIANT_NAME(sgemv_batch_strided)(const CBLAS_LAYOUT Layout,
  459. const CBLAS_TRANSPOSE TransA, const MKL_INT M, const MKL_INT N,
  460. const float alpha, const float *A, const MKL_INT lda, const MKL_INT stridea,
  461. const float *X, const MKL_INT incX, const MKL_INT stridex, const float beta,
  462. float *Y, const MKL_INT incY, const MKL_INT stridey,
  463. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  464. void MKL_CBLAS_VARIANT_NAME(dgemv_batch)(const CBLAS_LAYOUT Layout,
  465. const CBLAS_TRANSPOSE *TransA, const MKL_INT *M, const MKL_INT *N,
  466. const double *alpha, const double **A, const MKL_INT *lda,
  467. const double **X, const MKL_INT *incX, const double *beta,
  468. double **Y, const MKL_INT *incY,
  469. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  470. void MKL_CBLAS_VARIANT_NAME(dgemv_batch_strided)(const CBLAS_LAYOUT Layout,
  471. const CBLAS_TRANSPOSE TransA, const MKL_INT M, const MKL_INT N,
  472. const double alpha, const double *A, const MKL_INT lda, const MKL_INT stridea,
  473. const double *X, const MKL_INT incX, const MKL_INT stridex, const double beta,
  474. double *Y, const MKL_INT incY, const MKL_INT stridey,
  475. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  476. void MKL_CBLAS_VARIANT_NAME(cgemv_batch)(const CBLAS_LAYOUT Layout,
  477. const CBLAS_TRANSPOSE *TransA, const MKL_INT *M, const MKL_INT *N,
  478. const void *alpha, const void **A, const MKL_INT *lda,
  479. const void **X, const MKL_INT *incX, const void *beta,
  480. void **Y, const MKL_INT *incY,
  481. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  482. void MKL_CBLAS_VARIANT_NAME(cgemv_batch_strided)(const CBLAS_LAYOUT Layout,
  483. const CBLAS_TRANSPOSE TransA, const MKL_INT M, const MKL_INT N,
  484. const void *alpha, const void *A, const MKL_INT lda, const MKL_INT stridea,
  485. const void *X, const MKL_INT incX, const MKL_INT stridex, const void *beta,
  486. void *Y, const MKL_INT incY, const MKL_INT stridey,
  487. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  488. void MKL_CBLAS_VARIANT_NAME(zgemv_batch)(const CBLAS_LAYOUT Layout,
  489. const CBLAS_TRANSPOSE *TransA, const MKL_INT *M, const MKL_INT *N,
  490. const void *alpha, const void **A, const MKL_INT *lda,
  491. const void **X, const MKL_INT *incX, const void *beta,
  492. void **Y, const MKL_INT *incY,
  493. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  494. void MKL_CBLAS_VARIANT_NAME(zgemv_batch_strided)(const CBLAS_LAYOUT Layout,
  495. const CBLAS_TRANSPOSE TransA, const MKL_INT M, const MKL_INT N,
  496. const void *alpha, const void *A, const MKL_INT lda, const MKL_INT stridea,
  497. const void *X, const MKL_INT incX, const MKL_INT stridex, const void *beta,
  498. void *Y, const MKL_INT incY, const MKL_INT stridey,
  499. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  500. void MKL_BLAS_VARIANT_NAME(sdgmm_batch)(const char *side, const MKL_INT *m, const MKL_INT *n,
  501. const float **a, const MKL_INT *lda,
  502. const float **x, const MKL_INT *incx,
  503. float **c, const MKL_INT *ldc,
  504. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  505. void MKL_BLAS_VARIANT_NAME(sdgmm_batch_strided)(const char *side, const MKL_INT *m, const MKL_INT *n,
  506. const float *a, const MKL_INT *lda, const MKL_INT *stridea,
  507. const float *x, const MKL_INT *incx, const MKL_INT *stridex,
  508. float *c, const MKL_INT *ldc, const MKL_INT *stridec,
  509. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  510. void MKL_BLAS_VARIANT_NAME(ddgmm_batch)(const char *side, const MKL_INT *m, const MKL_INT *n,
  511. const double **a, const MKL_INT *lda,
  512. const double **x, const MKL_INT *incx,
  513. double **c, const MKL_INT *ldc,
  514. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  515. void MKL_BLAS_VARIANT_NAME(ddgmm_batch_strided)(const char *side, const MKL_INT *m, const MKL_INT *n,
  516. const double *a, const MKL_INT *lda, const MKL_INT *stridea,
  517. const double *x, const MKL_INT *incx, const MKL_INT *stridex,
  518. double *c, const MKL_INT *ldc, const MKL_INT *stridec,
  519. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  520. void MKL_BLAS_VARIANT_NAME(cdgmm_batch)(const char *side, const MKL_INT *m, const MKL_INT *n,
  521. const MKL_Complex8 **a, const MKL_INT *lda,
  522. const MKL_Complex8 **x, const MKL_INT *incx,
  523. MKL_Complex8 **c, const MKL_INT *ldc,
  524. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  525. void MKL_BLAS_VARIANT_NAME(cdgmm_batch_strided)(const char *side, const MKL_INT *m, const MKL_INT *n,
  526. const MKL_Complex8 *a, const MKL_INT *lda, const MKL_INT *stridea,
  527. const MKL_Complex8 *x, const MKL_INT *incx, const MKL_INT *stridex,
  528. MKL_Complex8 *c, const MKL_INT *ldc, const MKL_INT *stridec,
  529. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  530. void MKL_BLAS_VARIANT_NAME(zdgmm_batch)(const char *side, const MKL_INT *m, const MKL_INT *n,
  531. const MKL_Complex16 **a, const MKL_INT *lda,
  532. const MKL_Complex16 **x, const MKL_INT *incx,
  533. MKL_Complex16 **c, const MKL_INT *ldc,
  534. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  535. void MKL_BLAS_VARIANT_NAME(zdgmm_batch_strided)(const char *side, const MKL_INT *m, const MKL_INT *n,
  536. const MKL_Complex16 *a, const MKL_INT *lda, const MKL_INT *stridea,
  537. const MKL_Complex16 *x, const MKL_INT *incx, const MKL_INT *stridex,
  538. MKL_Complex16 *c, const MKL_INT *ldc, const MKL_INT *stridec,
  539. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  540. void MKL_CBLAS_VARIANT_NAME(sdgmm_batch)(const CBLAS_LAYOUT layout,
  541. const CBLAS_SIDE *side, const MKL_INT *m, const MKL_INT *n,
  542. const float **a, const MKL_INT *lda,
  543. const float **x, const MKL_INT *incx,
  544. float **c, const MKL_INT *ldc,
  545. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  546. void MKL_CBLAS_VARIANT_NAME(sdgmm_batch_strided)(const CBLAS_LAYOUT layout,
  547. const CBLAS_SIDE side, const MKL_INT m, const MKL_INT n,
  548. const float *a, const MKL_INT lda, const MKL_INT stridea,
  549. const float *x, const MKL_INT incx, const MKL_INT stridex,
  550. float *c, const MKL_INT ldc, const MKL_INT stridec,
  551. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  552. void MKL_CBLAS_VARIANT_NAME(ddgmm_batch)(const CBLAS_LAYOUT layout,
  553. const CBLAS_SIDE *side, const MKL_INT *m, const MKL_INT *n,
  554. const double **a, const MKL_INT *lda,
  555. const double **x, const MKL_INT *incx,
  556. double **c, const MKL_INT *ldc,
  557. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  558. void MKL_CBLAS_VARIANT_NAME(ddgmm_batch_strided)(const CBLAS_LAYOUT layout,
  559. const CBLAS_SIDE side, const MKL_INT m, const MKL_INT n,
  560. const double *a, const MKL_INT lda, const MKL_INT stridea,
  561. const double *x, const MKL_INT incx, const MKL_INT stridex,
  562. double *c, const MKL_INT ldc, const MKL_INT stridec,
  563. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  564. void MKL_CBLAS_VARIANT_NAME(cdgmm_batch)(const CBLAS_LAYOUT layout,
  565. const CBLAS_SIDE *side, const MKL_INT *m, const MKL_INT *n,
  566. const void **a, const MKL_INT *lda,
  567. const void **x, const MKL_INT *incx,
  568. void **c, const MKL_INT *ldc,
  569. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  570. void MKL_CBLAS_VARIANT_NAME(cdgmm_batch_strided)(const CBLAS_LAYOUT layout,
  571. const CBLAS_SIDE side, const MKL_INT m, const MKL_INT n,
  572. const void *a, const MKL_INT lda, const MKL_INT stridea,
  573. const void *x, const MKL_INT incx, const MKL_INT stridex,
  574. void *c, const MKL_INT ldc, const MKL_INT stridec,
  575. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  576. void MKL_CBLAS_VARIANT_NAME(zdgmm_batch)(const CBLAS_LAYOUT layout,
  577. const CBLAS_SIDE *side, const MKL_INT *m, const MKL_INT *n,
  578. const void **a, const MKL_INT *lda,
  579. const void **x, const MKL_INT *incx,
  580. void **c, const MKL_INT *ldc,
  581. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  582. void MKL_CBLAS_VARIANT_NAME(zdgmm_batch_strided)(const CBLAS_LAYOUT layout,
  583. const CBLAS_SIDE side, const MKL_INT m, const MKL_INT n,
  584. const void *a, const MKL_INT lda, const MKL_INT stridea,
  585. const void *x, const MKL_INT incx, const MKL_INT stridex,
  586. void *c, const MKL_INT ldc, const MKL_INT stridec,
  587. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  588. // Level1
  589. void MKL_CBLAS_VARIANT_NAME(saxpy_batch)(const MKL_INT *n, const float *alpha,
  590. const float **x, const MKL_INT *incx,
  591. float **y, const MKL_INT *incy,
  592. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  593. void MKL_CBLAS_VARIANT_NAME(daxpy_batch)(const MKL_INT *n, const double *alpha,
  594. const double **x, const MKL_INT *incx,
  595. double **y, const MKL_INT *incy,
  596. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  597. void MKL_CBLAS_VARIANT_NAME(caxpy_batch)(const MKL_INT *n, const void *alpha,
  598. const void **x, const MKL_INT *incx,
  599. void **y, const MKL_INT *incy,
  600. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  601. void MKL_CBLAS_VARIANT_NAME(zaxpy_batch)(const MKL_INT *n, const void *alpha,
  602. const void **x, const MKL_INT *incx,
  603. void **y, const MKL_INT *incy,
  604. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  605. void MKL_BLAS_VARIANT_NAME(saxpy_batch)(const MKL_INT *n, const float *alpha,
  606. const float **x, const MKL_INT *incx,
  607. float **y, const MKL_INT *incy,
  608. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  609. void MKL_BLAS_VARIANT_NAME(daxpy_batch)(const MKL_INT *n, const double *alpha,
  610. const double **x, const MKL_INT *incx,
  611. double **y, const MKL_INT *incy,
  612. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  613. void MKL_BLAS_VARIANT_NAME(caxpy_batch)(const MKL_INT *n, const MKL_Complex8 *alpha,
  614. const MKL_Complex8 **x, const MKL_INT *incx,
  615. MKL_Complex8 **y, const MKL_INT *incy,
  616. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  617. void MKL_BLAS_VARIANT_NAME(zaxpy_batch)(const MKL_INT *n, const MKL_Complex16 *alpha,
  618. const MKL_Complex16 **x, const MKL_INT *incx,
  619. MKL_Complex16 **y, const MKL_INT *incy,
  620. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  621. void MKL_CBLAS_VARIANT_NAME(saxpy_batch_strided)(const MKL_INT N, const float alpha,
  622. const float *X, const MKL_INT incX, const MKL_INT stridex,
  623. float *Y, const MKL_INT incY, const MKL_INT stridey,
  624. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  625. void MKL_CBLAS_VARIANT_NAME(daxpy_batch_strided)(const MKL_INT N, const double alpha,
  626. const double *X, const MKL_INT incX, const MKL_INT stridex,
  627. double *Y, const MKL_INT incY, const MKL_INT stridey,
  628. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  629. void MKL_CBLAS_VARIANT_NAME(caxpy_batch_strided)(const MKL_INT N, const void *alpha,
  630. const void *X, const MKL_INT incX, const MKL_INT stridex,
  631. void *Y, const MKL_INT incY, const MKL_INT stridey,
  632. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  633. void MKL_CBLAS_VARIANT_NAME(zaxpy_batch_strided)(const MKL_INT N, const void *alpha,
  634. const void *X, const MKL_INT incX, const MKL_INT stridex,
  635. void *Y, const MKL_INT incY, const MKL_INT stridey,
  636. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  637. void MKL_BLAS_VARIANT_NAME(saxpy_batch_strided)(const MKL_INT *n, const float *alpha,
  638. const float *x, const MKL_INT *incx, const MKL_INT *stridex,
  639. float *y, const MKL_INT *incy, const MKL_INT *stridey,
  640. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  641. void MKL_BLAS_VARIANT_NAME(daxpy_batch_strided)(const MKL_INT *n, const double *alpha,
  642. const double *x, const MKL_INT *incx, const MKL_INT *stridex,
  643. double *y, const MKL_INT *incy, const MKL_INT *stridey,
  644. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  645. void MKL_BLAS_VARIANT_NAME(caxpy_batch_strided)(const MKL_INT *n, const MKL_Complex8 *alpha,
  646. const MKL_Complex8 *x, const MKL_INT *incx, const MKL_INT *stridex,
  647. MKL_Complex8 *y, const MKL_INT *incy, const MKL_INT *stridey,
  648. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  649. void MKL_BLAS_VARIANT_NAME(zaxpy_batch_strided)(const MKL_INT *n, const MKL_Complex16 *alpha,
  650. const MKL_Complex16 *x, const MKL_INT *incx, const MKL_INT *stridex,
  651. MKL_Complex16 *y, const MKL_INT *incy, const MKL_INT *stridey,
  652. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  653. void MKL_CBLAS_VARIANT_NAME(scopy_batch)(const MKL_INT *n,
  654. const float **x, const MKL_INT *incx,
  655. float **y, const MKL_INT *incy,
  656. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  657. void MKL_CBLAS_VARIANT_NAME(dcopy_batch)(const MKL_INT *n,
  658. const double **x, const MKL_INT *incx,
  659. double **y, const MKL_INT *incy,
  660. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  661. void MKL_CBLAS_VARIANT_NAME(ccopy_batch)(const MKL_INT *n,
  662. const void **x, const MKL_INT *incx,
  663. void **y, const MKL_INT *incy,
  664. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  665. void MKL_CBLAS_VARIANT_NAME(zcopy_batch)(const MKL_INT *n,
  666. const void **x, const MKL_INT *incx,
  667. void **y, const MKL_INT *incy,
  668. const MKL_INT group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  669. void MKL_BLAS_VARIANT_NAME(scopy_batch)(const MKL_INT *n,
  670. const float **x, const MKL_INT *incx,
  671. float **y, const MKL_INT *incy,
  672. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  673. void MKL_BLAS_VARIANT_NAME(dcopy_batch)(const MKL_INT *n,
  674. const double **x, const MKL_INT *incx,
  675. double **y, const MKL_INT *incy,
  676. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  677. void MKL_BLAS_VARIANT_NAME(ccopy_batch)(const MKL_INT *n,
  678. const MKL_Complex8 **x, const MKL_INT *incx,
  679. MKL_Complex8 **y, const MKL_INT *incy,
  680. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  681. void MKL_BLAS_VARIANT_NAME(zcopy_batch)(const MKL_INT *n,
  682. const MKL_Complex16 **x, const MKL_INT *incx,
  683. MKL_Complex16 **y, const MKL_INT *incy,
  684. const MKL_INT *group_count, const MKL_INT *group_size, void *interop_obj) NOTHROW;
  685. void MKL_CBLAS_VARIANT_NAME(scopy_batch_strided)(const MKL_INT N,
  686. const float *X, const MKL_INT incX, const MKL_INT stridex,
  687. float *Y, const MKL_INT incY, const MKL_INT stridey,
  688. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  689. void MKL_CBLAS_VARIANT_NAME(dcopy_batch_strided)(const MKL_INT N,
  690. const double *X, const MKL_INT incX, const MKL_INT stridex,
  691. double *Y, const MKL_INT incY, const MKL_INT stridey,
  692. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  693. void MKL_CBLAS_VARIANT_NAME(ccopy_batch_strided)(const MKL_INT N,
  694. const void *X, const MKL_INT incX, const MKL_INT stridex,
  695. void *Y, const MKL_INT incY, const MKL_INT stridey,
  696. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  697. void MKL_CBLAS_VARIANT_NAME(zcopy_batch_strided)(const MKL_INT N,
  698. const void *X, const MKL_INT incX, const MKL_INT stridex,
  699. void *Y, const MKL_INT incY, const MKL_INT stridey,
  700. const MKL_INT batch_size, void *interop_obj) NOTHROW;
  701. void MKL_BLAS_VARIANT_NAME(scopy_batch_strided)(const MKL_INT *N,
  702. const float *X, const MKL_INT *incX, const MKL_INT *stridex,
  703. float *Y, const MKL_INT *incY, const MKL_INT *stridey,
  704. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  705. void MKL_BLAS_VARIANT_NAME(dcopy_batch_strided)(const MKL_INT *N,
  706. const double *X, const MKL_INT *incX, const MKL_INT *stridex,
  707. double *Y, const MKL_INT *incY, const MKL_INT *stridey,
  708. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  709. void MKL_BLAS_VARIANT_NAME(ccopy_batch_strided)(const MKL_INT *N,
  710. const MKL_Complex8 *X, const MKL_INT *incX, const MKL_INT *stridex,
  711. MKL_Complex8 *Y, const MKL_INT *incY, const MKL_INT *stridey,
  712. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  713. void MKL_BLAS_VARIANT_NAME(zcopy_batch_strided)(const MKL_INT *N,
  714. const MKL_Complex16 *X, const MKL_INT *incX, const MKL_INT *stridex,
  715. MKL_Complex16 *Y, const MKL_INT *incY, const MKL_INT *stridey,
  716. const MKL_INT *batch_size, void *interop_obj) NOTHROW;
  717. // CBLAS API
  718. // Level3
  719. // Routines with S, D, C, Z prefixes (Standard)
  720. void MKL_CBLAS_VARIANT_NAME(sgemm)(const CBLAS_LAYOUT Layout, const CBLAS_TRANSPOSE TransA,
  721. const CBLAS_TRANSPOSE TransB, const MKL_INT M, const MKL_INT N,
  722. const MKL_INT K, const float alpha, const float *A,
  723. const MKL_INT lda, const float *B, const MKL_INT ldb,
  724. const float beta, float *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  725. void MKL_CBLAS_VARIANT_NAME(sgemmt)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  726. const CBLAS_TRANSPOSE TransA, const CBLAS_TRANSPOSE TransB,
  727. const MKL_INT N, const MKL_INT K,
  728. const float alpha, const float *A, const MKL_INT lda,
  729. const float *B, const MKL_INT ldb, const float beta,
  730. float *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  731. void MKL_CBLAS_VARIANT_NAME(ssymm)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE Side,
  732. const CBLAS_UPLO Uplo, const MKL_INT M, const MKL_INT N,
  733. const float alpha, const float *A, const MKL_INT lda,
  734. const float *B, const MKL_INT ldb, const float beta,
  735. float *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  736. void MKL_CBLAS_VARIANT_NAME(ssyr2k)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  737. const CBLAS_TRANSPOSE Trans, const MKL_INT N, const MKL_INT K,
  738. const float alpha, const float *A, const MKL_INT lda,
  739. const float *B, const MKL_INT ldb, const float beta,
  740. float *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  741. void MKL_CBLAS_VARIANT_NAME(ssyrk)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  742. const CBLAS_TRANSPOSE Trans, const MKL_INT N, const MKL_INT K,
  743. const float alpha, const float *A, const MKL_INT lda,
  744. const float beta, float *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  745. void MKL_CBLAS_VARIANT_NAME(strmm)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE Side,
  746. const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA,
  747. const CBLAS_DIAG Diag, const MKL_INT M, const MKL_INT N,
  748. const float alpha, const float *A, const MKL_INT lda,
  749. float *B, const MKL_INT ldb, void *interop_obj) NOTHROW;
  750. void MKL_CBLAS_VARIANT_NAME(strsm)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE Side,
  751. const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA,
  752. const CBLAS_DIAG Diag, const MKL_INT M, const MKL_INT N,
  753. const float alpha, const float *A, const MKL_INT lda,
  754. float *B, const MKL_INT ldb, void *interop_obj) NOTHROW;
  755. void MKL_CBLAS_VARIANT_NAME(dgemm)(const CBLAS_LAYOUT Layout, const CBLAS_TRANSPOSE TransA,
  756. const CBLAS_TRANSPOSE TransB, const MKL_INT M, const MKL_INT N,
  757. const MKL_INT K, const double alpha, const double *A,
  758. const MKL_INT lda, const double *B, const MKL_INT ldb,
  759. const double beta, double *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  760. void MKL_CBLAS_VARIANT_NAME(dgemmt)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  761. const CBLAS_TRANSPOSE TransA, const CBLAS_TRANSPOSE TransB,
  762. const MKL_INT N, const MKL_INT K,
  763. const double alpha, const double *A, const MKL_INT lda,
  764. const double *B, const MKL_INT ldb, const double beta,
  765. double *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  766. void MKL_CBLAS_VARIANT_NAME(dsymm)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE Side,
  767. const CBLAS_UPLO Uplo, const MKL_INT M, const MKL_INT N,
  768. const double alpha, const double *A, const MKL_INT lda,
  769. const double *B, const MKL_INT ldb, const double beta,
  770. double *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  771. void MKL_CBLAS_VARIANT_NAME(dsyr2k)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  772. const CBLAS_TRANSPOSE Trans, const MKL_INT N, const MKL_INT K,
  773. const double alpha, const double *A, const MKL_INT lda,
  774. const double *B, const MKL_INT ldb, const double beta,
  775. double *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  776. void MKL_CBLAS_VARIANT_NAME(dsyrk)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  777. const CBLAS_TRANSPOSE Trans, const MKL_INT N, const MKL_INT K,
  778. const double alpha, const double *A, const MKL_INT lda,
  779. const double beta, double *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  780. void MKL_CBLAS_VARIANT_NAME(dtrmm)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE Side,
  781. const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA,
  782. const CBLAS_DIAG Diag, const MKL_INT M, const MKL_INT N,
  783. const double alpha, const double *A, const MKL_INT lda,
  784. double *B, const MKL_INT ldb, void *interop_obj) NOTHROW;
  785. void MKL_CBLAS_VARIANT_NAME(dtrsm)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE Side,
  786. const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA,
  787. const CBLAS_DIAG Diag, const MKL_INT M, const MKL_INT N,
  788. const double alpha, const double *A, const MKL_INT lda,
  789. double *B, const MKL_INT ldb, void *interop_obj) NOTHROW;
  790. void MKL_CBLAS_VARIANT_NAME(cgemm)(const CBLAS_LAYOUT Layout, const CBLAS_TRANSPOSE TransA,
  791. const CBLAS_TRANSPOSE TransB, const MKL_INT M, const MKL_INT N,
  792. const MKL_INT K, const void *alpha, const void *A,
  793. const MKL_INT lda, const void *B, const MKL_INT ldb,
  794. const void *beta, void *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  795. void MKL_CBLAS_VARIANT_NAME(cgemmt)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  796. const CBLAS_TRANSPOSE TransA, const CBLAS_TRANSPOSE TransB,
  797. const MKL_INT N, const MKL_INT K,
  798. const void *alpha, const void *A, const MKL_INT lda,
  799. const void *B, const MKL_INT ldb, const void *beta,
  800. void *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  801. void MKL_CBLAS_VARIANT_NAME(csymm)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE Side,
  802. const CBLAS_UPLO Uplo, const MKL_INT M, const MKL_INT N,
  803. const void *alpha, const void *A, const MKL_INT lda,
  804. const void *B, const MKL_INT ldb, const void *beta,
  805. void *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  806. void MKL_CBLAS_VARIANT_NAME(csyr2k)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  807. const CBLAS_TRANSPOSE Trans, const MKL_INT N, const MKL_INT K,
  808. const void *alpha, const void *A, const MKL_INT lda,
  809. const void *B, const MKL_INT ldb, const void *beta,
  810. void *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  811. void MKL_CBLAS_VARIANT_NAME(csyrk)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  812. const CBLAS_TRANSPOSE Trans, const MKL_INT N, const MKL_INT K,
  813. const void *alpha, const void *A, const MKL_INT lda,
  814. const void *beta, void *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  815. void MKL_CBLAS_VARIANT_NAME(ctrmm)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE Side,
  816. const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA,
  817. const CBLAS_DIAG Diag, const MKL_INT M, const MKL_INT N,
  818. const void *alpha, const void *A, const MKL_INT lda,
  819. void *B, const MKL_INT ldb, void *interop_obj) NOTHROW;
  820. void MKL_CBLAS_VARIANT_NAME(ctrsm)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE Side,
  821. const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA,
  822. const CBLAS_DIAG Diag, const MKL_INT M, const MKL_INT N,
  823. const void *alpha, const void *A, const MKL_INT lda,
  824. void *B, const MKL_INT ldb, void *interop_obj) NOTHROW;
  825. void MKL_CBLAS_VARIANT_NAME(zgemm)(const CBLAS_LAYOUT Layout, const CBLAS_TRANSPOSE TransA,
  826. const CBLAS_TRANSPOSE TransB, const MKL_INT M, const MKL_INT N,
  827. const MKL_INT K, const void *alpha, const void *A,
  828. const MKL_INT lda, const void *B, const MKL_INT ldb,
  829. const void *beta, void *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  830. void MKL_CBLAS_VARIANT_NAME(zgemmt)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  831. const CBLAS_TRANSPOSE TransA, const CBLAS_TRANSPOSE TransB,
  832. const MKL_INT N, const MKL_INT K,
  833. const void *alpha, const void *A, const MKL_INT lda,
  834. const void *B, const MKL_INT ldb, const void *beta,
  835. void *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  836. void MKL_CBLAS_VARIANT_NAME(zsymm)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE Side,
  837. const CBLAS_UPLO Uplo, const MKL_INT M, const MKL_INT N,
  838. const void *alpha, const void *A, const MKL_INT lda,
  839. const void *B, const MKL_INT ldb, const void *beta,
  840. void *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  841. void MKL_CBLAS_VARIANT_NAME(zsyr2k)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  842. const CBLAS_TRANSPOSE Trans, const MKL_INT N, const MKL_INT K,
  843. const void *alpha, const void *A, const MKL_INT lda,
  844. const void *B, const MKL_INT ldb, const void *beta,
  845. void *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  846. void MKL_CBLAS_VARIANT_NAME(zsyrk)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  847. const CBLAS_TRANSPOSE Trans, const MKL_INT N, const MKL_INT K,
  848. const void *alpha, const void *A, const MKL_INT lda,
  849. const void *beta, void *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  850. void MKL_CBLAS_VARIANT_NAME(ztrmm)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE Side,
  851. const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA,
  852. const CBLAS_DIAG Diag, const MKL_INT M, const MKL_INT N,
  853. const void *alpha, const void *A, const MKL_INT lda,
  854. void *B, const MKL_INT ldb, void *interop_obj) NOTHROW;
  855. void MKL_CBLAS_VARIANT_NAME(ztrsm)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE Side,
  856. const CBLAS_UPLO Uplo, const CBLAS_TRANSPOSE TransA,
  857. const CBLAS_DIAG Diag, const MKL_INT M, const MKL_INT N,
  858. const void *alpha, const void *A, const MKL_INT lda,
  859. void *B, const MKL_INT ldb, void *interop_obj) NOTHROW;
  860. // Routines with C, Z prefixes
  861. void MKL_CBLAS_VARIANT_NAME(chemm)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE Side,
  862. const CBLAS_UPLO Uplo, const MKL_INT M, const MKL_INT N,
  863. const void *alpha, const void *A, const MKL_INT lda,
  864. const void *B, const MKL_INT ldb, const void *beta,
  865. void *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  866. void MKL_CBLAS_VARIANT_NAME(cher2k)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  867. const CBLAS_TRANSPOSE Trans, const MKL_INT N, const MKL_INT K,
  868. const void *alpha, const void *A, const MKL_INT lda,
  869. const void *B, const MKL_INT ldb, const float beta,
  870. void *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  871. void MKL_CBLAS_VARIANT_NAME(cherk)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  872. const CBLAS_TRANSPOSE Trans, const MKL_INT N, const MKL_INT K,
  873. const float alpha, const void *A, const MKL_INT lda,
  874. const float beta, void *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  875. void MKL_CBLAS_VARIANT_NAME(zhemm)(const CBLAS_LAYOUT Layout, const CBLAS_SIDE Side,
  876. const CBLAS_UPLO Uplo, const MKL_INT M, const MKL_INT N,
  877. const void *alpha, const void *A, const MKL_INT lda,
  878. const void *B, const MKL_INT ldb, const void *beta,
  879. void *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  880. void MKL_CBLAS_VARIANT_NAME(zher2k)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  881. const CBLAS_TRANSPOSE Trans, const MKL_INT N, const MKL_INT K,
  882. const void *alpha, const void *A, const MKL_INT lda,
  883. const void *B, const MKL_INT ldb, const double beta,
  884. void *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  885. void MKL_CBLAS_VARIANT_NAME(zherk)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  886. const CBLAS_TRANSPOSE Trans, const MKL_INT N, const MKL_INT K,
  887. const double alpha, const void *A, const MKL_INT lda,
  888. const double beta, void *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  889. // Other precisions
  890. void MKL_CBLAS_VARIANT_NAME(hgemm)(const CBLAS_LAYOUT Layout, const CBLAS_TRANSPOSE TransA,
  891. const CBLAS_TRANSPOSE TransB, const MKL_INT M, const MKL_INT N,
  892. const MKL_INT K, const MKL_F16 alpha, const MKL_F16 *A,
  893. const MKL_INT lda, const MKL_F16 *B, const MKL_INT ldb,
  894. const MKL_F16 beta, MKL_F16 *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  895. void MKL_CBLAS_VARIANT_NAME(gemm_s8u8s32)(const CBLAS_LAYOUT Layout, const CBLAS_TRANSPOSE TransA,
  896. const CBLAS_TRANSPOSE TransB, const CBLAS_OFFSET OffsetC,
  897. const MKL_INT M, const MKL_INT N, const MKL_INT K,
  898. const float alpha, const void *A, const MKL_INT lda, const MKL_INT8 ao,
  899. const void *B, const MKL_INT ldb, const MKL_INT8 bo, const float beta,
  900. MKL_INT32 *C, const MKL_INT ldc, const MKL_INT32 *cb, void *interop_obj) NOTHROW;
  901. void MKL_CBLAS_VARIANT_NAME(gemm_bf16bf16f32)(const CBLAS_LAYOUT Layout, const CBLAS_TRANSPOSE TransA,
  902. const CBLAS_TRANSPOSE TransB,
  903. const MKL_INT M, const MKL_INT N, const MKL_INT K,
  904. const float alpha, const MKL_BF16 *A, const MKL_INT lda,
  905. const MKL_BF16 *B, const MKL_INT ldb, const float beta,
  906. float *C, const MKL_INT ldc, void *interop_obj) NOTHROW;
  907. // Level2
  908. // Routines with S, D, C, Z prefixes (Standard)
  909. void MKL_CBLAS_VARIANT_NAME(sgemv)(const CBLAS_LAYOUT Layout,
  910. const CBLAS_TRANSPOSE TransA, const MKL_INT M, const MKL_INT N,
  911. const float alpha, const float *A, const MKL_INT lda,
  912. const float *X, const MKL_INT incX, const float beta,
  913. float *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  914. void MKL_CBLAS_VARIANT_NAME(sgbmv)(const CBLAS_LAYOUT Layout,
  915. const CBLAS_TRANSPOSE TransA, const MKL_INT M, const MKL_INT N,
  916. const MKL_INT KL, const MKL_INT KU, const float alpha,
  917. const float *A, const MKL_INT lda, const float *X,
  918. const MKL_INT incX, const float beta, float *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  919. void MKL_CBLAS_VARIANT_NAME(strmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  920. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  921. const MKL_INT N, const float *A, const MKL_INT lda,
  922. float *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  923. void MKL_CBLAS_VARIANT_NAME(stbmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  924. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  925. const MKL_INT N, const MKL_INT K, const float *A, const MKL_INT lda,
  926. float *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  927. void MKL_CBLAS_VARIANT_NAME(stpmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  928. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  929. const MKL_INT N, const float *Ap, float *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  930. void MKL_CBLAS_VARIANT_NAME(strsv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  931. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  932. const MKL_INT N, const float *A, const MKL_INT lda, float *X,
  933. const MKL_INT incX, void *interop_obj) NOTHROW;
  934. void MKL_CBLAS_VARIANT_NAME(stbsv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  935. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  936. const MKL_INT N, const MKL_INT K, const float *A, const MKL_INT lda,
  937. float *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  938. void MKL_CBLAS_VARIANT_NAME(stpsv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  939. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  940. const MKL_INT N, const float *Ap, float *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  941. void MKL_CBLAS_VARIANT_NAME(dgemv)(const CBLAS_LAYOUT Layout,
  942. const CBLAS_TRANSPOSE TransA, const MKL_INT M, const MKL_INT N,
  943. const double alpha, const double *A, const MKL_INT lda,
  944. const double *X, const MKL_INT incX, const double beta,
  945. double *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  946. void MKL_CBLAS_VARIANT_NAME(dgbmv)(const CBLAS_LAYOUT Layout,
  947. const CBLAS_TRANSPOSE TransA, const MKL_INT M, const MKL_INT N,
  948. const MKL_INT KL, const MKL_INT KU, const double alpha,
  949. const double *A, const MKL_INT lda, const double *X,
  950. const MKL_INT incX, const double beta, double *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  951. void MKL_CBLAS_VARIANT_NAME(dtrmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  952. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  953. const MKL_INT N, const double *A, const MKL_INT lda,
  954. double *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  955. void MKL_CBLAS_VARIANT_NAME(dtbmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  956. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  957. const MKL_INT N, const MKL_INT K, const double *A, const MKL_INT lda,
  958. double *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  959. void MKL_CBLAS_VARIANT_NAME(dtpmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  960. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  961. const MKL_INT N, const double *Ap, double *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  962. void MKL_CBLAS_VARIANT_NAME(dtrsv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  963. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  964. const MKL_INT N, const double *A, const MKL_INT lda, double *X,
  965. const MKL_INT incX, void *interop_obj) NOTHROW;
  966. void MKL_CBLAS_VARIANT_NAME(dtbsv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  967. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  968. const MKL_INT N, const MKL_INT K, const double *A, const MKL_INT lda,
  969. double *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  970. void MKL_CBLAS_VARIANT_NAME(dtpsv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  971. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  972. const MKL_INT N, const double *Ap, double *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  973. void MKL_CBLAS_VARIANT_NAME(cgemv)(const CBLAS_LAYOUT Layout,
  974. const CBLAS_TRANSPOSE TransA, const MKL_INT M, const MKL_INT N,
  975. const void *alpha, const void *A, const MKL_INT lda,
  976. const void *X, const MKL_INT incX, const void *beta,
  977. void *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  978. void MKL_CBLAS_VARIANT_NAME(cgbmv)(const CBLAS_LAYOUT Layout,
  979. const CBLAS_TRANSPOSE TransA, const MKL_INT M, const MKL_INT N,
  980. const MKL_INT KL, const MKL_INT KU, const void *alpha,
  981. const void *A, const MKL_INT lda, const void *X,
  982. const MKL_INT incX, const void *beta, void *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  983. void MKL_CBLAS_VARIANT_NAME(ctrmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  984. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  985. const MKL_INT N, const void *A, const MKL_INT lda,
  986. void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  987. void MKL_CBLAS_VARIANT_NAME(ctbmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  988. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  989. const MKL_INT N, const MKL_INT K, const void *A, const MKL_INT lda,
  990. void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  991. void MKL_CBLAS_VARIANT_NAME(ctpmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  992. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  993. const MKL_INT N, const void *Ap, void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  994. void MKL_CBLAS_VARIANT_NAME(ctrsv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  995. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  996. const MKL_INT N, const void *A, const MKL_INT lda, void *X,
  997. const MKL_INT incX, void *interop_obj) NOTHROW;
  998. void MKL_CBLAS_VARIANT_NAME(ctbsv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  999. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  1000. const MKL_INT N, const MKL_INT K, const void *A, const MKL_INT lda,
  1001. void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1002. void MKL_CBLAS_VARIANT_NAME(ctpsv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1003. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  1004. const MKL_INT N, const void *Ap, void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1005. void MKL_CBLAS_VARIANT_NAME(zgemv)(const CBLAS_LAYOUT Layout,
  1006. const CBLAS_TRANSPOSE TransA, const MKL_INT M, const MKL_INT N,
  1007. const void *alpha, const void *A, const MKL_INT lda,
  1008. const void *X, const MKL_INT incX, const void *beta,
  1009. void *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1010. void MKL_CBLAS_VARIANT_NAME(zgbmv)(const CBLAS_LAYOUT Layout,
  1011. const CBLAS_TRANSPOSE TransA, const MKL_INT M, const MKL_INT N,
  1012. const MKL_INT KL, const MKL_INT KU, const void *alpha,
  1013. const void *A, const MKL_INT lda, const void *X,
  1014. const MKL_INT incX, const void *beta, void *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1015. void MKL_CBLAS_VARIANT_NAME(ztrmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1016. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  1017. const MKL_INT N, const void *A, const MKL_INT lda,
  1018. void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1019. void MKL_CBLAS_VARIANT_NAME(ztbmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1020. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  1021. const MKL_INT N, const MKL_INT K, const void *A, const MKL_INT lda,
  1022. void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1023. void MKL_CBLAS_VARIANT_NAME(ztpmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1024. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  1025. const MKL_INT N, const void *Ap, void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1026. void MKL_CBLAS_VARIANT_NAME(ztrsv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1027. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  1028. const MKL_INT N, const void *A, const MKL_INT lda, void *X,
  1029. const MKL_INT incX, void *interop_obj) NOTHROW;
  1030. void MKL_CBLAS_VARIANT_NAME(ztbsv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1031. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  1032. const MKL_INT N, const MKL_INT K, const void *A, const MKL_INT lda,
  1033. void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1034. void MKL_CBLAS_VARIANT_NAME(ztpsv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1035. const CBLAS_TRANSPOSE TransA, const CBLAS_DIAG Diag,
  1036. const MKL_INT N, const void *Ap, void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1037. // Routines with S, D prefixes
  1038. void MKL_CBLAS_VARIANT_NAME(ssymv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1039. const MKL_INT N, const float alpha, const float *A,
  1040. const MKL_INT lda, const float *X, const MKL_INT incX,
  1041. const float beta, float *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1042. void MKL_CBLAS_VARIANT_NAME(ssbmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1043. const MKL_INT N, const MKL_INT K, const float alpha, const float *A,
  1044. const MKL_INT lda, const float *X, const MKL_INT incX,
  1045. const float beta, float *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1046. void MKL_CBLAS_VARIANT_NAME(sspmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1047. const MKL_INT N, const float alpha, const float *Ap,
  1048. const float *X, const MKL_INT incX,
  1049. const float beta, float *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1050. void MKL_CBLAS_VARIANT_NAME(sger)(const CBLAS_LAYOUT Layout, const MKL_INT M, const MKL_INT N,
  1051. const float alpha, const float *X, const MKL_INT incX,
  1052. const float *Y, const MKL_INT incY, float *A, const MKL_INT lda, void *interop_obj) NOTHROW;
  1053. void MKL_CBLAS_VARIANT_NAME(ssyr)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1054. const MKL_INT N, const float alpha, const float *X,
  1055. const MKL_INT incX, float *A, const MKL_INT lda, void *interop_obj) NOTHROW;
  1056. void MKL_CBLAS_VARIANT_NAME(sspr)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1057. const MKL_INT N, const float alpha, const float *X,
  1058. const MKL_INT incX, float *Ap, void *interop_obj) NOTHROW;
  1059. void MKL_CBLAS_VARIANT_NAME(ssyr2)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1060. const MKL_INT N, const float alpha, const float *X,
  1061. const MKL_INT incX, const float *Y, const MKL_INT incY, float *A,
  1062. const MKL_INT lda, void *interop_obj) NOTHROW;
  1063. void MKL_CBLAS_VARIANT_NAME(sspr2)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1064. const MKL_INT N, const float alpha, const float *X,
  1065. const MKL_INT incX, const float *Y, const MKL_INT incY, float *A, void *interop_obj) NOTHROW;
  1066. void MKL_CBLAS_VARIANT_NAME(dsymv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1067. const MKL_INT N, const double alpha, const double *A,
  1068. const MKL_INT lda, const double *X, const MKL_INT incX,
  1069. const double beta, double *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1070. void MKL_CBLAS_VARIANT_NAME(dsbmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1071. const MKL_INT N, const MKL_INT K, const double alpha, const double *A,
  1072. const MKL_INT lda, const double *X, const MKL_INT incX,
  1073. const double beta, double *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1074. void MKL_CBLAS_VARIANT_NAME(dspmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1075. const MKL_INT N, const double alpha, const double *Ap,
  1076. const double *X, const MKL_INT incX,
  1077. const double beta, double *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1078. void MKL_CBLAS_VARIANT_NAME(dger)(const CBLAS_LAYOUT Layout, const MKL_INT M, const MKL_INT N,
  1079. const double alpha, const double *X, const MKL_INT incX,
  1080. const double *Y, const MKL_INT incY, double *A, const MKL_INT lda, void *interop_obj) NOTHROW;
  1081. void MKL_CBLAS_VARIANT_NAME(dsyr)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1082. const MKL_INT N, const double alpha, const double *X,
  1083. const MKL_INT incX, double *A, const MKL_INT lda, void *interop_obj) NOTHROW;
  1084. void MKL_CBLAS_VARIANT_NAME(dspr)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1085. const MKL_INT N, const double alpha, const double *X,
  1086. const MKL_INT incX, double *Ap, void *interop_obj) NOTHROW;
  1087. void MKL_CBLAS_VARIANT_NAME(dsyr2)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1088. const MKL_INT N, const double alpha, const double *X,
  1089. const MKL_INT incX, const double *Y, const MKL_INT incY, double *A,
  1090. const MKL_INT lda, void *interop_obj) NOTHROW;
  1091. void MKL_CBLAS_VARIANT_NAME(dspr2)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1092. const MKL_INT N, const double alpha, const double *X,
  1093. const MKL_INT incX, const double *Y, const MKL_INT incY, double *A, void *interop_obj) NOTHROW;
  1094. // Routines with C, Z prefixes
  1095. void MKL_CBLAS_VARIANT_NAME(chemv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1096. const MKL_INT N, const void *alpha, const void *A,
  1097. const MKL_INT lda, const void *X, const MKL_INT incX,
  1098. const void *beta, void *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1099. void MKL_CBLAS_VARIANT_NAME(chbmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1100. const MKL_INT N, const MKL_INT K, const void *alpha, const void *A,
  1101. const MKL_INT lda, const void *X, const MKL_INT incX,
  1102. const void *beta, void *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1103. void MKL_CBLAS_VARIANT_NAME(chpmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1104. const MKL_INT N, const void *alpha, const void *Ap,
  1105. const void *X, const MKL_INT incX,
  1106. const void *beta, void *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1107. void MKL_CBLAS_VARIANT_NAME(cgeru)(const CBLAS_LAYOUT Layout, const MKL_INT M, const MKL_INT N,
  1108. const void *alpha, const void *X, const MKL_INT incX,
  1109. const void *Y, const MKL_INT incY, void *A, const MKL_INT lda, void *interop_obj) NOTHROW;
  1110. void MKL_CBLAS_VARIANT_NAME(cgerc)(const CBLAS_LAYOUT Layout, const MKL_INT M, const MKL_INT N,
  1111. const void *alpha, const void *X, const MKL_INT incX,
  1112. const void *Y, const MKL_INT incY, void *A, const MKL_INT lda, void *interop_obj) NOTHROW;
  1113. void MKL_CBLAS_VARIANT_NAME(cher)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1114. const MKL_INT N, const float alpha, const void *X, const MKL_INT incX,
  1115. void *A, const MKL_INT lda, void *interop_obj) NOTHROW;
  1116. void MKL_CBLAS_VARIANT_NAME(chpr)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1117. const MKL_INT N, const float alpha, const void *X,
  1118. const MKL_INT incX, void *A, void *interop_obj) NOTHROW;
  1119. void MKL_CBLAS_VARIANT_NAME(cher2)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo, const MKL_INT N,
  1120. const void *alpha, const void *X, const MKL_INT incX,
  1121. const void *Y, const MKL_INT incY, void *A, const MKL_INT lda, void *interop_obj) NOTHROW;
  1122. void MKL_CBLAS_VARIANT_NAME(chpr2)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo, const MKL_INT N,
  1123. const void *alpha, const void *X, const MKL_INT incX,
  1124. const void *Y, const MKL_INT incY, void *Ap, void *interop_obj) NOTHROW;
  1125. void MKL_CBLAS_VARIANT_NAME(zhemv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1126. const MKL_INT N, const void *alpha, const void *A,
  1127. const MKL_INT lda, const void *X, const MKL_INT incX,
  1128. const void *beta, void *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1129. void MKL_CBLAS_VARIANT_NAME(zhbmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1130. const MKL_INT N, const MKL_INT K, const void *alpha, const void *A,
  1131. const MKL_INT lda, const void *X, const MKL_INT incX,
  1132. const void *beta, void *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1133. void MKL_CBLAS_VARIANT_NAME(zhpmv)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1134. const MKL_INT N, const void *alpha, const void *Ap,
  1135. const void *X, const MKL_INT incX,
  1136. const void *beta, void *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1137. void MKL_CBLAS_VARIANT_NAME(zgeru)(const CBLAS_LAYOUT Layout, const MKL_INT M, const MKL_INT N,
  1138. const void *alpha, const void *X, const MKL_INT incX,
  1139. const void *Y, const MKL_INT incY, void *A, const MKL_INT lda, void *interop_obj) NOTHROW;
  1140. void MKL_CBLAS_VARIANT_NAME(zgerc)(const CBLAS_LAYOUT Layout, const MKL_INT M, const MKL_INT N,
  1141. const void *alpha, const void *X, const MKL_INT incX,
  1142. const void *Y, const MKL_INT incY, void *A, const MKL_INT lda, void *interop_obj) NOTHROW;
  1143. void MKL_CBLAS_VARIANT_NAME(zher)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1144. const MKL_INT N, const double alpha, const void *X, const MKL_INT incX,
  1145. void *A, const MKL_INT lda, void *interop_obj) NOTHROW;
  1146. void MKL_CBLAS_VARIANT_NAME(zhpr)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo,
  1147. const MKL_INT N, const double alpha, const void *X,
  1148. const MKL_INT incX, void *A, void *interop_obj) NOTHROW;
  1149. void MKL_CBLAS_VARIANT_NAME(zher2)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo, const MKL_INT N,
  1150. const void *alpha, const void *X, const MKL_INT incX,
  1151. const void *Y, const MKL_INT incY, void *A, const MKL_INT lda, void *interop_obj) NOTHROW;
  1152. void MKL_CBLAS_VARIANT_NAME(zhpr2)(const CBLAS_LAYOUT Layout, const CBLAS_UPLO Uplo, const MKL_INT N,
  1153. const void *alpha, const void *X, const MKL_INT incX,
  1154. const void *Y, const MKL_INT incY, void *Ap, void *interop_obj) NOTHROW;
  1155. // Level1
  1156. // Routines with S, D, DS, SDS prefixes
  1157. float MKL_CBLAS_VARIANT_NAME(sdot)(const MKL_INT N, const float *X, const MKL_INT incX,
  1158. const float *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1159. double MKL_CBLAS_VARIANT_NAME(ddot)(const MKL_INT N, const double *X, const MKL_INT incX,
  1160. const double *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1161. double MKL_CBLAS_VARIANT_NAME(dsdot)(const MKL_INT N, const float *X, const MKL_INT incX,
  1162. const float *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1163. float MKL_CBLAS_VARIANT_NAME(sdsdot)(const MKL_INT N, const float sb, const float *X,
  1164. const MKL_INT incX, const float *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1165. // Routines with C, Z prefixes
  1166. void MKL_CBLAS_VARIANT_NAME(cdotu)(const MKL_INT N, const void *X, const MKL_INT incX,
  1167. const void *Y, const MKL_INT incY, void *dotu, void *interop_obj) NOTHROW;
  1168. void MKL_CBLAS_VARIANT_NAME(cdotc)(const MKL_INT N, const void *X, const MKL_INT incX,
  1169. const void *Y, const MKL_INT incY, void *dotc, void *interop_obj) NOTHROW;
  1170. void MKL_CBLAS_VARIANT_NAME(zdotu)(const MKL_INT N, const void *X, const MKL_INT incX,
  1171. const void *Y, const MKL_INT incY, void *dotu, void *interop_obj) NOTHROW;
  1172. void MKL_CBLAS_VARIANT_NAME(zdotc)(const MKL_INT N, const void *X, const MKL_INT incX,
  1173. const void *Y, const MKL_INT incY, void *dotc, void *interop_obj) NOTHROW;
  1174. // Routines with S, D, SC, DZ prefixes
  1175. float MKL_CBLAS_VARIANT_NAME(snrm2)(const MKL_INT N, const float *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1176. float MKL_CBLAS_VARIANT_NAME(sasum)(const MKL_INT N, const float *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1177. double MKL_CBLAS_VARIANT_NAME(dnrm2)(const MKL_INT N, const double *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1178. double MKL_CBLAS_VARIANT_NAME(dasum)(const MKL_INT N, const double *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1179. float MKL_CBLAS_VARIANT_NAME(scnrm2)(const MKL_INT N, const void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1180. float MKL_CBLAS_VARIANT_NAME(scasum)(const MKL_INT N, const void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1181. double MKL_CBLAS_VARIANT_NAME(dznrm2)(const MKL_INT N, const void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1182. double MKL_CBLAS_VARIANT_NAME(dzasum)(const MKL_INT N, const void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1183. // Routines with S, D, C, Z prefixes (Standard)
  1184. CBLAS_INDEX MKL_CBLAS_VARIANT_NAME(isamax)(const MKL_INT N, const float *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1185. CBLAS_INDEX MKL_CBLAS_VARIANT_NAME(idamax)(const MKL_INT N, const double *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1186. CBLAS_INDEX MKL_CBLAS_VARIANT_NAME(icamax)(const MKL_INT N, const void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1187. CBLAS_INDEX MKL_CBLAS_VARIANT_NAME(izamax)(const MKL_INT N, const void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1188. CBLAS_INDEX MKL_CBLAS_VARIANT_NAME(isamin)(const MKL_INT N, const float *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1189. CBLAS_INDEX MKL_CBLAS_VARIANT_NAME(idamin)(const MKL_INT N, const double *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1190. CBLAS_INDEX MKL_CBLAS_VARIANT_NAME(icamin)(const MKL_INT N, const void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1191. CBLAS_INDEX MKL_CBLAS_VARIANT_NAME(izamin)(const MKL_INT N, const void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1192. void MKL_CBLAS_VARIANT_NAME(sswap)(const MKL_INT N, float *X, const MKL_INT incX,
  1193. float *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1194. void MKL_CBLAS_VARIANT_NAME(scopy)(const MKL_INT N, const float *X, const MKL_INT incX,
  1195. float *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1196. void MKL_CBLAS_VARIANT_NAME(saxpy)(const MKL_INT N, const float alpha, const float *X,
  1197. const MKL_INT incX, float *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1198. void MKL_CBLAS_VARIANT_NAME(srotg)(float *a, float *b, float *c, float *s, void *interop_obj) NOTHROW;
  1199. void MKL_CBLAS_VARIANT_NAME(dswap)(const MKL_INT N, double *X, const MKL_INT incX,
  1200. double *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1201. void MKL_CBLAS_VARIANT_NAME(dcopy)(const MKL_INT N, const double *X, const MKL_INT incX,
  1202. double *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1203. void MKL_CBLAS_VARIANT_NAME(daxpy)(const MKL_INT N, const double alpha, const double *X,
  1204. const MKL_INT incX, double *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1205. void MKL_CBLAS_VARIANT_NAME(drotg)(double *a, double *b, double *c, double *s, void *interop_obj) NOTHROW;
  1206. void MKL_CBLAS_VARIANT_NAME(cswap)(const MKL_INT N, void *X, const MKL_INT incX,
  1207. void *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1208. void MKL_CBLAS_VARIANT_NAME(ccopy)(const MKL_INT N, const void *X, const MKL_INT incX,
  1209. void *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1210. void MKL_CBLAS_VARIANT_NAME(caxpy)(const MKL_INT N, const void *alpha, const void *X,
  1211. const MKL_INT incX, void *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1212. void MKL_CBLAS_VARIANT_NAME(crotg)(void *a, const void *b, float *c, void *s, void *interop_obj) NOTHROW;
  1213. void MKL_CBLAS_VARIANT_NAME(zswap)(const MKL_INT N, void *X, const MKL_INT incX,
  1214. void *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1215. void MKL_CBLAS_VARIANT_NAME(zcopy)(const MKL_INT N, const void *X, const MKL_INT incX,
  1216. void *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1217. void MKL_CBLAS_VARIANT_NAME(zaxpy)(const MKL_INT N, const void *alpha, const void *X,
  1218. const MKL_INT incX, void *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1219. void MKL_CBLAS_VARIANT_NAME(zrotg)(void *a, const void *b, double *c, void *s, void *interop_obj) NOTHROW;
  1220. // Routines with S, D prefixes
  1221. void MKL_CBLAS_VARIANT_NAME(srotmg)(float *d1, float *d2, float *b1, const float b2, float *P, void *interop_obj) NOTHROW;
  1222. void MKL_CBLAS_VARIANT_NAME(srot)(const MKL_INT N, float *X, const MKL_INT incX,
  1223. float *Y, const MKL_INT incY, const float c, const float s, void *interop_obj) NOTHROW;
  1224. void MKL_CBLAS_VARIANT_NAME(srotm)(const MKL_INT N, float *X, const MKL_INT incX,
  1225. float *Y, const MKL_INT incY, const float *P, void *interop_obj) NOTHROW;
  1226. void MKL_CBLAS_VARIANT_NAME(drotmg)(double *d1, double *d2, double *b1, const double b2, double *P, void *interop_obj) NOTHROW;
  1227. void MKL_CBLAS_VARIANT_NAME(drot)(const MKL_INT N, double *X, const MKL_INT incX,
  1228. double *Y, const MKL_INT incY, const double c, const double s, void *interop_obj) NOTHROW;
  1229. void MKL_CBLAS_VARIANT_NAME(drotm)(const MKL_INT N, double *X, const MKL_INT incX,
  1230. double *Y, const MKL_INT incY, const double *P, void *interop_obj) NOTHROW;
  1231. // Routines with CS, ZD prefixes
  1232. void MKL_CBLAS_VARIANT_NAME(csrot)(const MKL_INT N, void *X, const MKL_INT incX,
  1233. void *Y, const MKL_INT incY, const float c, const float s, void *interop_obj) NOTHROW;
  1234. void MKL_CBLAS_VARIANT_NAME(zdrot)(const MKL_INT N, void *X, const MKL_INT incX,
  1235. void *Y, const MKL_INT incY, const double c, const double s, void *interop_obj) NOTHROW;
  1236. void MKL_CBLAS_VARIANT_NAME(crot)(const MKL_INT N, void *X, const MKL_INT incX,
  1237. void *Y, const MKL_INT incY, const float c, const void *s, void *interop_obj) NOTHROW;
  1238. void MKL_CBLAS_VARIANT_NAME(zrot)(const MKL_INT N, void *X, const MKL_INT incX,
  1239. void *Y, const MKL_INT incY, const double c, const void *s, void *interop_obj) NOTHROW;
  1240. // Routines with S D C Z CS and ZD prefixes
  1241. void MKL_CBLAS_VARIANT_NAME(sscal)(const MKL_INT N, const float alpha, float *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1242. void MKL_CBLAS_VARIANT_NAME(dscal)(const MKL_INT N, const double alpha, double *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1243. void MKL_CBLAS_VARIANT_NAME(cscal)(const MKL_INT N, const void *alpha, void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1244. void MKL_CBLAS_VARIANT_NAME(zscal)(const MKL_INT N, const void *alpha, void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1245. void MKL_CBLAS_VARIANT_NAME(csscal)(const MKL_INT N, const float alpha, void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1246. void MKL_CBLAS_VARIANT_NAME(zdscal)(const MKL_INT N, const double alpha, void *X, const MKL_INT incX, void *interop_obj) NOTHROW;
  1247. void MKL_CBLAS_VARIANT_NAME(crot)(const MKL_INT N, void *X, const MKL_INT incX,
  1248. void *Y, const MKL_INT incY, const float c, const void* s, void *interop_obj) NOTHROW;
  1249. void MKL_CBLAS_VARIANT_NAME(zrot)(const MKL_INT N, void *X, const MKL_INT incX,
  1250. void *Y, const MKL_INT incY, const double c, const void* s, void *interop_obj) NOTHROW;
  1251. // BLAS API
  1252. // Level3
  1253. // Routines with S, D, C, Z prefixes (Standard)
  1254. void MKL_BLAS_VARIANT_NAME(sgemm)(const char *transa, const char *transb,
  1255. const MKL_INT *m, const MKL_INT *n, const MKL_INT *k,
  1256. const float *alpha, const float *a, const MKL_INT *lda,
  1257. const float *b, const MKL_INT *ldb,
  1258. const float *beta, float *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1259. void MKL_BLAS_VARIANT_NAME(sgemmt)(const char *uplo, const char *transa, const char *transb,
  1260. const MKL_INT *n, const MKL_INT *k,
  1261. const float *alpha, const float *a, const MKL_INT *lda,
  1262. const float *b, const MKL_INT *ldb,
  1263. const float *beta, float *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1264. void MKL_BLAS_VARIANT_NAME(ssymm)(const char *side, const char *uplo,
  1265. const MKL_INT *m, const MKL_INT *n,
  1266. const float *alpha, const float *a, const MKL_INT *lda,
  1267. const float *b, const MKL_INT *ldb,
  1268. const float *beta, float *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1269. void MKL_BLAS_VARIANT_NAME(ssyr2k)(const char *uplo, const char *trans,
  1270. const MKL_INT *n, const MKL_INT *k,
  1271. const float *alpha, const float *a, const MKL_INT *lda,
  1272. const float *b, const MKL_INT *ldb,
  1273. const float *beta, float *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1274. void MKL_BLAS_VARIANT_NAME(ssyrk)(const char *uplo, const char *trans,
  1275. const MKL_INT *n, const MKL_INT *k,
  1276. const float *alpha, const float *a, const MKL_INT *lda,
  1277. const float *beta,
  1278. float *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1279. void MKL_BLAS_VARIANT_NAME(strmm)(const char *side, const char *uplo, const char *transa,
  1280. const char *diag, const MKL_INT *m, const MKL_INT *n,
  1281. const float *alpha, const float *a, const MKL_INT *lda,
  1282. float *b, const MKL_INT *ldb, void *interop_obj) NOTHROW;
  1283. void MKL_BLAS_VARIANT_NAME(strsm)(const char *side, const char *uplo, const char *transa,
  1284. const char *diag, const MKL_INT *m, const MKL_INT *n,
  1285. const float *alpha, const float *a, const MKL_INT *lda,
  1286. float *b, const MKL_INT *ldb, void *interop_obj) NOTHROW;
  1287. void MKL_BLAS_VARIANT_NAME(dgemm)(const char *transa, const char *transb,
  1288. const MKL_INT *m, const MKL_INT *n, const MKL_INT *k,
  1289. const double *alpha, const double *a, const MKL_INT *lda,
  1290. const double *b, const MKL_INT *ldb,
  1291. const double *beta, double *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1292. void MKL_BLAS_VARIANT_NAME(dgemmt)(const char *uplo, const char *transa, const char *transb,
  1293. const MKL_INT *n, const MKL_INT *k,
  1294. const double *alpha, const double *a, const MKL_INT *lda,
  1295. const double *b, const MKL_INT *ldb,
  1296. const double *beta, double *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1297. void MKL_BLAS_VARIANT_NAME(dsymm)(const char *side, const char *uplo,
  1298. const MKL_INT *m, const MKL_INT *n,
  1299. const double *alpha, const double *a, const MKL_INT *lda,
  1300. const double *b, const MKL_INT *ldb,
  1301. const double *beta, double *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1302. void MKL_BLAS_VARIANT_NAME(dsyr2k)(const char *uplo, const char *trans,
  1303. const MKL_INT *n, const MKL_INT *k,
  1304. const double *alpha, const double *a, const MKL_INT *lda,
  1305. const double *b, const MKL_INT *ldb,
  1306. const double *beta, double *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1307. void MKL_BLAS_VARIANT_NAME(dsyrk)(const char *uplo, const char *trans,
  1308. const MKL_INT *n, const MKL_INT *k,
  1309. const double *alpha, const double *a,
  1310. const MKL_INT *lda, const double *beta,
  1311. double *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1312. void MKL_BLAS_VARIANT_NAME(dtrmm)(const char *side, const char *uplo, const char *transa,
  1313. const char *diag, const MKL_INT *m, const MKL_INT *n,
  1314. const double *alpha, const double *a, const MKL_INT *lda,
  1315. double *b, const MKL_INT *ldb, void *interop_obj) NOTHROW;
  1316. void MKL_BLAS_VARIANT_NAME(dtrsm)(const char *side, const char *uplo, const char *transa,
  1317. const char *diag, const MKL_INT *m, const MKL_INT *n,
  1318. const double *alpha, const double *a, const MKL_INT *lda,
  1319. double *b, const MKL_INT *ldb, void *interop_obj) NOTHROW;
  1320. void MKL_BLAS_VARIANT_NAME(cgemm)(const char *transa, const char *transb,
  1321. const MKL_INT *m, const MKL_INT *n, const MKL_INT *k,
  1322. const MKL_Complex8 *alpha, const MKL_Complex8 *a, const MKL_INT *lda,
  1323. const MKL_Complex8 *b, const MKL_INT *ldb, const MKL_Complex8 *beta,
  1324. MKL_Complex8 *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1325. void MKL_BLAS_VARIANT_NAME(cgemmt)(const char *uplo, const char *transa, const char *transb,
  1326. const MKL_INT *n, const MKL_INT *k,
  1327. const MKL_Complex8 *alpha, const MKL_Complex8 *a, const MKL_INT *lda,
  1328. const MKL_Complex8 *b, const MKL_INT *ldb, const MKL_Complex8 *beta,
  1329. MKL_Complex8 *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1330. void MKL_BLAS_VARIANT_NAME(csymm)(const char *side, const char *uplo,
  1331. const MKL_INT *m, const MKL_INT *n,
  1332. const MKL_Complex8 *alpha, const MKL_Complex8 *a, const MKL_INT *lda,
  1333. const MKL_Complex8 *b, const MKL_INT *ldb, const MKL_Complex8 *beta,
  1334. MKL_Complex8 *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1335. void MKL_BLAS_VARIANT_NAME(csyr2k)(const char *uplo, const char *trans,
  1336. const MKL_INT *n, const MKL_INT *k,
  1337. const MKL_Complex8 *alpha, const MKL_Complex8 *a, const MKL_INT *lda,
  1338. const MKL_Complex8 *b, const MKL_INT *ldb, const MKL_Complex8 *beta,
  1339. MKL_Complex8 *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1340. void MKL_BLAS_VARIANT_NAME(csyrk)(const char *uplo, const char *trans,
  1341. const MKL_INT *n, const MKL_INT *k,
  1342. const MKL_Complex8 *alpha, const MKL_Complex8 *a, const MKL_INT *lda,
  1343. const MKL_Complex8 *beta, MKL_Complex8 *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1344. void MKL_BLAS_VARIANT_NAME(ctrmm)(const char *side, const char *uplo, const char *transa,
  1345. const char *diag, const MKL_INT *m, const MKL_INT *n,
  1346. const MKL_Complex8 *alpha, const MKL_Complex8 *a, const MKL_INT *lda,
  1347. MKL_Complex8 *b, const MKL_INT *ldb, void *interop_obj) NOTHROW;
  1348. void MKL_BLAS_VARIANT_NAME(ctrsm)(const char *side, const char *uplo, const char *transa,
  1349. const char *diag, const MKL_INT *m, const MKL_INT *n,
  1350. const MKL_Complex8 *alpha, const MKL_Complex8 *a, const MKL_INT *lda,
  1351. MKL_Complex8 *b, const MKL_INT *ldb, void *interop_obj) NOTHROW;
  1352. void MKL_BLAS_VARIANT_NAME(zgemm)(const char *transa, const char *transb,
  1353. const MKL_INT *m, const MKL_INT *n, const MKL_INT *k,
  1354. const MKL_Complex16 *alpha, const MKL_Complex16 *a, const MKL_INT *lda,
  1355. const MKL_Complex16 *b, const MKL_INT *ldb, const MKL_Complex16 *beta,
  1356. MKL_Complex16 *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1357. void MKL_BLAS_VARIANT_NAME(zgemmt)(const char *uplo, const char *transa, const char *transb,
  1358. const MKL_INT *n, const MKL_INT *k,
  1359. const MKL_Complex16 *alpha, const MKL_Complex16 *a, const MKL_INT *lda,
  1360. const MKL_Complex16 *b, const MKL_INT *ldb, const MKL_Complex16 *beta,
  1361. MKL_Complex16 *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1362. void MKL_BLAS_VARIANT_NAME(zsymm)(const char *side, const char *uplo,
  1363. const MKL_INT *m, const MKL_INT *n,
  1364. const MKL_Complex16 *alpha, const MKL_Complex16 *a, const MKL_INT *lda,
  1365. const MKL_Complex16 *b, const MKL_INT *ldb, const MKL_Complex16 *beta,
  1366. MKL_Complex16 *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1367. void MKL_BLAS_VARIANT_NAME(zsyr2k)(const char *uplo, const char *trans,
  1368. const MKL_INT *n, const MKL_INT *k,
  1369. const MKL_Complex16 *alpha, const MKL_Complex16 *a, const MKL_INT *lda,
  1370. const MKL_Complex16 *b, const MKL_INT *ldb, const MKL_Complex16 *beta,
  1371. MKL_Complex16 *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1372. void MKL_BLAS_VARIANT_NAME(zsyrk)(const char *uplo, const char *trans,
  1373. const MKL_INT *n, const MKL_INT *k,
  1374. const MKL_Complex16 *alpha, const MKL_Complex16 *a, const MKL_INT *lda,
  1375. const MKL_Complex16 *beta, MKL_Complex16 *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1376. void MKL_BLAS_VARIANT_NAME(ztrmm)(const char *side, const char *uplo, const char *transa,
  1377. const char *diag, const MKL_INT *m, const MKL_INT *n,
  1378. const MKL_Complex16 *alpha, const MKL_Complex16 *a, const MKL_INT *lda,
  1379. MKL_Complex16 *b, const MKL_INT *ldb, void *interop_obj) NOTHROW;
  1380. void MKL_BLAS_VARIANT_NAME(ztrsm)(const char *side, const char *uplo, const char *transa,
  1381. const char *diag, const MKL_INT *m, const MKL_INT *n,
  1382. const MKL_Complex16 *alpha, const MKL_Complex16 *a, const MKL_INT *lda,
  1383. MKL_Complex16 *b, const MKL_INT *ldb, void *interop_obj) NOTHROW;
  1384. // Routines with C, Z prefixes
  1385. void MKL_BLAS_VARIANT_NAME(chemm)(const char *side, const char *uplo, const MKL_INT *m, const MKL_INT *n,
  1386. const MKL_Complex8 *alpha, const MKL_Complex8 *a, const MKL_INT *lda,
  1387. const MKL_Complex8 *b, const MKL_INT *ldb, const MKL_Complex8 *beta,
  1388. MKL_Complex8 *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1389. void MKL_BLAS_VARIANT_NAME(cher2k)(const char *uplo, const char *trans, const MKL_INT *n, const MKL_INT *k,
  1390. const MKL_Complex8 *alpha, const MKL_Complex8 *a, const MKL_INT *lda,
  1391. const MKL_Complex8 *b, const MKL_INT *ldb, const float *beta,
  1392. MKL_Complex8 *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1393. void MKL_BLAS_VARIANT_NAME(cherk)(const char *uplo, const char *trans, const MKL_INT *n, const MKL_INT *k,
  1394. const float *alpha, const MKL_Complex8 *a, const MKL_INT *lda, const float *beta,
  1395. MKL_Complex8 *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1396. void MKL_BLAS_VARIANT_NAME(zhemm)(const char *side, const char *uplo, const MKL_INT *m, const MKL_INT *n,
  1397. const MKL_Complex16 *alpha, const MKL_Complex16 *a, const MKL_INT *lda,
  1398. const MKL_Complex16 *b, const MKL_INT *ldb, const MKL_Complex16 *beta,
  1399. MKL_Complex16 *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1400. void MKL_BLAS_VARIANT_NAME(zher2k)(const char *uplo, const char *trans, const MKL_INT *n, const MKL_INT *k,
  1401. const MKL_Complex16 *alpha, const MKL_Complex16 *a, const MKL_INT *lda,
  1402. const MKL_Complex16 *b, const MKL_INT *ldb, const double *beta,
  1403. MKL_Complex16 *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1404. void MKL_BLAS_VARIANT_NAME(zherk)(const char *uplo, const char *trans, const MKL_INT *n, const MKL_INT *k,
  1405. const double *alpha, const MKL_Complex16 *a, const MKL_INT *lda,
  1406. const double *beta, MKL_Complex16 *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1407. // Other precisions
  1408. void MKL_BLAS_VARIANT_NAME(hgemm)(const char *transa, const char *transb,
  1409. const MKL_INT *m, const MKL_INT *n, const MKL_INT *k,
  1410. const MKL_F16 *alpha, const MKL_F16 *a, const MKL_INT *lda,
  1411. const MKL_F16 *b, const MKL_INT *ldb,
  1412. const MKL_F16 *beta, MKL_F16 *c, const MKL_INT *ldc, void *interop_obj) NOTHROW;
  1413. void MKL_BLAS_VARIANT_NAME(gemm_s8u8s32)(const char *transa, const char *transb, const char *offsetc,
  1414. const MKL_INT *m, const MKL_INT *n, const MKL_INT *k,
  1415. const float *alpha, const MKL_INT8 *a, const MKL_INT *lda, const MKL_INT8 *ao,
  1416. const MKL_UINT8 *b, const MKL_INT *ldb, const MKL_INT8 *bo,
  1417. const float *beta, MKL_INT32 *c, const MKL_INT *ldc, const MKL_INT32 *co, void *interop_obj) NOTHROW;
  1418. // Level2
  1419. // Routines with S, D, C, Z prefixes (Standard)
  1420. void MKL_BLAS_VARIANT_NAME(sgemv)(const char *trans, const MKL_INT *m, const MKL_INT *n,
  1421. const float *alpha, const float *a, const MKL_INT *lda,
  1422. const float *x, const MKL_INT *incx,
  1423. const float *beta, float *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1424. void MKL_BLAS_VARIANT_NAME(sgbmv)(const char *trans, const MKL_INT *m, const MKL_INT *n,
  1425. const MKL_INT *kl, const MKL_INT *ku, const float *alpha,
  1426. const float *a, const MKL_INT *lda, const float *x,
  1427. const MKL_INT *incx,
  1428. const float *beta, float *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1429. void MKL_BLAS_VARIANT_NAME(strmv)(const char *uplo, const char *transa, const char *diag,
  1430. const MKL_INT *n, const float *a,
  1431. const MKL_INT *lda, float *b, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1432. void MKL_BLAS_VARIANT_NAME(stbmv)(const char *uplo, const char *trans, const char *diag,
  1433. const MKL_INT *n, const MKL_INT *k, const float *a,
  1434. const MKL_INT *lda, float *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1435. void MKL_BLAS_VARIANT_NAME(stpmv)(const char *uplo, const char *trans, const char *diag,
  1436. const MKL_INT *n, const float *ap,
  1437. float *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1438. void MKL_BLAS_VARIANT_NAME(strsv)(const char *uplo, const char *trans, const char *diag,
  1439. const MKL_INT *n, const float *a, const MKL_INT *lda,
  1440. float *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1441. void MKL_BLAS_VARIANT_NAME(stbsv)(const char *uplo, const char *trans, const char *diag,
  1442. const MKL_INT *n, const MKL_INT *k, const float *a,
  1443. const MKL_INT *lda, float *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1444. void MKL_BLAS_VARIANT_NAME(stpsv)(const char *uplo, const char *trans, const char *diag,
  1445. const MKL_INT *n, const float *ap,
  1446. float *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1447. void MKL_BLAS_VARIANT_NAME(dgemv)(const char *trans, const MKL_INT *m, const MKL_INT *n,
  1448. const double *alpha, const double *a, const MKL_INT *lda,
  1449. const double *x, const MKL_INT *incx,
  1450. const double *beta, double *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1451. void MKL_BLAS_VARIANT_NAME(dgbmv)(const char *trans, const MKL_INT *m, const MKL_INT *n,
  1452. const MKL_INT *kl, const MKL_INT *ku, const double *alpha,
  1453. const double *a, const MKL_INT *lda, const double *x,
  1454. const MKL_INT *incx,
  1455. const double *beta, double *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1456. void MKL_BLAS_VARIANT_NAME(dtrmv)(const char *uplo, const char *transa, const char *diag,
  1457. const MKL_INT *n, const double *a,
  1458. const MKL_INT *lda, double *b, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1459. void MKL_BLAS_VARIANT_NAME(dtbmv)(const char *uplo, const char *trans, const char *diag,
  1460. const MKL_INT *n, const MKL_INT *k, const double *a,
  1461. const MKL_INT *lda, double *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1462. void MKL_BLAS_VARIANT_NAME(dtpmv)(const char *uplo, const char *trans, const char *diag,
  1463. const MKL_INT *n, const double *ap,
  1464. double *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1465. void MKL_BLAS_VARIANT_NAME(dtrsv)(const char *uplo, const char *trans, const char *diag,
  1466. const MKL_INT *n, const double *a, const MKL_INT *lda,
  1467. double *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1468. void MKL_BLAS_VARIANT_NAME(dtbsv)(const char *uplo, const char *trans, const char *diag,
  1469. const MKL_INT *n, const MKL_INT *k, const double *a,
  1470. const MKL_INT *lda, double *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1471. void MKL_BLAS_VARIANT_NAME(dtpsv)(const char *uplo, const char *trans, const char *diag,
  1472. const MKL_INT *n, const double *ap,
  1473. double *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1474. void MKL_BLAS_VARIANT_NAME(cgemv)(const char *trans, const MKL_INT *m, const MKL_INT *n,
  1475. const MKL_Complex8 *alpha, const MKL_Complex8 *a,
  1476. const MKL_INT *lda, const MKL_Complex8 *x,
  1477. const MKL_INT *incx, const MKL_Complex8 *beta,
  1478. MKL_Complex8 *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1479. void MKL_BLAS_VARIANT_NAME(cgbmv)(const char *trans, const MKL_INT *m, const MKL_INT *n,
  1480. const MKL_INT *kl, const MKL_INT *ku,
  1481. const MKL_Complex8 *alpha, const MKL_Complex8 *a,
  1482. const MKL_INT *lda,
  1483. const MKL_Complex8 *x, const MKL_INT *incx, const
  1484. MKL_Complex8 *beta, MKL_Complex8 *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1485. void MKL_BLAS_VARIANT_NAME(ctrmv)(const char *uplo, const char *transa, const char *diag,
  1486. const MKL_INT *n, const MKL_Complex8 *a, const MKL_INT *lda,
  1487. MKL_Complex8 *b, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1488. void MKL_BLAS_VARIANT_NAME(ctbmv)(const char *uplo, const char *trans, const char *diag,
  1489. const MKL_INT *n, const MKL_INT *k,
  1490. const MKL_Complex8 *a, const MKL_INT *lda,
  1491. MKL_Complex8 *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1492. void MKL_BLAS_VARIANT_NAME(ctpmv)(const char *uplo, const char *trans, const char *diag,
  1493. const MKL_INT *n, const MKL_Complex8 *ap, MKL_Complex8 *x,
  1494. const MKL_INT *incx, void *interop_obj) NOTHROW;
  1495. void MKL_BLAS_VARIANT_NAME(ctrsv)(const char *uplo, const char *trans, const char *diag,
  1496. const MKL_INT *n, const MKL_Complex8 *a, const MKL_INT *lda,
  1497. MKL_Complex8 *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1498. void MKL_BLAS_VARIANT_NAME(ctbsv)(const char *uplo, const char *trans, const char *diag,
  1499. const MKL_INT *n, const MKL_INT *k,
  1500. const MKL_Complex8 *a, const MKL_INT *lda,
  1501. MKL_Complex8 *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1502. void MKL_BLAS_VARIANT_NAME(ctpsv)(const char *uplo, const char *trans, const char *diag,
  1503. const MKL_INT *n, const MKL_Complex8 *ap, MKL_Complex8 *x,
  1504. const MKL_INT *incx, void *interop_obj) NOTHROW;
  1505. void MKL_BLAS_VARIANT_NAME(zgemv)(const char *trans, const MKL_INT *m, const MKL_INT *n,
  1506. const MKL_Complex16 *alpha,
  1507. const MKL_Complex16 *a, const MKL_INT *lda,
  1508. const MKL_Complex16 *x, const MKL_INT *incx,
  1509. const MKL_Complex16 *beta, MKL_Complex16 *y,
  1510. const MKL_INT *incy, void *interop_obj) NOTHROW;
  1511. void MKL_BLAS_VARIANT_NAME(zgbmv)(const char *trans, const MKL_INT *m, const MKL_INT *n,
  1512. const MKL_INT *kl, const MKL_INT *ku,
  1513. const MKL_Complex16 *alpha, const MKL_Complex16 *a,
  1514. const MKL_INT *lda,
  1515. const MKL_Complex16 *x, const MKL_INT *incx,
  1516. const MKL_Complex16 *beta,
  1517. MKL_Complex16 *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1518. void MKL_BLAS_VARIANT_NAME(ztrmv)(const char *uplo, const char *transa, const char *diag,
  1519. const MKL_INT *n,
  1520. const MKL_Complex16 *a, const MKL_INT *lda,
  1521. MKL_Complex16 *b, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1522. void MKL_BLAS_VARIANT_NAME(ztbmv)(const char *uplo, const char *trans, const char *diag,
  1523. const MKL_INT *n, const MKL_INT *k,
  1524. const MKL_Complex16 *a, const MKL_INT *lda,
  1525. MKL_Complex16 *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1526. void MKL_BLAS_VARIANT_NAME(ztpmv)(const char *uplo, const char *trans, const char *diag,
  1527. const MKL_INT *n, const MKL_Complex16 *ap, MKL_Complex16 *x,
  1528. const MKL_INT *incx, void *interop_obj) NOTHROW;
  1529. void MKL_BLAS_VARIANT_NAME(ztrsv)(const char *uplo, const char *trans, const char *diag,
  1530. const MKL_INT *n,
  1531. const MKL_Complex16 *a, const MKL_INT *lda,
  1532. MKL_Complex16 *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1533. void MKL_BLAS_VARIANT_NAME(ztbsv)(const char *uplo, const char *trans, const char *diag,
  1534. const MKL_INT *n, const MKL_INT *k,
  1535. const MKL_Complex16 *a, const MKL_INT *lda,
  1536. MKL_Complex16 *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1537. void MKL_BLAS_VARIANT_NAME(ztpsv)(const char *uplo, const char *trans, const char *diag,
  1538. const MKL_INT *n, const MKL_Complex16 *ap, MKL_Complex16 *x,
  1539. const MKL_INT *incx, void *interop_obj) NOTHROW;
  1540. // Routines with S, D prefixes
  1541. void MKL_BLAS_VARIANT_NAME(ssymv)(const char *uplo, const MKL_INT *n, const float *alpha,
  1542. const float *a, const MKL_INT *lda,
  1543. const float *x, const MKL_INT *incx, const float *beta,
  1544. float *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1545. void MKL_BLAS_VARIANT_NAME(ssbmv)(const char *uplo, const MKL_INT *n, const MKL_INT *k,
  1546. const float *alpha, const float *a, const MKL_INT *lda,
  1547. const float *x, const MKL_INT *incx,
  1548. const float *beta, float *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1549. void MKL_BLAS_VARIANT_NAME(sspmv)(const char *uplo, const MKL_INT *n, const float *alpha,
  1550. const float *ap, const float *x, const MKL_INT *incx,
  1551. const float *beta, float *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1552. void MKL_BLAS_VARIANT_NAME(sger)(const MKL_INT *m, const MKL_INT *n, const float *alpha,
  1553. const float *x, const MKL_INT *incx,
  1554. const float *y, const MKL_INT *incy, float *a,
  1555. const MKL_INT *lda, void *interop_obj) NOTHROW;
  1556. void MKL_BLAS_VARIANT_NAME(ssyr)(const char *uplo, const MKL_INT *n, const float *alpha,
  1557. const float *x, const MKL_INT *incx,
  1558. float *a, const MKL_INT *lda, void *interop_obj) NOTHROW;
  1559. void MKL_BLAS_VARIANT_NAME(sspr)(const char *uplo, const MKL_INT *n, const float *alpha,
  1560. const float *x, const MKL_INT *incx, float *ap, void *interop_obj) NOTHROW;
  1561. void MKL_BLAS_VARIANT_NAME(ssyr2)(const char *uplo, const MKL_INT *n, const float *alpha,
  1562. const float *x, const MKL_INT *incx,
  1563. const float *y, const MKL_INT *incy, float *a,
  1564. const MKL_INT *lda, void *interop_obj) NOTHROW;
  1565. void MKL_BLAS_VARIANT_NAME(sspr2)(const char *uplo, const MKL_INT *n, const float *alpha,
  1566. const float *x, const MKL_INT *incx,
  1567. const float *y, const MKL_INT *incy, float *ap, void *interop_obj) NOTHROW;
  1568. void MKL_BLAS_VARIANT_NAME(dsymv)(const char *uplo, const MKL_INT *n, const double *alpha,
  1569. const double *a, const MKL_INT *lda,
  1570. const double *x, const MKL_INT *incx,
  1571. const double *beta, double *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1572. void MKL_BLAS_VARIANT_NAME(dsbmv)(const char *uplo, const MKL_INT *n, const MKL_INT *k,
  1573. const double *alpha, const double *a, const MKL_INT *lda,
  1574. const double *x, const MKL_INT *incx,
  1575. const double *beta, double *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1576. void MKL_BLAS_VARIANT_NAME(dspmv)(const char *uplo, const MKL_INT *n, const double *alpha,
  1577. const double *ap, const double *x, const MKL_INT *incx,
  1578. const double *beta, double *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1579. void MKL_BLAS_VARIANT_NAME(dger)(const MKL_INT *m, const MKL_INT *n, const double *alpha,
  1580. const double *x, const MKL_INT *incx,
  1581. const double *y, const MKL_INT *incy, double *a,
  1582. const MKL_INT *lda, void *interop_obj) NOTHROW;
  1583. void MKL_BLAS_VARIANT_NAME(dsyr)(const char *uplo, const MKL_INT *n, const double *alpha,
  1584. const double *x, const MKL_INT *incx,
  1585. double *a, const MKL_INT *lda, void *interop_obj) NOTHROW;
  1586. void MKL_BLAS_VARIANT_NAME(dspr)(const char *uplo, const MKL_INT *n, const double *alpha,
  1587. const double *x, const MKL_INT *incx, double *ap, void *interop_obj) NOTHROW;
  1588. void MKL_BLAS_VARIANT_NAME(dsyr2)(const char *uplo, const MKL_INT *n, const double *alpha,
  1589. const double *x, const MKL_INT *incx,
  1590. const double *y, const MKL_INT *incy, double *a,
  1591. const MKL_INT *lda, void *interop_obj) NOTHROW;
  1592. void MKL_BLAS_VARIANT_NAME(dspr2)(const char *uplo, const MKL_INT *n, const double *alpha,
  1593. const double *x, const MKL_INT *incx,
  1594. const double *y, const MKL_INT *incy, double *ap, void *interop_obj) NOTHROW;
  1595. // Routines with C, Z prefixes
  1596. void MKL_BLAS_VARIANT_NAME(chemv)(const char *uplo, const MKL_INT *n, const MKL_Complex8 *alpha,
  1597. const MKL_Complex8 *a, const MKL_INT *lda,
  1598. const MKL_Complex8 *x, const MKL_INT *incx,
  1599. const MKL_Complex8 *beta, MKL_Complex8 *y,
  1600. const MKL_INT *incy, void *interop_obj) NOTHROW;
  1601. void MKL_BLAS_VARIANT_NAME(chbmv)(const char *uplo, const MKL_INT *n, const MKL_INT *k,
  1602. const MKL_Complex8 *alpha, const MKL_Complex8 *a,
  1603. const MKL_INT *lda, const MKL_Complex8 *x,
  1604. const MKL_INT *incx, const MKL_Complex8 *beta,
  1605. MKL_Complex8 *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1606. void MKL_BLAS_VARIANT_NAME(chpmv)(const char *uplo, const MKL_INT *n, const MKL_Complex8 *alpha,
  1607. const MKL_Complex8 *ap, const MKL_Complex8 *x,
  1608. const MKL_INT *incx, const MKL_Complex8 *beta,
  1609. MKL_Complex8 *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1610. void MKL_BLAS_VARIANT_NAME(cgeru)(const MKL_INT *m, const MKL_INT *n, const MKL_Complex8 *alpha,
  1611. const MKL_Complex8 *x, const MKL_INT *incx,
  1612. const MKL_Complex8 *y, const MKL_INT *incy,
  1613. MKL_Complex8 *a, const MKL_INT *lda, void *interop_obj) NOTHROW;
  1614. void MKL_BLAS_VARIANT_NAME(cgerc)(const MKL_INT *m, const MKL_INT *n, const MKL_Complex8 *alpha,
  1615. const MKL_Complex8 *x, const MKL_INT *incx,
  1616. const MKL_Complex8 *y, const MKL_INT *incy,
  1617. MKL_Complex8 *a, const MKL_INT *lda, void *interop_obj) NOTHROW;
  1618. void MKL_BLAS_VARIANT_NAME(cher)(const char *uplo, const MKL_INT *n, const float *alpha,
  1619. const MKL_Complex8 *x, const MKL_INT *incx,
  1620. MKL_Complex8 *a, const MKL_INT *lda, void *interop_obj) NOTHROW;
  1621. void MKL_BLAS_VARIANT_NAME(chpr)(const char *uplo, const MKL_INT *n, const float *alpha,
  1622. const MKL_Complex8 *x, const MKL_INT *incx, MKL_Complex8 *ap, void *interop_obj) NOTHROW;
  1623. void MKL_BLAS_VARIANT_NAME(cher2)(const char *uplo, const MKL_INT *n, const MKL_Complex8 *alpha,
  1624. const MKL_Complex8 *x, const MKL_INT *incx,
  1625. const MKL_Complex8 *y, const MKL_INT *incy,
  1626. MKL_Complex8 *a, const MKL_INT *lda, void *interop_obj) NOTHROW;
  1627. void MKL_BLAS_VARIANT_NAME(chpr2)(const char *uplo, const MKL_INT *n, const MKL_Complex8 *alpha,
  1628. const MKL_Complex8 *x, const MKL_INT *incx,
  1629. const MKL_Complex8 *y, const MKL_INT *incy,
  1630. MKL_Complex8 *ap, void *interop_obj) NOTHROW;
  1631. void MKL_BLAS_VARIANT_NAME(zhemv)(const char *uplo, const MKL_INT *n, const MKL_Complex16 *alpha,
  1632. const MKL_Complex16 *a, const MKL_INT *lda,
  1633. const MKL_Complex16 *x, const MKL_INT *incx,
  1634. const MKL_Complex16 *beta, MKL_Complex16 *y,
  1635. const MKL_INT *incy, void *interop_obj) NOTHROW;
  1636. void MKL_BLAS_VARIANT_NAME(zhbmv)(const char *uplo, const MKL_INT *n, const MKL_INT *k,
  1637. const MKL_Complex16 *alpha, const MKL_Complex16 *a,
  1638. const MKL_INT *lda, const MKL_Complex16 *x, const MKL_INT *incx,
  1639. const MKL_Complex16 *beta, MKL_Complex16 *y,
  1640. const MKL_INT *incy, void *interop_obj) NOTHROW;
  1641. void MKL_BLAS_VARIANT_NAME(zhpmv)(const char *uplo, const MKL_INT *n, const MKL_Complex16 *alpha,
  1642. const MKL_Complex16 *ap, const MKL_Complex16 *x,
  1643. const MKL_INT *incx, const MKL_Complex16 *beta,
  1644. MKL_Complex16 *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1645. void MKL_BLAS_VARIANT_NAME(zgeru)(const MKL_INT *m, const MKL_INT *n, const MKL_Complex16 *alpha,
  1646. const MKL_Complex16 *x, const MKL_INT *incx,
  1647. const MKL_Complex16 *y, const MKL_INT *incy,
  1648. MKL_Complex16 *a, const MKL_INT *lda, void *interop_obj) NOTHROW;
  1649. void MKL_BLAS_VARIANT_NAME(zgerc)(const MKL_INT *m, const MKL_INT *n, const MKL_Complex16 *alpha,
  1650. const MKL_Complex16 *x, const MKL_INT *incx,
  1651. const MKL_Complex16 *y, const MKL_INT *incy,
  1652. MKL_Complex16 *a, const MKL_INT *lda, void *interop_obj) NOTHROW;
  1653. void MKL_BLAS_VARIANT_NAME(zher)(const char *uplo, const MKL_INT *n, const double *alpha,
  1654. const MKL_Complex16 *x, const MKL_INT *incx,
  1655. MKL_Complex16 *a, const MKL_INT *lda, void *interop_obj) NOTHROW;
  1656. void MKL_BLAS_VARIANT_NAME(zhpr)(const char *uplo, const MKL_INT *n, const double *alpha,
  1657. const MKL_Complex16 *x, const MKL_INT *incx,
  1658. MKL_Complex16 *ap, void *interop_obj) NOTHROW;
  1659. void MKL_BLAS_VARIANT_NAME(zher2)(const char *uplo, const MKL_INT *n, const MKL_Complex16 *alpha,
  1660. const MKL_Complex16 *x, const MKL_INT *incx,
  1661. const MKL_Complex16 *y, const MKL_INT *incy,
  1662. MKL_Complex16 *a, const MKL_INT *lda, void *interop_obj) NOTHROW;
  1663. void MKL_BLAS_VARIANT_NAME(zhpr2)(const char *uplo, const MKL_INT *n, const MKL_Complex16 *alpha,
  1664. const MKL_Complex16 *x, const MKL_INT *incx,
  1665. const MKL_Complex16 *y, const MKL_INT *incy,
  1666. MKL_Complex16 *ap, void *interop_obj) NOTHROW;
  1667. // Level1
  1668. // Routines with S, D, DS, SDS prefixes
  1669. float MKL_BLAS_VARIANT_NAME(sdot)(const MKL_INT *n, const float *x, const MKL_INT *incx,
  1670. const float *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1671. double MKL_BLAS_VARIANT_NAME(ddot)(const MKL_INT *n, const double *x, const MKL_INT *incx,
  1672. const double *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1673. double MKL_BLAS_VARIANT_NAME(dsdot)(const MKL_INT *n, const float *x, const MKL_INT *incx,
  1674. const float *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1675. float MKL_BLAS_VARIANT_NAME(sdsdot)(const MKL_INT *n, const float *sb, const float *x,
  1676. const MKL_INT *incx, const float *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1677. // Routines with C, Z prefixes
  1678. void MKL_BLAS_VARIANT_NAME(cdotc)(MKL_Complex8 *pres, const MKL_INT *n, const MKL_Complex8 *x,
  1679. const MKL_INT *incx, const MKL_Complex8 *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1680. void MKL_BLAS_VARIANT_NAME(cdotu)(MKL_Complex8 *pres, const MKL_INT *n, const MKL_Complex8 *x,
  1681. const MKL_INT *incx, const MKL_Complex8 *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1682. void MKL_BLAS_VARIANT_NAME(zdotc)(MKL_Complex16 *pres, const MKL_INT *n, const MKL_Complex16 *x,
  1683. const MKL_INT *incx, const MKL_Complex16 *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1684. void MKL_BLAS_VARIANT_NAME(zdotu)(MKL_Complex16 *pres, const MKL_INT *n, const MKL_Complex16 *x,
  1685. const MKL_INT *incx, const MKL_Complex16 *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1686. // Routines with S, D, SC, DZ prefixes
  1687. float MKL_BLAS_VARIANT_NAME(snrm2)(const MKL_INT *n, const float *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1688. float MKL_BLAS_VARIANT_NAME(sasum)(const MKL_INT *n, const float *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1689. double MKL_BLAS_VARIANT_NAME(dnrm2)(const MKL_INT *n, const double *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1690. double MKL_BLAS_VARIANT_NAME(dasum)(const MKL_INT *n, const double *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1691. float MKL_BLAS_VARIANT_NAME(scnrm2)(const MKL_INT *n, const MKL_Complex8 *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1692. float MKL_BLAS_VARIANT_NAME(scasum)(const MKL_INT *n, const MKL_Complex8 *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1693. double MKL_BLAS_VARIANT_NAME(dznrm2)(const MKL_INT *n, const MKL_Complex16 *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1694. double MKL_BLAS_VARIANT_NAME(dzasum)(const MKL_INT *n, const MKL_Complex16 *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1695. // Routines with S, D, C, Z prefixes (Standard)
  1696. MKL_INT MKL_BLAS_VARIANT_NAME(isamax)(const MKL_INT *n, const float *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1697. MKL_INT MKL_BLAS_VARIANT_NAME(idamax)(const MKL_INT *n, const double *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1698. MKL_INT MKL_BLAS_VARIANT_NAME(icamax)(const MKL_INT *n, const MKL_Complex8 *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1699. MKL_INT MKL_BLAS_VARIANT_NAME(izamax)(const MKL_INT *n, const MKL_Complex16 *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1700. MKL_INT MKL_BLAS_VARIANT_NAME(isamin)(const MKL_INT *n, const float *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1701. MKL_INT MKL_BLAS_VARIANT_NAME(icamin)(const MKL_INT *n, const MKL_Complex8 *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1702. MKL_INT MKL_BLAS_VARIANT_NAME(idamin)(const MKL_INT *n, const double *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1703. MKL_INT MKL_BLAS_VARIANT_NAME(izamin)(const MKL_INT *n, const MKL_Complex16 *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1704. void MKL_BLAS_VARIANT_NAME(sswap)(const MKL_INT *n, float *x, const MKL_INT *incx, float *y,
  1705. const MKL_INT *incy, void *interop_obj) NOTHROW;
  1706. void MKL_BLAS_VARIANT_NAME(scopy)(const MKL_INT *n, const float *x, const MKL_INT *incx, float *y,
  1707. const MKL_INT *incy, void *interop_obj) NOTHROW;
  1708. void MKL_BLAS_VARIANT_NAME(saxpy)(const MKL_INT *n, const float *alpha, const float *x,
  1709. const MKL_INT *incx, float *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1710. void MKL_BLAS_VARIANT_NAME(srotg)(float *a,float *b,float *c,float *s, void *interop_obj) NOTHROW;
  1711. void MKL_BLAS_VARIANT_NAME(dswap)(const MKL_INT *n, double *x, const MKL_INT *incx, double *y,
  1712. const MKL_INT *incy, void *interop_obj) NOTHROW;
  1713. void MKL_BLAS_VARIANT_NAME(dcopy)(const MKL_INT *n, const double *x, const MKL_INT *incx, double *y,
  1714. const MKL_INT *incy, void *interop_obj) NOTHROW;
  1715. void MKL_BLAS_VARIANT_NAME(daxpy)(const MKL_INT *n, const double *alpha, const double *x,
  1716. const MKL_INT *incx, double *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1717. void MKL_BLAS_VARIANT_NAME(drotg)(double *a, double *b, double *c, double *s, void *interop_obj) NOTHROW;
  1718. void MKL_BLAS_VARIANT_NAME(cswap)(const MKL_INT *n, MKL_Complex8 *x, const MKL_INT *incx,
  1719. MKL_Complex8 *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1720. void MKL_BLAS_VARIANT_NAME(ccopy)(const MKL_INT *n, const MKL_Complex8 *x, const MKL_INT *incx,
  1721. MKL_Complex8 *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1722. void MKL_BLAS_VARIANT_NAME(caxpy)(const MKL_INT *n, const MKL_Complex8 *alpha, const MKL_Complex8 *x,
  1723. const MKL_INT *incx, MKL_Complex8 *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1724. void MKL_BLAS_VARIANT_NAME(crotg)(MKL_Complex8 *a, const MKL_Complex8 *b, float *c, MKL_Complex8 *s, void *interop_obj) NOTHROW;
  1725. void MKL_BLAS_VARIANT_NAME(zswap)(const MKL_INT *n, MKL_Complex16 *x, const MKL_INT *incx,
  1726. MKL_Complex16 *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1727. void MKL_BLAS_VARIANT_NAME(zcopy)(const MKL_INT *n, const MKL_Complex16 *x, const MKL_INT *incx,
  1728. MKL_Complex16 *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1729. void MKL_BLAS_VARIANT_NAME(zaxpy)(const MKL_INT *n, const MKL_Complex16 *alpha, const MKL_Complex16 *x,
  1730. const MKL_INT *incx, MKL_Complex16 *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1731. void MKL_BLAS_VARIANT_NAME(zrotg)(MKL_Complex16 *a, const MKL_Complex16 *b, double *c, MKL_Complex16 *s, void *interop_obj) NOTHROW;
  1732. // Routines with S, D prefixes
  1733. void MKL_BLAS_VARIANT_NAME(srotmg)(float *d1, float *d2, float *x1, const float *y1, float *param, void *interop_obj) NOTHROW;
  1734. void MKL_BLAS_VARIANT_NAME(srot)(const MKL_INT *n, float *x, const MKL_INT *incx, float *y,
  1735. const MKL_INT *incy, const float *c, const float *s, void *interop_obj) NOTHROW;
  1736. void MKL_BLAS_VARIANT_NAME(srotm)(const MKL_INT *n, float *x, const MKL_INT *incx, float *y,
  1737. const MKL_INT *incy, const float *param, void *interop_obj) NOTHROW;
  1738. void MKL_BLAS_VARIANT_NAME(drotmg)(double *d1, double *d2, double *x1, const double *y1, double *param, void *interop_obj) NOTHROW;
  1739. void MKL_BLAS_VARIANT_NAME(drot)(const MKL_INT *n, double *x, const MKL_INT *incx, double *y,
  1740. const MKL_INT *incy, const double *c, const double *s, void *interop_obj) NOTHROW;
  1741. void MKL_BLAS_VARIANT_NAME(drotm)(const MKL_INT *n, double *x, const MKL_INT *incx, double *y,
  1742. const MKL_INT *incy, const double *param, void *interop_obj) NOTHROW;
  1743. // Routines with CS, ZD prefixes
  1744. void MKL_BLAS_VARIANT_NAME(csrot)(const MKL_INT *n, MKL_Complex8 *x, const MKL_INT *incx, MKL_Complex8 *y,
  1745. const MKL_INT *incy, const float *c, const float *s, void *interop_obj) NOTHROW;
  1746. void MKL_BLAS_VARIANT_NAME(zdrot)(const MKL_INT *n, MKL_Complex16 *x, const MKL_INT *incx, MKL_Complex16 *y,
  1747. const MKL_INT *incy, const double *c, const double *s, void *interop_obj) NOTHROW;
  1748. void MKL_BLAS_VARIANT_NAME(crot)(const MKL_INT *n, MKL_Complex8 *x, const MKL_INT *incx, MKL_Complex8 *y,
  1749. const MKL_INT *incy, const float *c, const MKL_Complex8 *s, void *interop_obj) NOTHROW;
  1750. void MKL_BLAS_VARIANT_NAME(zrot)(const MKL_INT *n, MKL_Complex16 *x, const MKL_INT *incx, MKL_Complex16 *y,
  1751. const MKL_INT *incy, const double *c, const MKL_Complex16 *s, void *interop_obj) NOTHROW;
  1752. // Routines with S D C Z CS and ZD prefixes
  1753. void MKL_BLAS_VARIANT_NAME(sscal)(const MKL_INT *n, const float *a, float *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1754. void MKL_BLAS_VARIANT_NAME(dscal)(const MKL_INT *n, const double *a, double *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1755. void MKL_BLAS_VARIANT_NAME(cscal)(const MKL_INT *n, const MKL_Complex8 *a, MKL_Complex8 *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1756. void MKL_BLAS_VARIANT_NAME(zscal)(const MKL_INT *n, const MKL_Complex16 *a, MKL_Complex16 *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1757. void MKL_BLAS_VARIANT_NAME(csscal)(const MKL_INT *n, const float *a, MKL_Complex8 *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1758. void MKL_BLAS_VARIANT_NAME(zdscal)(const MKL_INT *n, const double *a, MKL_Complex16 *x, const MKL_INT *incx, void *interop_obj) NOTHROW;
  1759. void MKL_BLAS_VARIANT_NAME(saxpby)(const MKL_INT *n, const float *alpha, const float *x, const MKL_INT *incx,
  1760. const float *beta, float *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1761. void MKL_BLAS_VARIANT_NAME(caxpby)(const MKL_INT *n, const MKL_Complex8 *alpha,
  1762. const MKL_Complex8 *x, const MKL_INT *incx,
  1763. const MKL_Complex8 *beta, MKL_Complex8 *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1764. void MKL_BLAS_VARIANT_NAME(daxpby)(const MKL_INT *n, const double *alpha, const double *x, const MKL_INT *incx,
  1765. const double *beta, double *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1766. void MKL_BLAS_VARIANT_NAME(zaxpby)(const MKL_INT *n, const MKL_Complex16 *alpha,
  1767. const MKL_Complex16 *x, const MKL_INT *incx,
  1768. const MKL_Complex16 *beta, MKL_Complex16 *y, const MKL_INT *incy, void *interop_obj) NOTHROW;
  1769. void MKL_CBLAS_VARIANT_NAME(saxpby)(const MKL_INT N, const float alpha, const float *X,
  1770. const MKL_INT incX, const float beta, float *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1771. void MKL_CBLAS_VARIANT_NAME(daxpby)(const MKL_INT N, const double alpha, const double *X,
  1772. const MKL_INT incX, const double beta, double *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1773. void MKL_CBLAS_VARIANT_NAME(caxpby)(const MKL_INT N, const void *alpha, const void *X,
  1774. const MKL_INT incX, const void *beta, void *Y, const MKL_INT incY, void *interop_obj) NOTHROW;
  1775. void MKL_CBLAS_VARIANT_NAME(zaxpby)(const MKL_INT N, const void *alpha, const void *X,
  1776. const MKL_INT incX, const void *beta, void *Y, const MKL_INT incY, void *interop_obj) NOTHROW ;
  1777. #ifdef __cplusplus
  1778. }
  1779. #endif /* __cplusplus */
  1780. #endif