mkl_blas_omp_variant_ilp64.f90 128 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451
  1. !===============================================================================
  2. ! Copyright 2020-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. ! Content:
  15. ! Intel(R) oneAPI Math Kernel Library (oneMKL) FORTRAN interface for BLAS
  16. ! OpenMP offload
  17. !*******************************************************************************
  18. interface
  19. ! Matrix transposition and copy API
  20. subroutine mkl_blas_simatcopy_batch_strided_omp_offload_ilp64 ( ordering, trans, rows, &
  21. &cols, alpha, ab, lda, ldb, stride, batch_size, interop ) BIND(C)
  22. use, intrinsic :: iso_c_binding
  23. character*1,intent(in) :: ordering, trans
  24. integer,intent(in) :: rows, cols, lda, ldb, stride, batch_size
  25. real,intent(in) :: alpha
  26. real,intent(inout) :: ab( * )
  27. type(c_ptr),intent(in) :: interop
  28. end subroutine mkl_blas_simatcopy_batch_strided_omp_offload_ilp64
  29. subroutine mkl_blas_dimatcopy_batch_strided_omp_offload_ilp64 ( ordering, trans, rows, &
  30. &cols, alpha, ab, lda, ldb, stride, batch_size, interop ) BIND(C)
  31. use, intrinsic :: iso_c_binding
  32. character*1,intent(in) :: ordering, trans
  33. integer,intent(in) :: rows, cols, lda, ldb, stride, batch_size
  34. double precision,intent(in) :: alpha
  35. double precision,intent(inout) :: ab( * )
  36. type(c_ptr),intent(in) :: interop
  37. end subroutine mkl_blas_dimatcopy_batch_strided_omp_offload_ilp64
  38. subroutine mkl_blas_cimatcopy_batch_strided_omp_offload_ilp64 ( ordering, trans, rows, &
  39. &cols, alpha, ab, lda, ldb, stride, batch_size, interop ) BIND(C)
  40. use, intrinsic :: iso_c_binding
  41. character*1,intent(in) :: ordering, trans
  42. integer,intent(in) :: rows, cols, lda, ldb, stride, batch_size
  43. complex,intent(in) :: alpha
  44. complex,intent(inout) :: ab( * )
  45. type(c_ptr),intent(in) :: interop
  46. end subroutine mkl_blas_cimatcopy_batch_strided_omp_offload_ilp64
  47. subroutine mkl_blas_zimatcopy_batch_strided_omp_offload_ilp64 ( ordering, trans, rows, &
  48. &cols, alpha, ab, lda, ldb, stride, batch_size, interop ) BIND(C)
  49. use, intrinsic :: iso_c_binding
  50. character*1,intent(in) :: ordering, trans
  51. integer,intent(in) :: rows, cols, lda, ldb, stride, batch_size
  52. complex*16,intent(in) :: alpha
  53. complex*16,intent(inout) :: ab( * )
  54. type(c_ptr),intent(in) :: interop
  55. end subroutine mkl_blas_zimatcopy_batch_strided_omp_offload_ilp64
  56. subroutine mkl_blas_somatcopy_batch_strided_omp_offload_ilp64 ( ordering, trans, rows, &
  57. &cols, alpha, a, lda, stridea, b, ldb, strideb, batch_size, interop ) BIND(C)
  58. use, intrinsic :: iso_c_binding
  59. character*1,intent(in) :: ordering, trans
  60. integer,intent(in) :: rows, cols, lda, ldb
  61. integer,intent(in) :: stridea, strideb, batch_size
  62. real,intent(in) :: alpha
  63. real,intent(in) :: a( lda, * )
  64. real,intent(inout) :: b( ldb, * )
  65. type(c_ptr),intent(in) :: interop
  66. end subroutine mkl_blas_somatcopy_batch_strided_omp_offload_ilp64
  67. subroutine mkl_blas_domatcopy_batch_strided_omp_offload_ilp64 ( ordering, trans, rows, &
  68. &cols, alpha, a, lda, stridea, b, ldb, strideb, batch_size, interop ) BIND(C)
  69. use, intrinsic :: iso_c_binding
  70. character*1,intent(in) :: ordering, trans
  71. integer,intent(in) :: rows, cols, lda, ldb
  72. integer,intent(in) :: stridea, strideb, batch_size
  73. double precision,intent(in) :: alpha
  74. double precision,intent(in) :: a( lda, * )
  75. double precision,intent(inout) :: b( ldb, * )
  76. type(c_ptr),intent(in) :: interop
  77. end subroutine mkl_blas_domatcopy_batch_strided_omp_offload_ilp64
  78. subroutine mkl_blas_comatcopy_batch_strided_omp_offload_ilp64 ( ordering, trans, rows, &
  79. &cols, alpha, a, lda, stridea, b, ldb, strideb, batch_size, interop ) BIND(C)
  80. use, intrinsic :: iso_c_binding
  81. character*1,intent(in) :: ordering, trans
  82. integer,intent(in) :: rows, cols, lda, ldb
  83. integer,intent(in) :: stridea, strideb, batch_size
  84. complex,intent(in) :: alpha
  85. complex,intent(in) :: a( lda, * )
  86. complex,intent(inout) :: b( ldb, * )
  87. type(c_ptr),intent(in) :: interop
  88. end subroutine mkl_blas_comatcopy_batch_strided_omp_offload_ilp64
  89. subroutine mkl_blas_zomatcopy_batch_strided_omp_offload_ilp64 ( ordering, trans, rows, &
  90. &cols, alpha, a, lda, stridea, b, ldb, strideb, batch_size, interop ) BIND(C)
  91. use, intrinsic :: iso_c_binding
  92. character*1,intent(in) :: ordering, trans
  93. integer,intent(in) :: rows, cols, lda, ldb
  94. integer,intent(in) :: stridea, strideb, batch_size
  95. complex*16,intent(in) :: alpha
  96. complex*16,intent(in) :: a( lda, * )
  97. complex*16,intent(inout) :: b( ldb, * )
  98. type(c_ptr),intent(in) :: interop
  99. end subroutine mkl_blas_zomatcopy_batch_strided_omp_offload_ilp64
  100. subroutine mkl_blas_somatadd_batch_strided_omp_offload_ilp64 ( ordering, transa, transb, &
  101. &rows, cols, alpha, a, lda, stridea, beta, b, ldb, strideb, c, ldc, stridec, &
  102. &batch_size, interop ) BIND(C)
  103. use, intrinsic :: iso_c_binding
  104. character*1,intent(in) :: ordering, transa, transb
  105. integer,intent(in) :: rows, cols, lda, ldb, ldc
  106. integer,intent(in) :: stridea, strideb, stridec, batch_size
  107. real,intent(in) :: alpha, beta
  108. real,intent(in) :: a( lda, * )
  109. real,intent(in) :: b( ldb, * )
  110. real,intent(inout) :: c( ldc, * )
  111. type(c_ptr),intent(in) :: interop
  112. end subroutine mkl_blas_somatadd_batch_strided_omp_offload_ilp64
  113. subroutine mkl_blas_domatadd_batch_strided_omp_offload_ilp64 ( ordering, transa, transb, &
  114. &rows, cols, alpha, a, lda, stridea, beta, b, ldb, strideb, c, ldc, stridec, &
  115. &batch_size, interop ) BIND(C)
  116. use, intrinsic :: iso_c_binding
  117. character*1,intent(in) :: ordering, transa, transb
  118. integer,intent(in) :: rows, cols, lda, ldb, ldc
  119. integer,intent(in) :: stridea, strideb, stridec, batch_size
  120. double precision,intent(in) :: alpha, beta
  121. double precision,intent(in) :: a( lda, * )
  122. double precision,intent(in) :: b( ldb, * )
  123. double precision,intent(inout) :: c( ldc, * )
  124. type(c_ptr),intent(in) :: interop
  125. end subroutine mkl_blas_domatadd_batch_strided_omp_offload_ilp64
  126. subroutine mkl_blas_comatadd_batch_strided_omp_offload_ilp64 ( ordering, transa, transb, &
  127. &rows, cols, alpha, a, lda, stridea, beta, b, ldb, strideb, c, ldc, stridec, &
  128. &batch_size, interop ) BIND(C)
  129. use, intrinsic :: iso_c_binding
  130. character*1,intent(in) :: ordering, transa, transb
  131. integer,intent(in) :: rows, cols, lda, ldb, ldc
  132. integer,intent(in) :: stridea, strideb, stridec, batch_size
  133. complex,intent(in) :: alpha, beta
  134. complex,intent(in) :: a( lda, * )
  135. complex,intent(in) :: b( ldb, * )
  136. complex,intent(inout) :: c( ldc, * )
  137. type(c_ptr),intent(in) :: interop
  138. end subroutine mkl_blas_comatadd_batch_strided_omp_offload_ilp64
  139. subroutine mkl_blas_zomatadd_batch_strided_omp_offload_ilp64 ( ordering, transa, transb, &
  140. &rows, cols, alpha, a, lda, stridea, beta, b, ldb, strideb, c, ldc, stridec, &
  141. &batch_size, interop ) BIND(C)
  142. use, intrinsic :: iso_c_binding
  143. character*1,intent(in) :: ordering, transa, transb
  144. integer,intent(in) :: rows, cols, lda, ldb, ldc
  145. integer,intent(in) :: stridea, strideb, stridec, batch_size
  146. complex*16,intent(in) :: alpha, beta
  147. complex*16,intent(in) :: a( lda, * )
  148. complex*16,intent(in) :: b( ldb, * )
  149. complex*16,intent(inout) :: c( ldc, * )
  150. type(c_ptr),intent(in) :: interop
  151. end subroutine mkl_blas_zomatadd_batch_strided_omp_offload_ilp64
  152. subroutine mkl_blas_simatcopy_batch_omp_offload_ilp64 ( ordering, trans_array, rows_array, &
  153. &cols_array, alpha_array, ab_array, lda_array, ldb_array, group_count, group_size, interop ) BIND(C)
  154. use, intrinsic :: iso_c_binding
  155. character*1,intent(in) :: ordering
  156. character*1,intent(in) :: trans_array(*)
  157. integer,intent(in) :: rows_array(*), cols_array(*), lda_array(*), ldb_array(*), group_count, group_size(*)
  158. real,intent(in) :: alpha_array(*)
  159. integer(KIND=C_INTPTR_T),intent(inout) :: ab_array(*)
  160. type(c_ptr),intent(in) :: interop
  161. end subroutine mkl_blas_simatcopy_batch_omp_offload_ilp64
  162. subroutine mkl_blas_dimatcopy_batch_omp_offload_ilp64 ( ordering, trans_array, rows_array, &
  163. &cols_array, alpha_array, ab_array, lda_array, ldb_array, group_count, group_size, interop ) BIND(C)
  164. use, intrinsic :: iso_c_binding
  165. character*1,intent(in) :: ordering
  166. character*1,intent(in) :: trans_array(*)
  167. integer,intent(in) :: rows_array(*), cols_array(*), lda_array(*), ldb_array(*), group_count, group_size(*)
  168. double precision,intent(in) :: alpha_array(*)
  169. integer(KIND=C_INTPTR_T),intent(inout) :: ab_array(*)
  170. type(c_ptr),intent(in) :: interop
  171. end subroutine mkl_blas_dimatcopy_batch_omp_offload_ilp64
  172. subroutine mkl_blas_cimatcopy_batch_omp_offload_ilp64 ( ordering, trans_array, rows_array, &
  173. &cols_array, alpha_array, ab_array, lda_array, ldb_array, group_count, group_size, interop ) BIND(C)
  174. use, intrinsic :: iso_c_binding
  175. character*1,intent(in) :: ordering
  176. character*1,intent(in) :: trans_array(*)
  177. integer,intent(in) :: rows_array(*), cols_array(*), lda_array(*), ldb_array(*), group_count, group_size(*)
  178. complex,intent(in) :: alpha_array(*)
  179. integer(KIND=C_INTPTR_T),intent(inout) :: ab_array(*)
  180. type(c_ptr),intent(in) :: interop
  181. end subroutine mkl_blas_cimatcopy_batch_omp_offload_ilp64
  182. subroutine mkl_blas_zimatcopy_batch_omp_offload_ilp64 ( ordering, trans_array, rows_array, &
  183. &cols_array, alpha_array, ab_array, lda_array, ldb_array, group_count, group_size, interop ) BIND(C)
  184. use, intrinsic :: iso_c_binding
  185. character*1,intent(in) :: ordering
  186. character*1,intent(in) :: trans_array(*)
  187. integer,intent(in) :: rows_array(*), cols_array(*), lda_array(*), ldb_array(*), group_count, group_size(*)
  188. complex*16,intent(in) :: alpha_array(*)
  189. integer(KIND=C_INTPTR_T),intent(inout) :: ab_array(*)
  190. type(c_ptr),intent(in) :: interop
  191. end subroutine mkl_blas_zimatcopy_batch_omp_offload_ilp64
  192. subroutine mkl_blas_somatcopy_batch_omp_offload_ilp64 ( ordering, trans_array, rows_array, &
  193. &cols_array, alpha_array, a_array, lda_array, b_array, ldb_array, group_count, group_size, interop ) BIND(C)
  194. use, intrinsic :: iso_c_binding
  195. character*1,intent(in) :: ordering
  196. character*1,intent(in) :: trans_array(*)
  197. integer,intent(in) :: rows_array(*), cols_array(*), lda_array(*), ldb_array(*), group_count, group_size(*)
  198. real,intent(in) :: alpha_array(*)
  199. integer(KIND=C_INTPTR_T),intent(in) :: a_array(*)
  200. integer(KIND=C_INTPTR_T),intent(inout) :: b_array(*)
  201. type(c_ptr),intent(in) :: interop
  202. end subroutine mkl_blas_somatcopy_batch_omp_offload_ilp64
  203. subroutine mkl_blas_domatcopy_batch_omp_offload_ilp64 ( ordering, trans_array, rows_array, &
  204. &cols_array, alpha_array, a_array, lda_array, b_array, ldb_array, group_count, group_size, interop ) BIND(C)
  205. use, intrinsic :: iso_c_binding
  206. character*1,intent(in) :: ordering
  207. character*1,intent(in) :: trans_array(*)
  208. integer,intent(in) :: rows_array(*), cols_array(*), lda_array(*), ldb_array(*), group_count, group_size(*)
  209. double precision,intent(in) :: alpha_array(*)
  210. integer(KIND=C_INTPTR_T),intent(in) :: a_array(*)
  211. integer(KIND=C_INTPTR_T),intent(inout) :: b_array(*)
  212. type(c_ptr),intent(in) :: interop
  213. end subroutine mkl_blas_domatcopy_batch_omp_offload_ilp64
  214. subroutine mkl_blas_comatcopy_batch_omp_offload_ilp64 ( ordering, trans_array, rows_array, &
  215. &cols_array, alpha_array, a_array, lda_array, b_array, ldb_array, group_count, group_size, interop ) BIND(C)
  216. use, intrinsic :: iso_c_binding
  217. character*1,intent(in) :: ordering
  218. character*1,intent(in) :: trans_array(*)
  219. integer,intent(in) :: rows_array(*), cols_array(*), lda_array(*), ldb_array(*), group_count, group_size(*)
  220. complex,intent(in) :: alpha_array(*)
  221. integer(KIND=C_INTPTR_T),intent(in) :: a_array(*)
  222. integer(KIND=C_INTPTR_T),intent(inout) :: b_array(*)
  223. type(c_ptr),intent(in) :: interop
  224. end subroutine mkl_blas_comatcopy_batch_omp_offload_ilp64
  225. subroutine mkl_blas_zomatcopy_batch_omp_offload_ilp64 ( ordering, trans_array, rows_array, &
  226. &cols_array, alpha_array, a_array, lda_array, b_array, ldb_array, group_count, group_size, interop ) BIND(C)
  227. use, intrinsic :: iso_c_binding
  228. character*1,intent(in) :: ordering
  229. character*1,intent(in) :: trans_array(*)
  230. integer,intent(in) :: rows_array(*), cols_array(*), lda_array(*), ldb_array(*), group_count, group_size(*)
  231. complex*16,intent(in) :: alpha_array(*)
  232. integer(KIND=C_INTPTR_T),intent(in) :: a_array(*)
  233. integer(KIND=C_INTPTR_T),intent(inout) :: b_array(*)
  234. type(c_ptr),intent(in) :: interop
  235. end subroutine mkl_blas_zomatcopy_batch_omp_offload_ilp64
  236. ! BLAS Level3
  237. subroutine mkl_blas_dgemm_omp_offload_ilp64 ( transa, transb, m, n, k, alpha, a, lda, &
  238. &b, ldb, beta, c, ldc, interop ) BIND(C)
  239. use, intrinsic :: iso_c_binding
  240. character*1,intent(in) :: transa, transb
  241. integer,intent(in) :: m, n, k, lda, ldb, ldc
  242. double precision,intent(in) :: alpha, beta
  243. double precision,intent(in) :: a( lda, * ), b( ldb, * )
  244. double precision,intent(inout) :: c( ldc, * )
  245. type(c_ptr),intent(in) :: interop
  246. end subroutine mkl_blas_dgemm_omp_offload_ilp64
  247. subroutine mkl_blas_sgemm_omp_offload_ilp64 ( transa, transb, m, n, k, alpha, a, lda, &
  248. &b, ldb, beta, c, ldc, interop ) BIND(C)
  249. use, intrinsic :: iso_c_binding
  250. character*1,intent(in) :: transa, transb
  251. integer,intent(in) :: m, n, k, lda, ldb, ldc
  252. real,intent(in) :: alpha, beta
  253. real,intent(in) :: a( lda, * ), b( ldb, * )
  254. real,intent(inout) :: c( ldc, * )
  255. type(c_ptr),intent(in) :: interop
  256. end subroutine mkl_blas_sgemm_omp_offload_ilp64
  257. subroutine mkl_blas_zgemm_omp_offload_ilp64 ( transa, transb, m, n, k, alpha, a, lda, &
  258. &b, ldb, beta, c, ldc, interop ) BIND(C)
  259. use, intrinsic :: iso_c_binding
  260. character*1,intent(in) :: transa, transb
  261. integer,intent(in) :: m, n, k, lda, ldb, ldc
  262. complex*16,intent(in) :: alpha, beta
  263. complex*16,intent(in) :: a( lda, * ), b( ldb, * )
  264. complex*16,intent(inout) :: c( ldc, * )
  265. type(c_ptr),intent(in) :: interop
  266. end subroutine mkl_blas_zgemm_omp_offload_ilp64
  267. subroutine mkl_blas_cgemm_omp_offload_ilp64 ( transa, transb, m, n, k, alpha, a, lda, &
  268. &b, ldb, beta, c, ldc, interop ) BIND(C)
  269. use, intrinsic :: iso_c_binding
  270. character*1,intent(in) :: transa, transb
  271. integer,intent(in) :: m, n, k, lda, ldb, ldc
  272. complex,intent(in) :: alpha, beta
  273. complex,intent(in) :: a( lda, * ), b( ldb, * )
  274. complex,intent(inout) :: c( ldc, * )
  275. type(c_ptr),intent(in) :: interop
  276. end subroutine mkl_blas_cgemm_omp_offload_ilp64
  277. subroutine mkl_blas_gemm_s8u8s32_omp_offload_ilp64 ( transa, transb, offsetc, m, n, k, &
  278. &alpha, a, lda, ao, b, ldb, bo, beta, c, ldc, co, interop ) BIND(C)
  279. use, intrinsic :: iso_c_binding
  280. character*1,intent(in) :: transa, transb, offsetc
  281. integer,intent(in) :: m, n, k, lda, ldb, ldc
  282. integer*1,intent(in) :: ao, bo
  283. real,intent(in) :: alpha, beta
  284. integer*1,intent(in) :: a( lda, * ), b (ldb, * )
  285. integer*4,intent(inout) :: c( ldc, * )
  286. integer*4,intent(in) :: co( * )
  287. type(c_ptr),intent(in) :: interop
  288. end subroutine mkl_blas_gemm_s8u8s32_omp_offload_ilp64
  289. subroutine mkl_blas_dsymm_omp_offload_ilp64 ( side, uplo, m, n, alpha, a, lda, &
  290. &b, ldb, beta, c, ldc, interop ) BIND(C)
  291. use, intrinsic :: iso_c_binding
  292. character*1,intent(in) :: side, uplo
  293. integer,intent(in) :: m, n, lda, ldb, ldc
  294. double precision,intent(in) :: alpha, beta
  295. double precision,intent(in) :: a( lda, * ), b( ldb, * )
  296. double precision,intent(inout) :: c( ldc, * )
  297. type(c_ptr),intent(in) :: interop
  298. end subroutine mkl_blas_dsymm_omp_offload_ilp64
  299. subroutine mkl_blas_ssymm_omp_offload_ilp64 ( side, uplo, m, n, alpha, a, lda, &
  300. &b, ldb, beta, c, ldc, interop ) BIND(C)
  301. use, intrinsic :: iso_c_binding
  302. character*1,intent(in) :: side, uplo
  303. integer,intent(in) :: m, n, lda, ldb, ldc
  304. real,intent(in) :: alpha, beta
  305. real,intent(in) :: a( lda, * ), b( ldb, * )
  306. real,intent(inout) :: c( ldc, * )
  307. type(c_ptr),intent(in) :: interop
  308. end subroutine mkl_blas_ssymm_omp_offload_ilp64
  309. subroutine mkl_blas_zsymm_omp_offload_ilp64 ( side, uplo, m, n, alpha, a, lda, &
  310. &b, ldb, beta, c, ldc, interop ) BIND(C)
  311. use, intrinsic :: iso_c_binding
  312. character*1,intent(in) :: side, uplo
  313. integer,intent(in) :: m, n, lda, ldb, ldc
  314. complex*16,intent(in) :: alpha, beta
  315. complex*16,intent(in) :: a( lda, * ), b( ldb, * )
  316. complex*16,intent(inout) :: c( ldc, * )
  317. type(c_ptr),intent(in) :: interop
  318. end subroutine mkl_blas_zsymm_omp_offload_ilp64
  319. subroutine mkl_blas_csymm_omp_offload_ilp64 ( side, uplo, m, n, alpha, a, lda, &
  320. &b, ldb, beta, c, ldc, interop ) BIND(C)
  321. use, intrinsic :: iso_c_binding
  322. character*1,intent(in) :: side, uplo
  323. integer,intent(in) :: m, n, lda, ldb, ldc
  324. complex,intent(in) :: alpha, beta
  325. complex,intent(in) :: a( lda, * ), b( ldb, * )
  326. complex,intent(inout) :: c( ldc, * )
  327. type(c_ptr),intent(in) :: interop
  328. end subroutine mkl_blas_csymm_omp_offload_ilp64
  329. subroutine mkl_blas_zhemm_omp_offload_ilp64 ( side, uplo, m, n, alpha, a, lda, &
  330. &b, ldb, beta, c, ldc, interop ) BIND(C)
  331. use, intrinsic :: iso_c_binding
  332. character*1,intent(in) :: side, uplo
  333. integer,intent(in) :: m, n, lda, ldb, ldc
  334. complex*16,intent(in) :: alpha, beta
  335. complex*16,intent(in) :: a( lda, * ), b( ldb, * )
  336. complex*16,intent(inout) :: c( ldc, * )
  337. type(c_ptr),intent(in) :: interop
  338. end subroutine mkl_blas_zhemm_omp_offload_ilp64
  339. subroutine mkl_blas_chemm_omp_offload_ilp64 ( side, uplo, m, n, alpha, a, lda, &
  340. &b, ldb, beta, c, ldc, interop ) BIND(C)
  341. use, intrinsic :: iso_c_binding
  342. character*1,intent(in) :: side, uplo
  343. integer,intent(in) :: m, n, lda, ldb, ldc
  344. complex,intent(in) :: alpha, beta
  345. complex,intent(in) :: a( lda, * ), b( ldb, * )
  346. complex,intent(inout) :: c( ldc, * )
  347. type(c_ptr),intent(in) :: interop
  348. end subroutine mkl_blas_chemm_omp_offload_ilp64
  349. subroutine mkl_blas_dsyrk_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, &
  350. &beta, c, ldc, interop ) BIND(C)
  351. use, intrinsic :: iso_c_binding
  352. character*1,intent(in) :: uplo, trans
  353. integer,intent(in) :: n, k, lda, ldc
  354. double precision,intent(in) :: alpha, beta
  355. double precision,intent(in) :: a( lda, * )
  356. double precision,intent(inout) :: c( ldc, * )
  357. type(c_ptr),intent(in) :: interop
  358. end subroutine mkl_blas_dsyrk_omp_offload_ilp64
  359. subroutine mkl_blas_ssyrk_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, &
  360. &beta, c, ldc, interop ) BIND(C)
  361. use, intrinsic :: iso_c_binding
  362. character*1,intent(in) :: uplo, trans
  363. integer,intent(in) :: n, k, lda, ldc
  364. real,intent(in) :: alpha, beta
  365. real,intent(in) :: a( lda, * )
  366. real,intent(inout) :: c( ldc, * )
  367. type(c_ptr),intent(in) :: interop
  368. end subroutine mkl_blas_ssyrk_omp_offload_ilp64
  369. subroutine mkl_blas_zsyrk_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, &
  370. &beta, c, ldc, interop ) BIND(C)
  371. use, intrinsic :: iso_c_binding
  372. character*1,intent(in) :: uplo, trans
  373. integer,intent(in) :: n, k, lda, ldc
  374. complex*16,intent(in) :: alpha, beta
  375. complex*16,intent(in) :: a( lda, * )
  376. complex*16,intent(inout) :: c( ldc, * )
  377. type(c_ptr),intent(in) :: interop
  378. end subroutine mkl_blas_zsyrk_omp_offload_ilp64
  379. subroutine mkl_blas_csyrk_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, &
  380. &beta, c, ldc, interop ) BIND(C)
  381. use, intrinsic :: iso_c_binding
  382. character*1,intent(in) :: uplo, trans
  383. integer,intent(in) :: n, k, lda, ldc
  384. complex,intent(in) :: alpha, beta
  385. complex,intent(in) :: a( lda, * )
  386. complex,intent(inout) :: c( ldc, * )
  387. type(c_ptr),intent(in) :: interop
  388. end subroutine mkl_blas_csyrk_omp_offload_ilp64
  389. subroutine mkl_blas_zherk_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, &
  390. &beta, c, ldc, interop ) BIND(C)
  391. use, intrinsic :: iso_c_binding
  392. character*1,intent(in) :: uplo, trans
  393. integer,intent(in) :: n, k, lda, ldc
  394. double precision,intent(in) :: alpha, beta
  395. complex*16,intent(in) :: a( lda, * )
  396. complex*16,intent(inout) :: c( ldc, * )
  397. type(c_ptr),intent(in) :: interop
  398. end subroutine mkl_blas_zherk_omp_offload_ilp64
  399. subroutine mkl_blas_cherk_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, &
  400. &beta, c, ldc, interop ) BIND(C)
  401. use, intrinsic :: iso_c_binding
  402. character*1,intent(in) :: uplo, trans
  403. integer,intent(in) :: n, k, lda, ldc
  404. real,intent(in) :: alpha, beta
  405. complex,intent(in) :: a( lda, * )
  406. complex,intent(inout) :: c( ldc, * )
  407. type(c_ptr),intent(in) :: interop
  408. end subroutine mkl_blas_cherk_omp_offload_ilp64
  409. subroutine mkl_blas_dsyr2k_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, &
  410. &b, ldb, beta, c, ldc, interop ) BIND(C)
  411. use, intrinsic :: iso_c_binding
  412. character*1,intent(in) :: uplo, trans
  413. integer,intent(in) :: n, k, lda, ldb, ldc
  414. double precision,intent(in) :: alpha, beta
  415. double precision,intent(in) :: a( lda, * ), b( ldb, * )
  416. double precision,intent(inout) :: c( ldc, * )
  417. type(c_ptr),intent(in) :: interop
  418. end subroutine mkl_blas_dsyr2k_omp_offload_ilp64
  419. subroutine mkl_blas_ssyr2k_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, &
  420. &b, ldb, beta, c, ldc, interop ) BIND(C)
  421. use, intrinsic :: iso_c_binding
  422. character*1,intent(in) :: uplo, trans
  423. integer,intent(in) :: n, k, lda, ldb, ldc
  424. real,intent(in) :: alpha, beta
  425. real,intent(in) :: a( lda, * ), b( ldb, * )
  426. real,intent(inout) :: c( ldc, * )
  427. type(c_ptr),intent(in) :: interop
  428. end subroutine mkl_blas_ssyr2k_omp_offload_ilp64
  429. subroutine mkl_blas_zsyr2k_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, &
  430. &b, ldb, beta, c, ldc, interop ) BIND(C)
  431. use, intrinsic :: iso_c_binding
  432. character*1,intent(in) :: uplo, trans
  433. integer,intent(in) :: n, k, lda, ldb, ldc
  434. complex*16,intent(in) :: alpha, beta
  435. complex*16,intent(in) :: a( lda, * ), b( ldb, * )
  436. complex*16,intent(inout) :: c( ldc, * )
  437. type(c_ptr),intent(in) :: interop
  438. end subroutine mkl_blas_zsyr2k_omp_offload_ilp64
  439. subroutine mkl_blas_csyr2k_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, &
  440. &b, ldb, beta, c, ldc, interop ) BIND(C)
  441. use, intrinsic :: iso_c_binding
  442. character*1,intent(in) :: uplo, trans
  443. integer,intent(in) :: n, k, lda, ldb, ldc
  444. complex,intent(in) :: alpha, beta
  445. complex,intent(in) :: a( lda, * ), b( ldb, * )
  446. complex,intent(inout) :: c( ldc, * )
  447. type(c_ptr),intent(in) :: interop
  448. end subroutine mkl_blas_csyr2k_omp_offload_ilp64
  449. subroutine mkl_blas_zher2k_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, &
  450. &b, ldb, beta, c, ldc, interop ) BIND(C)
  451. use, intrinsic :: iso_c_binding
  452. character*1,intent(in) :: uplo, trans
  453. integer,intent(in) :: n, k, lda, ldb, ldc
  454. double precision,intent(in) :: beta
  455. complex*16,intent(in) :: alpha
  456. complex*16,intent(in) :: a( lda, * ), b( ldb, * )
  457. complex*16,intent(inout) :: c( ldc, * )
  458. type(c_ptr),intent(in) :: interop
  459. end subroutine mkl_blas_zher2k_omp_offload_ilp64
  460. subroutine mkl_blas_cher2k_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, &
  461. &b, ldb, beta, c, ldc, interop ) BIND(C)
  462. use, intrinsic :: iso_c_binding
  463. character*1,intent(in) :: uplo, trans
  464. integer,intent(in) :: n, k, lda, ldb, ldc
  465. real,intent(in) :: beta
  466. complex,intent(in) :: alpha
  467. complex,intent(in) :: a( lda, * ), b( ldb, * )
  468. complex,intent(inout) :: c( ldc, * )
  469. type(c_ptr),intent(in) :: interop
  470. end subroutine mkl_blas_cher2k_omp_offload_ilp64
  471. subroutine mkl_blas_dtrmm_omp_offload_ilp64 ( side, uplo, trans, diag, m, n, alpha, a, lda, &
  472. &b, ldb, interop ) BIND(C)
  473. use, intrinsic :: iso_c_binding
  474. character*1,intent(in) :: side, uplo, trans, diag
  475. integer,intent(in) :: m, n, lda, ldb
  476. double precision,intent(in) :: alpha
  477. double precision,intent(in) :: a( lda, * )
  478. double precision,intent(inout) :: b( ldb, * )
  479. type(c_ptr),intent(in) :: interop
  480. end subroutine mkl_blas_dtrmm_omp_offload_ilp64
  481. subroutine mkl_blas_strmm_omp_offload_ilp64 ( side, uplo, trans, diag, m, n, alpha, a, lda, &
  482. &b, ldb, interop ) BIND(C)
  483. use, intrinsic :: iso_c_binding
  484. character*1,intent(in) :: side, uplo, trans, diag
  485. integer,intent(in) :: m, n, lda, ldb
  486. real,intent(in) :: alpha
  487. real,intent(in) :: a( lda, * )
  488. real,intent(inout) :: b( ldb, * )
  489. type(c_ptr),intent(in) :: interop
  490. end subroutine mkl_blas_strmm_omp_offload_ilp64
  491. subroutine mkl_blas_ztrmm_omp_offload_ilp64 ( side, uplo, trans, diag, m, n, alpha, a, lda, &
  492. &b, ldb, interop ) BIND(C)
  493. use, intrinsic :: iso_c_binding
  494. character*1,intent(in) :: side, uplo, trans, diag
  495. integer,intent(in) :: m, n, lda, ldb
  496. complex*16,intent(in) :: alpha
  497. complex*16,intent(in) :: a( lda, * )
  498. complex*16,intent(inout) :: b( ldb, * )
  499. type(c_ptr),intent(in) :: interop
  500. end subroutine mkl_blas_ztrmm_omp_offload_ilp64
  501. subroutine mkl_blas_ctrmm_omp_offload_ilp64 ( side, uplo, trans, diag, m, n, alpha, a, lda, &
  502. &b, ldb, interop ) BIND(C)
  503. use, intrinsic :: iso_c_binding
  504. character*1,intent(in) :: side, uplo, trans, diag
  505. integer,intent(in) :: m, n, lda, ldb
  506. complex,intent(in) :: alpha
  507. complex,intent(in) :: a( lda, * )
  508. complex,intent(inout) :: b( ldb, * )
  509. type(c_ptr),intent(in) :: interop
  510. end subroutine mkl_blas_ctrmm_omp_offload_ilp64
  511. subroutine mkl_blas_dtrsm_omp_offload_ilp64 ( side, uplo, trans, diag, m, n, alpha, a, lda, &
  512. &b, ldb, interop ) BIND(C)
  513. use, intrinsic :: iso_c_binding
  514. character*1,intent(in) :: side, uplo, trans, diag
  515. integer,intent(in) :: m, n, lda, ldb
  516. double precision,intent(in) :: alpha
  517. double precision,intent(in) :: a( lda, * )
  518. double precision,intent(inout) :: b( ldb, * )
  519. type(c_ptr),intent(in) :: interop
  520. end subroutine mkl_blas_dtrsm_omp_offload_ilp64
  521. subroutine mkl_blas_strsm_omp_offload_ilp64 ( side, uplo, trans, diag, m, n, alpha, a, lda, &
  522. &b, ldb, interop ) BIND(C)
  523. use, intrinsic :: iso_c_binding
  524. character*1,intent(in) :: side, uplo, trans, diag
  525. integer,intent(in) :: m, n, lda, ldb
  526. real,intent(in) :: alpha
  527. real,intent(in) :: a( lda, * )
  528. real,intent(inout) :: b( ldb, * )
  529. type(c_ptr),intent(in) :: interop
  530. end subroutine mkl_blas_strsm_omp_offload_ilp64
  531. subroutine mkl_blas_ztrsm_omp_offload_ilp64 ( side, uplo, trans, diag, m, n, alpha, a, lda, &
  532. &b, ldb, interop ) BIND(C)
  533. use, intrinsic :: iso_c_binding
  534. character*1,intent(in) :: side, uplo, trans, diag
  535. integer,intent(in) :: m, n, lda, ldb
  536. complex*16,intent(in) :: alpha
  537. complex*16,intent(in) :: a( lda, * )
  538. complex*16,intent(inout) :: b( ldb, * )
  539. type(c_ptr),intent(in) :: interop
  540. end subroutine mkl_blas_ztrsm_omp_offload_ilp64
  541. subroutine mkl_blas_ctrsm_omp_offload_ilp64 ( side, uplo, trans, diag, m, n, alpha, a, lda, &
  542. &b, ldb, interop ) BIND(C)
  543. use, intrinsic :: iso_c_binding
  544. character*1,intent(in) :: side, uplo, trans, diag
  545. integer,intent(in) :: m, n, lda, ldb
  546. complex,intent(in) :: alpha
  547. complex,intent(in) :: a( lda, * )
  548. complex,intent(inout) :: b( ldb, * )
  549. type(c_ptr),intent(in) :: interop
  550. end subroutine mkl_blas_ctrsm_omp_offload_ilp64
  551. subroutine mkl_blas_dgemmt_omp_offload_ilp64 ( uplo, transa, transb, m, n, alpha, a, lda, &
  552. &b, ldb, beta, c, ldc, interop ) BIND(C)
  553. use, intrinsic :: iso_c_binding
  554. character*1,intent(in) :: uplo, transa, transb
  555. integer,intent(in) :: m, n, lda, ldb, ldc
  556. double precision,intent(in) :: alpha, beta
  557. double precision,intent(in) :: a( lda, * ), b( ldb, * )
  558. double precision,intent(inout) :: c( ldc, * )
  559. type(c_ptr),intent(in) :: interop
  560. end subroutine mkl_blas_dgemmt_omp_offload_ilp64
  561. subroutine mkl_blas_sgemmt_omp_offload_ilp64 ( uplo, transa, transb, m, n, alpha, a, lda, &
  562. &b, ldb, beta, c, ldc, interop ) BIND(C)
  563. use, intrinsic :: iso_c_binding
  564. character*1,intent(in) :: uplo, transa, transb
  565. integer,intent(in) :: m, n, lda, ldb, ldc
  566. real,intent(in) :: alpha, beta
  567. real,intent(in) :: a( lda, * ), b( ldb, * )
  568. real,intent(inout) :: c( ldc, * )
  569. type(c_ptr),intent(in) :: interop
  570. end subroutine mkl_blas_sgemmt_omp_offload_ilp64
  571. subroutine mkl_blas_zgemmt_omp_offload_ilp64 ( uplo, transa, transb, m, n, alpha, a, lda, &
  572. &b, ldb, beta, c, ldc, interop ) BIND(C)
  573. use, intrinsic :: iso_c_binding
  574. character*1,intent(in) :: uplo, transa, transb
  575. integer,intent(in) :: m, n, lda, ldb, ldc
  576. complex*16,intent(in) :: alpha, beta
  577. complex*16,intent(in) :: a( lda, * ), b( ldb, * )
  578. complex*16,intent(inout) :: c( ldc, * )
  579. type(c_ptr),intent(in) :: interop
  580. end subroutine mkl_blas_zgemmt_omp_offload_ilp64
  581. subroutine mkl_blas_cgemmt_omp_offload_ilp64 ( uplo, transa, transb, m, n, alpha, a, lda, &
  582. &b, ldb, beta, c, ldc, interop ) BIND(C)
  583. use, intrinsic :: iso_c_binding
  584. character*1,intent(in) :: uplo, transa, transb
  585. integer,intent(in) :: m, n, lda, ldb, ldc
  586. complex,intent(in) :: alpha, beta
  587. complex,intent(in) :: a( lda, * ), b( ldb, * )
  588. complex,intent(inout) :: c( ldc, * )
  589. type(c_ptr),intent(in) :: interop
  590. end subroutine mkl_blas_cgemmt_omp_offload_ilp64
  591. ! BLAS Level2
  592. subroutine mkl_blas_dgbmv_omp_offload_ilp64 ( trans, m, n, kl, ku, alpha, a, lda, x, incx, &
  593. &beta, y, incy, interop ) BIND(C)
  594. use, intrinsic :: iso_c_binding
  595. double precision,intent(in) :: alpha, beta
  596. integer,intent(in) :: incx, incy, kl, ku, lda, m, n
  597. character*1,intent(in) :: trans
  598. double precision,intent(in) :: a( lda, * ), x( * )
  599. double precision,intent(inout) :: y( * )
  600. type(c_ptr),intent(in) :: interop
  601. end subroutine mkl_blas_dgbmv_omp_offload_ilp64
  602. subroutine mkl_blas_sgbmv_omp_offload_ilp64 ( trans, m, n, kl, ku, alpha, a, lda, x, incx, &
  603. &beta, y, incy, interop ) BIND(C)
  604. use, intrinsic :: iso_c_binding
  605. real,intent(in) :: alpha, beta
  606. integer,intent(in) :: incx, incy, kl, ku, lda, m, n
  607. character*1,intent(in) :: trans
  608. real,intent(in) :: a( lda, * ), x( * )
  609. real,intent(inout) :: y( * )
  610. type(c_ptr),intent(in) :: interop
  611. end subroutine mkl_blas_sgbmv_omp_offload_ilp64
  612. subroutine mkl_blas_zgbmv_omp_offload_ilp64 ( trans, m, n, kl, ku, alpha, a, lda, x, incx, &
  613. &beta, y, incy, interop ) BIND(C)
  614. use, intrinsic :: iso_c_binding
  615. complex*16,intent(in) :: alpha, beta
  616. integer,intent(in) :: incx, incy, kl, ku, lda, m, n
  617. character*1,intent(in) :: trans
  618. complex*16,intent(in) :: a( lda, * ), x( * )
  619. complex*16,intent(inout) :: y( * )
  620. type(c_ptr),intent(in) :: interop
  621. end subroutine mkl_blas_zgbmv_omp_offload_ilp64
  622. subroutine mkl_blas_cgbmv_omp_offload_ilp64 ( trans, m, n, kl, ku, alpha, a, lda, x, incx, &
  623. &beta, y, incy, interop ) BIND(C)
  624. use, intrinsic :: iso_c_binding
  625. complex,intent(in) :: alpha, beta
  626. integer,intent(in) :: incx, incy, kl, ku, lda, m, n
  627. character*1,intent(in) :: trans
  628. complex,intent(in) :: a( lda, * ), x( * )
  629. complex,intent(inout) :: y( * )
  630. type(c_ptr),intent(in) :: interop
  631. end subroutine mkl_blas_cgbmv_omp_offload_ilp64
  632. subroutine mkl_blas_dgemv_omp_offload_ilp64 ( trans, m, n, alpha, a, lda, x, incx, &
  633. &beta, y, incy, interop ) BIND(C)
  634. use, intrinsic :: iso_c_binding
  635. double precision,intent(in) :: alpha, beta
  636. integer,intent(in) :: incx, incy, lda, m, n
  637. character*1,intent(in) :: trans
  638. double precision,intent(in) :: a( lda, * ), x( * )
  639. double precision,intent(inout) :: y( * )
  640. type(c_ptr),intent(in) :: interop
  641. end subroutine mkl_blas_dgemv_omp_offload_ilp64
  642. subroutine mkl_blas_sgemv_omp_offload_ilp64 ( trans, m, n, alpha, a, lda, x, incx, &
  643. &beta, y, incy, interop ) BIND(C)
  644. use, intrinsic :: iso_c_binding
  645. real,intent(in) :: alpha, beta
  646. integer,intent(in) :: incx, incy, lda, m, n
  647. character*1,intent(in) :: trans
  648. real,intent(in) :: a( lda, * ), x( * )
  649. real,intent(inout) :: y( * )
  650. type(c_ptr),intent(in) :: interop
  651. end subroutine mkl_blas_sgemv_omp_offload_ilp64
  652. subroutine mkl_blas_zgemv_omp_offload_ilp64 ( trans, m, n, alpha, a, lda, x, incx, &
  653. &beta, y, incy, interop ) BIND(C)
  654. use, intrinsic :: iso_c_binding
  655. complex*16,intent(in) :: alpha, beta
  656. integer,intent(in) :: incx, incy, lda, m, n
  657. character*1,intent(in) :: trans
  658. complex*16,intent(in) :: a( lda, * ), x( * )
  659. complex*16,intent(inout) :: y( * )
  660. type(c_ptr),intent(in) :: interop
  661. end subroutine mkl_blas_zgemv_omp_offload_ilp64
  662. subroutine mkl_blas_cgemv_omp_offload_ilp64 ( trans, m, n, alpha, a, lda, x, incx, &
  663. &beta, y, incy, interop ) BIND(C)
  664. use, intrinsic :: iso_c_binding
  665. complex,intent(in) :: alpha, beta
  666. integer,intent(in) :: incx, incy, lda, m, n
  667. character*1,intent(in) :: trans
  668. complex,intent(in) :: a( lda, * ), x( * )
  669. complex,intent(inout) :: y( * )
  670. type(c_ptr),intent(in) :: interop
  671. end subroutine mkl_blas_cgemv_omp_offload_ilp64
  672. subroutine mkl_blas_dsbmv_omp_offload_ilp64 ( uplo, n, k, alpha, a, lda, x, incx, &
  673. &beta, y, incy, interop ) BIND(C)
  674. use, intrinsic :: iso_c_binding
  675. double precision,intent(in) :: alpha, beta
  676. integer,intent(in) :: incx, incy, k, lda, n
  677. character*1,intent(in) :: uplo
  678. double precision,intent(in) :: a( lda, * ), x( * )
  679. double precision,intent(inout) :: y( * )
  680. type(c_ptr),intent(in) :: interop
  681. end subroutine mkl_blas_dsbmv_omp_offload_ilp64
  682. subroutine mkl_blas_ssbmv_omp_offload_ilp64 ( uplo, n, k, alpha, a, lda, x, incx, &
  683. &beta, y, incy, interop ) BIND(C)
  684. use, intrinsic :: iso_c_binding
  685. real,intent(in) :: alpha, beta
  686. integer,intent(in) :: incx, incy, k, lda, n
  687. character*1,intent(in) :: uplo
  688. real,intent(in) :: a( lda, * ), x( * )
  689. real,intent(inout) :: y( * )
  690. type(c_ptr),intent(in) :: interop
  691. end subroutine mkl_blas_ssbmv_omp_offload_ilp64
  692. subroutine mkl_blas_zhbmv_omp_offload_ilp64 ( uplo, n, k, alpha, a, lda, x, incx, &
  693. &beta, y, incy, interop ) BIND(C)
  694. use, intrinsic :: iso_c_binding
  695. complex*16,intent(in) :: alpha, beta
  696. integer,intent(in) :: incx, incy, k, lda, n
  697. character*1,intent(in) :: uplo
  698. complex*16,intent(in) :: a( lda, * ), x( * )
  699. complex*16,intent(inout) :: y( * )
  700. type(c_ptr),intent(in) :: interop
  701. end subroutine mkl_blas_zhbmv_omp_offload_ilp64
  702. subroutine mkl_blas_chbmv_omp_offload_ilp64 ( uplo, n, k, alpha, a, lda, x, incx, &
  703. &beta, y, incy, interop ) BIND(C)
  704. use, intrinsic :: iso_c_binding
  705. complex,intent(in) :: alpha, beta
  706. integer,intent(in) :: incx, incy, k, lda, n
  707. character*1,intent(in) :: uplo
  708. complex,intent(in) :: a( lda, * ), x( * )
  709. complex,intent(inout) :: y( * )
  710. type(c_ptr),intent(in) :: interop
  711. end subroutine mkl_blas_chbmv_omp_offload_ilp64
  712. subroutine mkl_blas_dsymv_omp_offload_ilp64 ( uplo, n, alpha, a, lda, x, incx, &
  713. &beta, y, incy, interop ) BIND(C)
  714. use, intrinsic :: iso_c_binding
  715. double precision,intent(in) :: alpha, beta
  716. integer,intent(in) :: incx, incy, lda, n
  717. character*1,intent(in) :: uplo
  718. double precision,intent(in) :: a( lda, * ), x( * )
  719. double precision,intent(inout) :: y( * )
  720. type(c_ptr),intent(in) :: interop
  721. end subroutine mkl_blas_dsymv_omp_offload_ilp64
  722. subroutine mkl_blas_ssymv_omp_offload_ilp64 ( uplo, n, alpha, a, lda, x, incx, &
  723. &beta, y, incy, interop ) BIND(C)
  724. use, intrinsic :: iso_c_binding
  725. real,intent(in) :: alpha, beta
  726. integer,intent(in) :: incx, incy, lda, n
  727. character*1,intent(in) :: uplo
  728. real,intent(in) :: a( lda, * ), x( * )
  729. real,intent(inout) :: y( * )
  730. type(c_ptr),intent(in) :: interop
  731. end subroutine mkl_blas_ssymv_omp_offload_ilp64
  732. subroutine mkl_blas_zhemv_omp_offload_ilp64 ( uplo, n, alpha, a, lda, x, incx, &
  733. &beta, y, incy, interop ) BIND(C)
  734. use, intrinsic :: iso_c_binding
  735. complex*16,intent(in) :: alpha, beta
  736. integer,intent(in) :: incx, incy, lda, n
  737. character*1,intent(in) :: uplo
  738. complex*16,intent(in) :: a( lda, * ), x( * )
  739. complex*16,intent(inout) :: y( * )
  740. type(c_ptr),intent(in) :: interop
  741. end subroutine mkl_blas_zhemv_omp_offload_ilp64
  742. subroutine mkl_blas_chemv_omp_offload_ilp64 ( uplo, n, alpha, a, lda, x, incx, &
  743. &beta, y, incy, interop ) BIND(C)
  744. use, intrinsic :: iso_c_binding
  745. complex,intent(in) :: alpha, beta
  746. integer,intent(in) :: incx, incy, lda, n
  747. character*1,intent(in) :: uplo
  748. complex,intent(in) :: a( lda, * ), x( * )
  749. complex,intent(inout) :: y( * )
  750. type(c_ptr),intent(in) :: interop
  751. end subroutine mkl_blas_chemv_omp_offload_ilp64
  752. subroutine mkl_blas_dspmv_omp_offload_ilp64 ( uplo, n, alpha, a, x, incx, &
  753. &beta, y, incy, interop ) BIND(C)
  754. use, intrinsic :: iso_c_binding
  755. double precision,intent(in) :: alpha, beta
  756. integer,intent(in) :: incx, incy, n
  757. character*1,intent(in) :: uplo
  758. double precision,intent(in) :: a( * ), x( * )
  759. double precision,intent(inout) :: y( * )
  760. type(c_ptr),intent(in) :: interop
  761. end subroutine mkl_blas_dspmv_omp_offload_ilp64
  762. subroutine mkl_blas_sspmv_omp_offload_ilp64 ( uplo, n, alpha, a, x, incx, &
  763. &beta, y, incy, interop ) BIND(C)
  764. use, intrinsic :: iso_c_binding
  765. real,intent(in) :: alpha, beta
  766. integer,intent(in) :: incx, incy, n
  767. character*1,intent(in) :: uplo
  768. real,intent(in) :: a( * ), x( * )
  769. real,intent(inout) :: y( * )
  770. type(c_ptr),intent(in) :: interop
  771. end subroutine mkl_blas_sspmv_omp_offload_ilp64
  772. subroutine mkl_blas_zhpmv_omp_offload_ilp64 ( uplo, n, alpha, a, x, incx, &
  773. &beta, y, incy, interop ) BIND(C)
  774. use, intrinsic :: iso_c_binding
  775. complex*16,intent(in) :: alpha, beta
  776. integer,intent(in) :: incx, incy, n
  777. character*1,intent(in) :: uplo
  778. complex*16,intent(in) :: a( * ), x( * )
  779. complex*16,intent(inout) :: y( * )
  780. type(c_ptr),intent(in) :: interop
  781. end subroutine mkl_blas_zhpmv_omp_offload_ilp64
  782. subroutine mkl_blas_chpmv_omp_offload_ilp64 ( uplo, n, alpha, a, x, incx, &
  783. &beta, y, incy, interop ) BIND(C)
  784. use, intrinsic :: iso_c_binding
  785. complex,intent(in) :: alpha, beta
  786. integer,intent(in) :: incx, incy, n
  787. character*1,intent(in) :: uplo
  788. complex,intent(in) :: a( * ), x( * )
  789. complex,intent(inout) :: y( * )
  790. type(c_ptr),intent(in) :: interop
  791. end subroutine mkl_blas_chpmv_omp_offload_ilp64
  792. subroutine mkl_blas_dger_omp_offload_ilp64 ( m, n, alpha, x, incx, &
  793. &y, incy, a, lda, interop ) BIND(C)
  794. use, intrinsic :: iso_c_binding
  795. double precision,intent(in) :: alpha
  796. integer,intent(in) :: incx, incy, lda, m, n
  797. double precision,intent(in) :: y( * ), x( * )
  798. double precision,intent(inout) :: a( lda, * )
  799. type(c_ptr),intent(in) :: interop
  800. end subroutine mkl_blas_dger_omp_offload_ilp64
  801. subroutine mkl_blas_sger_omp_offload_ilp64 ( m, n, alpha, x, incx, &
  802. &y, incy, a, lda, interop ) BIND(C)
  803. use, intrinsic :: iso_c_binding
  804. real,intent(in) :: alpha
  805. integer,intent(in) :: incx, incy, lda, m, n
  806. real,intent(in) :: y( * ), x( * )
  807. real,intent(inout) :: a( lda, * )
  808. type(c_ptr),intent(in) :: interop
  809. end subroutine mkl_blas_sger_omp_offload_ilp64
  810. subroutine mkl_blas_zgerc_omp_offload_ilp64 ( m, n, alpha, x, incx, &
  811. &y, incy, a, lda, interop ) BIND(C)
  812. use, intrinsic :: iso_c_binding
  813. complex*16,intent(in) :: alpha
  814. integer,intent(in) :: incx, incy, lda, m, n
  815. complex*16,intent(in) :: y( * ), x( * )
  816. complex*16,intent(inout) :: a( lda, * )
  817. type(c_ptr),intent(in) :: interop
  818. end subroutine mkl_blas_zgerc_omp_offload_ilp64
  819. subroutine mkl_blas_cgerc_omp_offload_ilp64 ( m, n, alpha, x, incx, &
  820. &y, incy, a, lda, interop ) BIND(C)
  821. use, intrinsic :: iso_c_binding
  822. complex,intent(in) :: alpha
  823. integer,intent(in) :: incx, incy, lda, m, n
  824. complex,intent(in) :: y( * ), x( * )
  825. complex,intent(inout) :: a( lda, * )
  826. type(c_ptr),intent(in) :: interop
  827. end subroutine mkl_blas_cgerc_omp_offload_ilp64
  828. subroutine mkl_blas_zgeru_omp_offload_ilp64 ( m, n, alpha, x, incx, &
  829. &y, incy, a, lda, interop ) BIND(C)
  830. use, intrinsic :: iso_c_binding
  831. complex*16,intent(in) :: alpha
  832. integer,intent(in) :: incx, incy, lda, m, n
  833. complex*16,intent(in) :: y( * ), x( * )
  834. complex*16,intent(inout) :: a( lda, * )
  835. type(c_ptr),intent(in) :: interop
  836. end subroutine mkl_blas_zgeru_omp_offload_ilp64
  837. subroutine mkl_blas_cgeru_omp_offload_ilp64 ( m, n, alpha, x, incx, &
  838. &y, incy, a, lda, interop ) BIND(C)
  839. use, intrinsic :: iso_c_binding
  840. complex,intent(in) :: alpha
  841. integer,intent(in) :: incx, incy, lda, m, n
  842. complex,intent(in) :: y( * ), x( * )
  843. complex,intent(inout) :: a( lda, * )
  844. type(c_ptr),intent(in) :: interop
  845. end subroutine mkl_blas_cgeru_omp_offload_ilp64
  846. subroutine mkl_blas_dsyr_omp_offload_ilp64 ( uplo, n, alpha, x, incx, &
  847. &a, lda, interop ) BIND(C)
  848. use, intrinsic :: iso_c_binding
  849. character*1,intent(in) :: uplo
  850. double precision,intent(in) :: alpha
  851. integer,intent(in) :: incx, lda, n
  852. double precision,intent(in) :: x( * )
  853. double precision,intent(inout) :: a( lda, * )
  854. type(c_ptr),intent(in) :: interop
  855. end subroutine mkl_blas_dsyr_omp_offload_ilp64
  856. subroutine mkl_blas_ssyr_omp_offload_ilp64 ( uplo, n, alpha, x, incx, &
  857. &a, lda, interop ) BIND(C)
  858. use, intrinsic :: iso_c_binding
  859. character*1,intent(in) :: uplo
  860. real,intent(in) :: alpha
  861. integer,intent(in) :: incx, lda, n
  862. real,intent(in) :: x( * )
  863. real,intent(inout) :: a( lda, * )
  864. type(c_ptr),intent(in) :: interop
  865. end subroutine mkl_blas_ssyr_omp_offload_ilp64
  866. subroutine mkl_blas_zher_omp_offload_ilp64 ( uplo, n, alpha, x, incx, &
  867. &a, lda, interop ) BIND(C)
  868. use, intrinsic :: iso_c_binding
  869. character*1,intent(in) :: uplo
  870. double precision,intent(in) :: alpha
  871. integer,intent(in) :: incx, lda, n
  872. complex*16,intent(in) :: x( * )
  873. complex*16,intent(inout) :: a( lda, * )
  874. type(c_ptr),intent(in) :: interop
  875. end subroutine mkl_blas_zher_omp_offload_ilp64
  876. subroutine mkl_blas_cher_omp_offload_ilp64 ( uplo, n, alpha, x, incx, &
  877. &a, lda, interop ) BIND(C)
  878. use, intrinsic :: iso_c_binding
  879. character*1,intent(in) :: uplo
  880. real,intent(in) :: alpha
  881. integer,intent(in) :: incx, lda, n
  882. complex,intent(in) :: x( * )
  883. complex,intent(inout) :: a( lda, * )
  884. type(c_ptr),intent(in) :: interop
  885. end subroutine mkl_blas_cher_omp_offload_ilp64
  886. subroutine mkl_blas_dspr_omp_offload_ilp64 ( uplo, n, alpha, x, incx, &
  887. &a, interop ) BIND(C)
  888. use, intrinsic :: iso_c_binding
  889. character*1,intent(in) :: uplo
  890. double precision,intent(in) :: alpha
  891. integer,intent(in) :: incx, n
  892. double precision,intent(in) :: x( * )
  893. double precision,intent(inout) :: a( * )
  894. type(c_ptr),intent(in) :: interop
  895. end subroutine mkl_blas_dspr_omp_offload_ilp64
  896. subroutine mkl_blas_sspr_omp_offload_ilp64 ( uplo, n, alpha, x, incx, &
  897. &a, interop ) BIND(C)
  898. use, intrinsic :: iso_c_binding
  899. character*1,intent(in) :: uplo
  900. real,intent(in) :: alpha
  901. integer,intent(in) :: incx, n
  902. real,intent(in) :: x( * )
  903. real,intent(inout) :: a( * )
  904. type(c_ptr),intent(in) :: interop
  905. end subroutine mkl_blas_sspr_omp_offload_ilp64
  906. subroutine mkl_blas_zhpr_omp_offload_ilp64 ( uplo, n, alpha, x, incx, &
  907. &a, interop ) BIND(C)
  908. use, intrinsic :: iso_c_binding
  909. character*1,intent(in) :: uplo
  910. double precision,intent(in) :: alpha
  911. integer,intent(in) :: incx, n
  912. complex*16,intent(in) :: x( * )
  913. complex*16,intent(inout) :: a( * )
  914. type(c_ptr),intent(in) :: interop
  915. end subroutine mkl_blas_zhpr_omp_offload_ilp64
  916. subroutine mkl_blas_chpr_omp_offload_ilp64 ( uplo, n, alpha, x, incx, &
  917. &a, interop ) BIND(C)
  918. use, intrinsic :: iso_c_binding
  919. character*1,intent(in) :: uplo
  920. real,intent(in) :: alpha
  921. integer,intent(in) :: incx, n
  922. complex,intent(in) :: x( * )
  923. complex,intent(inout) :: a( * )
  924. type(c_ptr),intent(in) :: interop
  925. end subroutine mkl_blas_chpr_omp_offload_ilp64
  926. subroutine mkl_blas_dsyr2_omp_offload_ilp64 ( uplo, n, alpha, x, incx, y, incy, &
  927. &a, lda, interop ) BIND(C)
  928. use, intrinsic :: iso_c_binding
  929. character*1,intent(in) :: uplo
  930. double precision,intent(in) :: alpha
  931. integer,intent(in) :: incx, incy, lda, n
  932. double precision,intent(in) :: x( * ), y( * )
  933. double precision,intent(inout) :: a( lda, * )
  934. type(c_ptr),intent(in) :: interop
  935. end subroutine mkl_blas_dsyr2_omp_offload_ilp64
  936. subroutine mkl_blas_ssyr2_omp_offload_ilp64 ( uplo, n, alpha, x, incx, y, incy, &
  937. &a, lda, interop ) BIND(C)
  938. use, intrinsic :: iso_c_binding
  939. character*1,intent(in) :: uplo
  940. real,intent(in) :: alpha
  941. integer,intent(in) :: incx, incy, lda, n
  942. real,intent(in) :: x( * ), y( * )
  943. real,intent(inout) :: a( lda, * )
  944. type(c_ptr),intent(in) :: interop
  945. end subroutine mkl_blas_ssyr2_omp_offload_ilp64
  946. subroutine mkl_blas_zher2_omp_offload_ilp64 ( uplo, n, alpha, x, incx, y, incy, &
  947. &a, lda, interop ) BIND(C)
  948. use, intrinsic :: iso_c_binding
  949. character*1,intent(in) :: uplo
  950. complex*16,intent(in) :: alpha
  951. integer,intent(in) :: incx, incy, lda, n
  952. complex*16,intent(in) :: x( * ), y( * )
  953. complex*16,intent(inout) :: a( lda, * )
  954. type(c_ptr),intent(in) :: interop
  955. end subroutine mkl_blas_zher2_omp_offload_ilp64
  956. subroutine mkl_blas_cher2_omp_offload_ilp64 ( uplo, n, alpha, x, incx, y, incy, &
  957. &a, lda, interop ) BIND(C)
  958. use, intrinsic :: iso_c_binding
  959. character*1,intent(in) :: uplo
  960. complex,intent(in) :: alpha
  961. integer,intent(in) :: incx, incy, lda, n
  962. complex,intent(in) :: x( * ), y( * )
  963. complex,intent(inout) :: a( lda, * )
  964. type(c_ptr),intent(in) :: interop
  965. end subroutine mkl_blas_cher2_omp_offload_ilp64
  966. subroutine mkl_blas_dspr2_omp_offload_ilp64 ( uplo, n, alpha, x, incx, y, incy, &
  967. &a, interop ) BIND(C)
  968. use, intrinsic :: iso_c_binding
  969. character*1,intent(in) :: uplo
  970. double precision,intent(in) :: alpha
  971. integer,intent(in) :: incx, incy, n
  972. double precision,intent(in) :: x( * ), y( * )
  973. double precision,intent(inout) :: a( * )
  974. type(c_ptr),intent(in) :: interop
  975. end subroutine mkl_blas_dspr2_omp_offload_ilp64
  976. subroutine mkl_blas_sspr2_omp_offload_ilp64 ( uplo, n, alpha, x, incx, y, incy, &
  977. &a, interop ) BIND(C)
  978. use, intrinsic :: iso_c_binding
  979. character*1,intent(in) :: uplo
  980. real,intent(in) :: alpha
  981. integer,intent(in) :: incx, incy, n
  982. real,intent(in) :: x( * ), y( * )
  983. real,intent(inout) :: a( * )
  984. type(c_ptr),intent(in) :: interop
  985. end subroutine mkl_blas_sspr2_omp_offload_ilp64
  986. subroutine mkl_blas_zhpr2_omp_offload_ilp64 ( uplo, n, alpha, x, incx, y, incy, &
  987. &a, interop ) BIND(C)
  988. use, intrinsic :: iso_c_binding
  989. character*1,intent(in) :: uplo
  990. complex*16,intent(in) :: alpha
  991. integer,intent(in) :: incx, incy, n
  992. complex*16,intent(in) :: x( * ), y( * )
  993. complex*16,intent(inout) :: a( * )
  994. type(c_ptr),intent(in) :: interop
  995. end subroutine mkl_blas_zhpr2_omp_offload_ilp64
  996. subroutine mkl_blas_chpr2_omp_offload_ilp64 ( uplo, n, alpha, x, incx, y, incy, &
  997. &a, interop ) BIND(C)
  998. use, intrinsic :: iso_c_binding
  999. character*1,intent(in) :: uplo
  1000. complex,intent(in) :: alpha
  1001. integer,intent(in) :: incx, incy, n
  1002. complex,intent(in) :: x( * ), y( * )
  1003. complex,intent(inout) :: a( * )
  1004. type(c_ptr),intent(in) :: interop
  1005. end subroutine mkl_blas_chpr2_omp_offload_ilp64
  1006. subroutine mkl_blas_dtbmv_omp_offload_ilp64 ( uplo, trans, diag, n, k, a, lda, x, incx, interop ) BIND(C)
  1007. use, intrinsic :: iso_c_binding
  1008. integer,intent(in) :: incx, k, lda, n
  1009. character*1,intent(in) :: uplo, trans, diag
  1010. double precision,intent(in) :: a( lda, * )
  1011. double precision,intent(inout) :: x( * )
  1012. type(c_ptr),intent(in) :: interop
  1013. end subroutine mkl_blas_dtbmv_omp_offload_ilp64
  1014. subroutine mkl_blas_stbmv_omp_offload_ilp64 ( uplo, trans, diag, n, k, a, lda, x, incx, interop ) BIND(C)
  1015. use, intrinsic :: iso_c_binding
  1016. integer,intent(in) :: incx, k, lda, n
  1017. character*1,intent(in) :: uplo, trans, diag
  1018. real,intent(in) :: a( lda, * )
  1019. real,intent(inout) :: x( * )
  1020. type(c_ptr),intent(in) :: interop
  1021. end subroutine mkl_blas_stbmv_omp_offload_ilp64
  1022. subroutine mkl_blas_ztbmv_omp_offload_ilp64 ( uplo, trans, diag, n, k, a, lda, x, incx, interop ) BIND(C)
  1023. use, intrinsic :: iso_c_binding
  1024. integer,intent(in) :: incx, k, lda, n
  1025. character*1,intent(in) :: uplo, trans, diag
  1026. complex*16,intent(in) :: a( lda, * )
  1027. complex*16,intent(inout) :: x( * )
  1028. type(c_ptr),intent(in) :: interop
  1029. end subroutine mkl_blas_ztbmv_omp_offload_ilp64
  1030. subroutine mkl_blas_ctbmv_omp_offload_ilp64 ( uplo, trans, diag, n, k, a, lda, x, incx, interop ) BIND(C)
  1031. use, intrinsic :: iso_c_binding
  1032. integer,intent(in) :: incx, k, lda, n
  1033. character*1,intent(in) :: uplo, trans, diag
  1034. complex,intent(in) :: a( lda, * )
  1035. complex,intent(inout) :: x( * )
  1036. type(c_ptr),intent(in) :: interop
  1037. end subroutine mkl_blas_ctbmv_omp_offload_ilp64
  1038. subroutine mkl_blas_dtrmv_omp_offload_ilp64 ( uplo, trans, diag, n, a, lda, x, incx, interop ) BIND(C)
  1039. use, intrinsic :: iso_c_binding
  1040. integer,intent(in) :: incx, lda, n
  1041. character*1,intent(in) :: uplo, trans, diag
  1042. double precision,intent(in) :: a( lda, * )
  1043. double precision,intent(inout) :: x( * )
  1044. type(c_ptr),intent(in) :: interop
  1045. end subroutine mkl_blas_dtrmv_omp_offload_ilp64
  1046. subroutine mkl_blas_strmv_omp_offload_ilp64 ( uplo, trans, diag, n, a, lda, x, incx, interop ) BIND(C)
  1047. use, intrinsic :: iso_c_binding
  1048. integer,intent(in) :: incx, lda, n
  1049. character*1,intent(in) :: uplo, trans, diag
  1050. real,intent(in) :: a( lda, * )
  1051. real,intent(inout) :: x( * )
  1052. type(c_ptr),intent(in) :: interop
  1053. end subroutine mkl_blas_strmv_omp_offload_ilp64
  1054. subroutine mkl_blas_ztrmv_omp_offload_ilp64 ( uplo, trans, diag, n, a, lda, x, incx, interop ) BIND(C)
  1055. use, intrinsic :: iso_c_binding
  1056. integer,intent(in) :: incx, lda, n
  1057. character*1,intent(in) :: uplo, trans, diag
  1058. complex*16,intent(in) :: a( lda, * )
  1059. complex*16,intent(inout) :: x( * )
  1060. type(c_ptr),intent(in) :: interop
  1061. end subroutine mkl_blas_ztrmv_omp_offload_ilp64
  1062. subroutine mkl_blas_ctrmv_omp_offload_ilp64 ( uplo, trans, diag, n, a, lda, x, incx, interop ) BIND(C)
  1063. use, intrinsic :: iso_c_binding
  1064. integer,intent(in) :: incx, lda, n
  1065. character*1,intent(in) :: uplo, trans, diag
  1066. complex,intent(in) :: a( lda, * )
  1067. complex,intent(inout) :: x( * )
  1068. type(c_ptr),intent(in) :: interop
  1069. end subroutine mkl_blas_ctrmv_omp_offload_ilp64
  1070. subroutine mkl_blas_dtpmv_omp_offload_ilp64 ( uplo, trans, diag, n, a, x, incx, interop ) BIND(C)
  1071. use, intrinsic :: iso_c_binding
  1072. integer,intent(in) :: incx, n
  1073. character*1,intent(in) :: uplo, trans, diag
  1074. double precision,intent(in) :: a( * )
  1075. double precision,intent(inout) :: x( * )
  1076. type(c_ptr),intent(in) :: interop
  1077. end subroutine mkl_blas_dtpmv_omp_offload_ilp64
  1078. subroutine mkl_blas_stpmv_omp_offload_ilp64 ( uplo, trans, diag, n, a, x, incx, interop ) BIND(C)
  1079. use, intrinsic :: iso_c_binding
  1080. integer,intent(in) :: incx, n
  1081. character*1,intent(in) :: uplo, trans, diag
  1082. real,intent(in) :: a( * )
  1083. real,intent(inout) :: x( * )
  1084. type(c_ptr),intent(in) :: interop
  1085. end subroutine mkl_blas_stpmv_omp_offload_ilp64
  1086. subroutine mkl_blas_ztpmv_omp_offload_ilp64 ( uplo, trans, diag, n, a, x, incx, interop ) BIND(C)
  1087. use, intrinsic :: iso_c_binding
  1088. integer,intent(in) :: incx, n
  1089. character*1,intent(in) :: uplo, trans, diag
  1090. complex*16,intent(in) :: a( * )
  1091. complex*16,intent(inout) :: x( * )
  1092. type(c_ptr),intent(in) :: interop
  1093. end subroutine mkl_blas_ztpmv_omp_offload_ilp64
  1094. subroutine mkl_blas_ctpmv_omp_offload_ilp64 ( uplo, trans, diag, n, a, x, incx, interop ) BIND(C)
  1095. use, intrinsic :: iso_c_binding
  1096. integer,intent(in) :: incx, n
  1097. character*1,intent(in) :: uplo, trans, diag
  1098. complex,intent(in) :: a( * )
  1099. complex,intent(inout) :: x( * )
  1100. type(c_ptr),intent(in) :: interop
  1101. end subroutine mkl_blas_ctpmv_omp_offload_ilp64
  1102. subroutine mkl_blas_dtbsv_omp_offload_ilp64 ( uplo, trans, diag, n, k, a, lda, x, incx, interop ) BIND(C)
  1103. use, intrinsic :: iso_c_binding
  1104. integer,intent(in) :: incx, k, lda, n
  1105. character*1,intent(in) :: uplo, trans, diag
  1106. double precision,intent(in) :: a( lda, * )
  1107. double precision,intent(inout) :: x( * )
  1108. type(c_ptr),intent(in) :: interop
  1109. end subroutine mkl_blas_dtbsv_omp_offload_ilp64
  1110. subroutine mkl_blas_stbsv_omp_offload_ilp64 ( uplo, trans, diag, n, k, a, lda, x, incx, interop ) BIND(C)
  1111. use, intrinsic :: iso_c_binding
  1112. integer,intent(in) :: incx, k, lda, n
  1113. character*1,intent(in) :: uplo, trans, diag
  1114. real,intent(in) :: a( lda, * )
  1115. real,intent(inout) :: x( * )
  1116. type(c_ptr),intent(in) :: interop
  1117. end subroutine mkl_blas_stbsv_omp_offload_ilp64
  1118. subroutine mkl_blas_ztbsv_omp_offload_ilp64 ( uplo, trans, diag, n, k, a, lda, x, incx, interop ) BIND(C)
  1119. use, intrinsic :: iso_c_binding
  1120. integer,intent(in) :: incx, k, lda, n
  1121. character*1,intent(in) :: uplo, trans, diag
  1122. complex*16,intent(in) :: a( lda, * )
  1123. complex*16,intent(inout) :: x( * )
  1124. type(c_ptr),intent(in) :: interop
  1125. end subroutine mkl_blas_ztbsv_omp_offload_ilp64
  1126. subroutine mkl_blas_ctbsv_omp_offload_ilp64 ( uplo, trans, diag, n, k, a, lda, x, incx, interop ) BIND(C)
  1127. use, intrinsic :: iso_c_binding
  1128. integer,intent(in) :: incx, k, lda, n
  1129. character*1,intent(in) :: uplo, trans, diag
  1130. complex,intent(in) :: a( lda, * )
  1131. complex,intent(inout) :: x( * )
  1132. type(c_ptr),intent(in) :: interop
  1133. end subroutine mkl_blas_ctbsv_omp_offload_ilp64
  1134. subroutine mkl_blas_dtrsv_omp_offload_ilp64 ( uplo, trans, diag, n, a, lda, x, incx, interop ) BIND(C)
  1135. use, intrinsic :: iso_c_binding
  1136. integer,intent(in) :: incx, lda, n
  1137. character*1,intent(in) :: uplo, trans, diag
  1138. double precision,intent(in) :: a( lda, * )
  1139. double precision,intent(inout) :: x( * )
  1140. type(c_ptr),intent(in) :: interop
  1141. end subroutine mkl_blas_dtrsv_omp_offload_ilp64
  1142. subroutine mkl_blas_strsv_omp_offload_ilp64 ( uplo, trans, diag, n, a, lda, x, incx, interop ) BIND(C)
  1143. use, intrinsic :: iso_c_binding
  1144. integer,intent(in) :: incx, lda, n
  1145. character*1,intent(in) :: uplo, trans, diag
  1146. real,intent(in) :: a( lda, * )
  1147. real,intent(inout) :: x( * )
  1148. type(c_ptr),intent(in) :: interop
  1149. end subroutine mkl_blas_strsv_omp_offload_ilp64
  1150. subroutine mkl_blas_ztrsv_omp_offload_ilp64 ( uplo, trans, diag, n, a, lda, x, incx, interop ) BIND(C)
  1151. use, intrinsic :: iso_c_binding
  1152. integer,intent(in) :: incx, lda, n
  1153. character*1,intent(in) :: uplo, trans, diag
  1154. complex*16,intent(in) :: a( lda, * )
  1155. complex*16,intent(inout) :: x( * )
  1156. type(c_ptr),intent(in) :: interop
  1157. end subroutine mkl_blas_ztrsv_omp_offload_ilp64
  1158. subroutine mkl_blas_ctrsv_omp_offload_ilp64 ( uplo, trans, diag, n, a, lda, x, incx, interop ) BIND(C)
  1159. use, intrinsic :: iso_c_binding
  1160. integer,intent(in) :: incx, lda, n
  1161. character*1,intent(in) :: uplo, trans, diag
  1162. complex,intent(in) :: a( lda, * )
  1163. complex,intent(inout) :: x( * )
  1164. type(c_ptr),intent(in) :: interop
  1165. end subroutine mkl_blas_ctrsv_omp_offload_ilp64
  1166. subroutine mkl_blas_dtpsv_omp_offload_ilp64 ( uplo, trans, diag, n, a, x, incx, interop ) BIND(C)
  1167. use, intrinsic :: iso_c_binding
  1168. integer,intent(in) :: incx, n
  1169. character*1,intent(in) :: uplo, trans, diag
  1170. double precision,intent(in) :: a( * )
  1171. double precision,intent(inout) :: x( * )
  1172. type(c_ptr),intent(in) :: interop
  1173. end subroutine mkl_blas_dtpsv_omp_offload_ilp64
  1174. subroutine mkl_blas_stpsv_omp_offload_ilp64 ( uplo, trans, diag, n, a, x, incx, interop ) BIND(C)
  1175. use, intrinsic :: iso_c_binding
  1176. integer,intent(in) :: incx, n
  1177. character*1,intent(in) :: uplo, trans, diag
  1178. real,intent(in) :: a( * )
  1179. real,intent(inout) :: x( * )
  1180. type(c_ptr),intent(in) :: interop
  1181. end subroutine mkl_blas_stpsv_omp_offload_ilp64
  1182. subroutine mkl_blas_ztpsv_omp_offload_ilp64 ( uplo, trans, diag, n, a, x, incx, interop ) BIND(C)
  1183. use, intrinsic :: iso_c_binding
  1184. integer,intent(in) :: incx, n
  1185. character*1,intent(in) :: uplo, trans, diag
  1186. complex*16,intent(in) :: a( * )
  1187. complex*16,intent(inout) :: x( * )
  1188. type(c_ptr),intent(in) :: interop
  1189. end subroutine mkl_blas_ztpsv_omp_offload_ilp64
  1190. subroutine mkl_blas_ctpsv_omp_offload_ilp64 ( uplo, trans, diag, n, a, x, incx, interop ) BIND(C)
  1191. use, intrinsic :: iso_c_binding
  1192. integer,intent(in) :: incx, n
  1193. character*1,intent(in) :: uplo, trans, diag
  1194. complex,intent(in) :: a( * )
  1195. complex,intent(inout) :: x( * )
  1196. type(c_ptr),intent(in) :: interop
  1197. end subroutine mkl_blas_ctpsv_omp_offload_ilp64
  1198. ! BLAS Level1
  1199. function mkl_blas_dasum_omp_offload_ilp64 ( n, x, incx, interop ) BIND(C)
  1200. use, intrinsic :: iso_c_binding
  1201. double precision :: mkl_blas_dasum_omp_offload_ilp64
  1202. integer,intent(in) :: incx, n
  1203. double precision,intent(in) :: x( * )
  1204. type(c_ptr),intent(in) :: interop
  1205. end function mkl_blas_dasum_omp_offload_ilp64
  1206. function mkl_blas_sasum_omp_offload_ilp64 ( n, x, incx, interop ) BIND(C)
  1207. use, intrinsic :: iso_c_binding
  1208. real :: mkl_blas_sasum_omp_offload_ilp64
  1209. integer,intent(in) :: incx, n
  1210. real,intent(in) :: x( * )
  1211. type(c_ptr),intent(in) :: interop
  1212. end function mkl_blas_sasum_omp_offload_ilp64
  1213. function mkl_blas_dzasum_omp_offload_ilp64 ( n, x, incx, interop ) BIND(C)
  1214. use, intrinsic :: iso_c_binding
  1215. double precision :: mkl_blas_dzasum_omp_offload_ilp64
  1216. integer,intent(in) :: incx, n
  1217. complex*16,intent(in) :: x( * )
  1218. type(c_ptr),intent(in) :: interop
  1219. end function mkl_blas_dzasum_omp_offload_ilp64
  1220. function mkl_blas_scasum_omp_offload_ilp64 ( n, x, incx, interop ) BIND(C)
  1221. use, intrinsic :: iso_c_binding
  1222. real :: mkl_blas_scasum_omp_offload_ilp64
  1223. integer,intent(in) :: incx, n
  1224. complex,intent(in) :: x( * )
  1225. type(c_ptr),intent(in) :: interop
  1226. end function mkl_blas_scasum_omp_offload_ilp64
  1227. function mkl_blas_dnrm2_omp_offload_ilp64 ( n, x, incx, interop ) BIND(C)
  1228. use, intrinsic :: iso_c_binding
  1229. double precision :: mkl_blas_dnrm2_omp_offload_ilp64
  1230. integer,intent(in) :: incx, n
  1231. double precision,intent(in) :: x( * )
  1232. type(c_ptr),intent(in) :: interop
  1233. end function mkl_blas_dnrm2_omp_offload_ilp64
  1234. function mkl_blas_snrm2_omp_offload_ilp64 ( n, x, incx, interop ) BIND(C)
  1235. use, intrinsic :: iso_c_binding
  1236. real :: mkl_blas_snrm2_omp_offload_ilp64
  1237. integer,intent(in) :: incx, n
  1238. real,intent(in) :: x( * )
  1239. type(c_ptr),intent(in) :: interop
  1240. end function mkl_blas_snrm2_omp_offload_ilp64
  1241. function mkl_blas_dznrm2_omp_offload_ilp64 ( n, x, incx, interop ) BIND(C)
  1242. use, intrinsic :: iso_c_binding
  1243. double precision :: mkl_blas_dznrm2_omp_offload_ilp64
  1244. integer,intent(in) :: incx, n
  1245. complex*16,intent(in) :: x( * )
  1246. type(c_ptr),intent(in) :: interop
  1247. end function mkl_blas_dznrm2_omp_offload_ilp64
  1248. function mkl_blas_scnrm2_omp_offload_ilp64 ( n, x, incx, interop ) BIND(C)
  1249. use, intrinsic :: iso_c_binding
  1250. real :: mkl_blas_scnrm2_omp_offload_ilp64
  1251. integer,intent(in) :: incx, n
  1252. complex,intent(in) :: x( * )
  1253. type(c_ptr),intent(in) :: interop
  1254. end function mkl_blas_scnrm2_omp_offload_ilp64
  1255. subroutine mkl_blas_daxpy_omp_offload_ilp64 ( n, alpha, x, incx, &
  1256. &y, incy, interop ) BIND(C)
  1257. use, intrinsic :: iso_c_binding
  1258. double precision,intent(in) :: alpha
  1259. integer,intent(in) :: incx, incy, n
  1260. double precision,intent(in) :: x( * )
  1261. double precision,intent(inout) :: y( * )
  1262. type(c_ptr),intent(in) :: interop
  1263. end subroutine mkl_blas_daxpy_omp_offload_ilp64
  1264. subroutine mkl_blas_saxpy_omp_offload_ilp64 ( n, alpha, x, incx, &
  1265. &y, incy, interop ) BIND(C)
  1266. use, intrinsic :: iso_c_binding
  1267. real,intent(in) :: alpha
  1268. integer,intent(in) :: incx, incy, n
  1269. real,intent(in) :: x( * )
  1270. real,intent(inout) :: y( * )
  1271. type(c_ptr),intent(in) :: interop
  1272. end subroutine mkl_blas_saxpy_omp_offload_ilp64
  1273. subroutine mkl_blas_zaxpy_omp_offload_ilp64 ( n, alpha, x, incx, &
  1274. &y, incy, interop ) BIND(C)
  1275. use, intrinsic :: iso_c_binding
  1276. complex*16,intent(in) :: alpha
  1277. integer,intent(in) :: incx, incy, n
  1278. complex*16,intent(in) :: x( * )
  1279. complex*16,intent(inout) :: y( * )
  1280. type(c_ptr),intent(in) :: interop
  1281. end subroutine mkl_blas_zaxpy_omp_offload_ilp64
  1282. subroutine mkl_blas_caxpy_omp_offload_ilp64 ( n, alpha, x, incx, &
  1283. &y, incy, interop ) BIND(C)
  1284. use, intrinsic :: iso_c_binding
  1285. complex,intent(in) :: alpha
  1286. integer,intent(in) :: incx, incy, n
  1287. complex,intent(in) :: x( * )
  1288. complex,intent(inout) :: y( * )
  1289. type(c_ptr),intent(in) :: interop
  1290. end subroutine mkl_blas_caxpy_omp_offload_ilp64
  1291. subroutine mkl_blas_daxpby_omp_offload_ilp64 ( n, alpha, x, incx, &
  1292. &beta, y, incy, interop ) BIND(C)
  1293. use, intrinsic :: iso_c_binding
  1294. double precision,intent(in) :: alpha, beta
  1295. integer,intent(in) :: incx, incy, n
  1296. double precision,intent(in) :: x( * )
  1297. double precision,intent(inout) :: y( * )
  1298. type(c_ptr),intent(in) :: interop
  1299. end subroutine mkl_blas_daxpby_omp_offload_ilp64
  1300. subroutine mkl_blas_saxpby_omp_offload_ilp64 ( n, alpha, x, incx, &
  1301. &beta, y, incy, interop ) BIND(C)
  1302. use, intrinsic :: iso_c_binding
  1303. real,intent(in) :: alpha, beta
  1304. integer,intent(in) :: incx, incy, n
  1305. real,intent(in) :: x( * )
  1306. real,intent(inout) :: y( * )
  1307. type(c_ptr),intent(in) :: interop
  1308. end subroutine mkl_blas_saxpby_omp_offload_ilp64
  1309. subroutine mkl_blas_zaxpby_omp_offload_ilp64 ( n, alpha, x, incx, &
  1310. &beta, y, incy, interop ) BIND(C)
  1311. use, intrinsic :: iso_c_binding
  1312. complex*16,intent(in) :: alpha, beta
  1313. integer,intent(in) :: incx, incy, n
  1314. complex*16,intent(in) :: x( * )
  1315. complex*16,intent(inout) :: y( * )
  1316. type(c_ptr),intent(in) :: interop
  1317. end subroutine mkl_blas_zaxpby_omp_offload_ilp64
  1318. subroutine mkl_blas_caxpby_omp_offload_ilp64 ( n, alpha, x, incx, &
  1319. &beta, y, incy, interop ) BIND(C)
  1320. use, intrinsic :: iso_c_binding
  1321. complex,intent(in) :: alpha, beta
  1322. integer,intent(in) :: incx, incy, n
  1323. complex,intent(in) :: x( * )
  1324. complex,intent(inout) :: y( * )
  1325. type(c_ptr),intent(in) :: interop
  1326. end subroutine mkl_blas_caxpby_omp_offload_ilp64
  1327. subroutine mkl_blas_dcopy_omp_offload_ilp64 ( n, x, incx, &
  1328. &y, incy, interop ) BIND(C)
  1329. use, intrinsic :: iso_c_binding
  1330. integer,intent(in) :: incx, incy, n
  1331. double precision,intent(in) :: x( * )
  1332. double precision,intent(inout) :: y( * )
  1333. type(c_ptr),intent(in) :: interop
  1334. end subroutine mkl_blas_dcopy_omp_offload_ilp64
  1335. subroutine mkl_blas_scopy_omp_offload_ilp64 ( n, x, incx, &
  1336. &y, incy, interop ) BIND(C)
  1337. use, intrinsic :: iso_c_binding
  1338. integer,intent(in) :: incx, incy, n
  1339. real,intent(in) :: x( * )
  1340. real,intent(inout) :: y( * )
  1341. type(c_ptr),intent(in) :: interop
  1342. end subroutine mkl_blas_scopy_omp_offload_ilp64
  1343. subroutine mkl_blas_zcopy_omp_offload_ilp64 ( n, x, incx, &
  1344. &y, incy, interop ) BIND(C)
  1345. use, intrinsic :: iso_c_binding
  1346. integer,intent(in) :: incx, incy, n
  1347. complex*16,intent(in) :: x( * )
  1348. complex*16,intent(inout) :: y( * )
  1349. type(c_ptr),intent(in) :: interop
  1350. end subroutine mkl_blas_zcopy_omp_offload_ilp64
  1351. subroutine mkl_blas_ccopy_omp_offload_ilp64 ( n, x, incx, &
  1352. &y, incy, interop ) BIND(C)
  1353. use, intrinsic :: iso_c_binding
  1354. integer,intent(in) :: incx, incy, n
  1355. complex,intent(in) :: x( * )
  1356. complex,intent(inout) :: y( * )
  1357. type(c_ptr),intent(in) :: interop
  1358. end subroutine mkl_blas_ccopy_omp_offload_ilp64
  1359. function mkl_blas_ddot_omp_offload_ilp64 ( n, x, incx, y, incy, interop ) BIND(C)
  1360. use, intrinsic :: iso_c_binding
  1361. double precision :: mkl_blas_ddot_omp_offload_ilp64
  1362. integer,intent(in) :: incx, incy, n
  1363. double precision,intent(in) :: x( * ), y( * )
  1364. type(c_ptr),intent(in) :: interop
  1365. end function mkl_blas_ddot_omp_offload_ilp64
  1366. function mkl_blas_sdot_omp_offload_ilp64 ( n, x, incx, y, incy, interop ) BIND(C)
  1367. use, intrinsic :: iso_c_binding
  1368. real :: mkl_blas_sdot_omp_offload_ilp64
  1369. integer,intent(in) :: incx, incy, n
  1370. real,intent(in) :: x( * ), y( * )
  1371. type(c_ptr),intent(in) :: interop
  1372. end function mkl_blas_sdot_omp_offload_ilp64
  1373. function mkl_blas_dsdot_omp_offload_ilp64 ( n, x, incx, y, incy, interop ) BIND(C)
  1374. use, intrinsic :: iso_c_binding
  1375. double precision :: mkl_blas_dsdot_omp_offload_ilp64
  1376. integer,intent(in) :: incx, incy, n
  1377. real,intent(in) :: x( * ), y( * )
  1378. type(c_ptr),intent(in) :: interop
  1379. end function mkl_blas_dsdot_omp_offload_ilp64
  1380. function mkl_blas_sdsdot_omp_offload_ilp64 ( n, sb, x, incx, y, incy, interop ) BIND(C)
  1381. use, intrinsic :: iso_c_binding
  1382. real :: mkl_blas_sdsdot_omp_offload_ilp64
  1383. integer,intent(in) :: incx, incy, n
  1384. real,intent(in) :: sb, x( * ), y( * )
  1385. type(c_ptr),intent(in) :: interop
  1386. end function mkl_blas_sdsdot_omp_offload_ilp64
  1387. function mkl_blas_zdotc_omp_offload_ilp64 ( n, x, incx, y, incy, interop )
  1388. use, intrinsic :: iso_c_binding
  1389. complex*16 :: mkl_blas_zdotc_omp_offload_ilp64
  1390. integer,intent(in) :: incx, incy, n
  1391. complex*16,intent(in) :: x( * ), y( * )
  1392. type(c_ptr),intent(in) :: interop
  1393. end function mkl_blas_zdotc_omp_offload_ilp64
  1394. function mkl_blas_cdotc_omp_offload_ilp64 ( n, x, incx, y, incy, interop )
  1395. use, intrinsic :: iso_c_binding
  1396. complex :: mkl_blas_cdotc_omp_offload_ilp64
  1397. integer,intent(in) :: incx, incy, n
  1398. complex,intent(in) :: x( * ), y( * )
  1399. type(c_ptr),intent(in) :: interop
  1400. end function mkl_blas_cdotc_omp_offload_ilp64
  1401. function mkl_blas_zdotu_omp_offload_ilp64 ( n, x, incx, y, incy, interop )
  1402. use, intrinsic :: iso_c_binding
  1403. complex*16 :: mkl_blas_zdotu_omp_offload_ilp64
  1404. integer,intent(in) :: incx, incy, n
  1405. complex*16,intent(in) :: x( * ), y( * )
  1406. type(c_ptr),intent(in) :: interop
  1407. end function mkl_blas_zdotu_omp_offload_ilp64
  1408. function mkl_blas_cdotu_omp_offload_ilp64 ( n, x, incx, y, incy, interop )
  1409. use, intrinsic :: iso_c_binding
  1410. complex :: mkl_blas_cdotu_omp_offload_ilp64
  1411. integer,intent(in) :: incx, incy, n
  1412. complex,intent(in) :: x( * ), y( * )
  1413. type(c_ptr),intent(in) :: interop
  1414. end function mkl_blas_cdotu_omp_offload_ilp64
  1415. subroutine mkl_blas_drot_omp_offload_ilp64 ( n, x, incx, &
  1416. &y, incy, c, s, interop ) BIND(C)
  1417. use, intrinsic :: iso_c_binding
  1418. double precision,intent(in) :: c, s
  1419. integer,intent(in) :: incx, incy, n
  1420. double precision,intent(inout) :: x( * ), y( * )
  1421. type(c_ptr),intent(in) :: interop
  1422. end subroutine mkl_blas_drot_omp_offload_ilp64
  1423. subroutine mkl_blas_srot_omp_offload_ilp64 ( n, x, incx, &
  1424. &y, incy, c, s, interop ) BIND(C)
  1425. use, intrinsic :: iso_c_binding
  1426. real,intent(in) :: c, s
  1427. integer,intent(in) :: incx, incy, n
  1428. real,intent(inout) :: x( * ), y( * )
  1429. type(c_ptr),intent(in) :: interop
  1430. end subroutine mkl_blas_srot_omp_offload_ilp64
  1431. subroutine mkl_blas_zdrot_omp_offload_ilp64 ( n, x, incx, &
  1432. &y, incy, c, s, interop ) BIND(C)
  1433. use, intrinsic :: iso_c_binding
  1434. double precision,intent(in) :: c, s
  1435. integer,intent(in) :: incx, incy, n
  1436. complex*16,intent(inout) :: x( * ), y( * )
  1437. type(c_ptr),intent(in) :: interop
  1438. end subroutine mkl_blas_zdrot_omp_offload_ilp64
  1439. subroutine mkl_blas_zrot_omp_offload_ilp64 ( n, x, incx, &
  1440. &y, incy, c, s, interop ) BIND(C)
  1441. use, intrinsic :: iso_c_binding
  1442. double precision,intent(in) :: c
  1443. complex*16, intent(in) :: s
  1444. integer,intent(in) :: incx, incy, n
  1445. complex*16,intent(inout) :: x( * ), y( * )
  1446. type(c_ptr),intent(in) :: interop
  1447. end subroutine mkl_blas_zrot_omp_offload_ilp64
  1448. subroutine mkl_blas_csrot_omp_offload_ilp64 ( n, x, incx, &
  1449. &y, incy, c, s, interop ) BIND(C)
  1450. use, intrinsic :: iso_c_binding
  1451. real,intent(in) :: c, s
  1452. integer,intent(in) :: incx, incy, n
  1453. complex,intent(inout) :: x( * ), y( * )
  1454. type(c_ptr),intent(in) :: interop
  1455. end subroutine mkl_blas_csrot_omp_offload_ilp64
  1456. subroutine mkl_blas_crot_omp_offload_ilp64 ( n, x, incx, &
  1457. &y, incy, c, s, interop ) BIND(C)
  1458. use, intrinsic :: iso_c_binding
  1459. real,intent(in) :: c
  1460. complex, intent(in) :: s
  1461. integer,intent(in) :: incx, incy, n
  1462. complex,intent(inout) :: x( * ), y( * )
  1463. type(c_ptr),intent(in) :: interop
  1464. end subroutine mkl_blas_crot_omp_offload_ilp64
  1465. subroutine mkl_blas_drotg_omp_offload_ilp64 ( a, b, c, s, interop ) BIND(C)
  1466. use, intrinsic :: iso_c_binding
  1467. double precision,intent(inout) :: a( * ), b( * ), c( * ), s( * )
  1468. type(c_ptr),intent(in) :: interop
  1469. end subroutine mkl_blas_drotg_omp_offload_ilp64
  1470. subroutine mkl_blas_srotg_omp_offload_ilp64 ( a, b, c, s, interop ) BIND(C)
  1471. use, intrinsic :: iso_c_binding
  1472. real,intent(inout) :: a( * ), b( * ), c( * ), s( * )
  1473. type(c_ptr),intent(in) :: interop
  1474. end subroutine mkl_blas_srotg_omp_offload_ilp64
  1475. subroutine mkl_blas_zrotg_omp_offload_ilp64 ( a, b, c, s, interop ) BIND(C)
  1476. use, intrinsic :: iso_c_binding
  1477. complex*16,intent(inout) :: a( * ), b( * ), s( * )
  1478. double precision,intent(inout) :: c( * )
  1479. type(c_ptr),intent(in) :: interop
  1480. end subroutine mkl_blas_zrotg_omp_offload_ilp64
  1481. subroutine mkl_blas_crotg_omp_offload_ilp64 ( a, b, c, s, interop ) BIND(C)
  1482. use, intrinsic :: iso_c_binding
  1483. complex,intent(inout) :: a( * ), b( * ), s( * )
  1484. real,intent(inout) :: c( * )
  1485. type(c_ptr),intent(in) :: interop
  1486. end subroutine mkl_blas_crotg_omp_offload_ilp64
  1487. subroutine mkl_blas_drotm_omp_offload_ilp64 ( n, x, incx, &
  1488. &y, incy, param, interop ) BIND(C)
  1489. use, intrinsic :: iso_c_binding
  1490. integer,intent(in) :: incx, incy, n
  1491. double precision,intent(in) :: param( * )
  1492. double precision,intent(inout) :: x( * ), y( * )
  1493. type(c_ptr),intent(in) :: interop
  1494. end subroutine mkl_blas_drotm_omp_offload_ilp64
  1495. subroutine mkl_blas_srotm_omp_offload_ilp64 ( n, x, incx, &
  1496. &y, incy, param, interop ) BIND(C)
  1497. use, intrinsic :: iso_c_binding
  1498. integer,intent(in) :: incx, incy, n
  1499. real,intent(in) :: param( * )
  1500. real,intent(inout) :: x( * ), y( * )
  1501. type(c_ptr),intent(in) :: interop
  1502. end subroutine mkl_blas_srotm_omp_offload_ilp64
  1503. subroutine mkl_blas_drotmg_omp_offload_ilp64 ( d1, d2, x1, x2, param, interop ) BIND(C)
  1504. use, intrinsic :: iso_c_binding
  1505. double precision,intent(in) :: x2
  1506. double precision,intent(inout) :: d1( * ), d2( * ), x1( * ), param( * )
  1507. type(c_ptr),intent(in) :: interop
  1508. end subroutine mkl_blas_drotmg_omp_offload_ilp64
  1509. subroutine mkl_blas_srotmg_omp_offload_ilp64 ( d1, d2, x1, x2, param, interop ) BIND(C)
  1510. use, intrinsic :: iso_c_binding
  1511. real,intent(in) :: x2
  1512. real,intent(inout) :: d1( * ), d2( * ), x1( * ), param( * )
  1513. type(c_ptr),intent(in) :: interop
  1514. end subroutine mkl_blas_srotmg_omp_offload_ilp64
  1515. subroutine mkl_blas_dscal_omp_offload_ilp64 ( n, alpha, x, incx, interop ) BIND(C)
  1516. use, intrinsic :: iso_c_binding
  1517. double precision,intent(in) :: alpha
  1518. integer,intent(in) :: incx, n
  1519. double precision,intent(inout) :: x( * )
  1520. type(c_ptr),intent(in) :: interop
  1521. end subroutine mkl_blas_dscal_omp_offload_ilp64
  1522. subroutine mkl_blas_sscal_omp_offload_ilp64 ( n, alpha, x, incx, interop ) BIND(C)
  1523. use, intrinsic :: iso_c_binding
  1524. real,intent(in) :: alpha
  1525. integer,intent(in) :: incx, n
  1526. real,intent(inout) :: x( * )
  1527. type(c_ptr),intent(in) :: interop
  1528. end subroutine mkl_blas_sscal_omp_offload_ilp64
  1529. subroutine mkl_blas_zscal_omp_offload_ilp64 ( n, alpha, x, incx, interop ) BIND(C)
  1530. use, intrinsic :: iso_c_binding
  1531. complex*16,intent(in) :: alpha
  1532. integer,intent(in) :: incx, n
  1533. complex*16,intent(inout) :: x( * )
  1534. type(c_ptr),intent(in) :: interop
  1535. end subroutine mkl_blas_zscal_omp_offload_ilp64
  1536. subroutine mkl_blas_cscal_omp_offload_ilp64 ( n, alpha, x, incx, interop ) BIND(C)
  1537. use, intrinsic :: iso_c_binding
  1538. complex,intent(in) :: alpha
  1539. integer,intent(in) :: incx, n
  1540. complex,intent(inout) :: x( * )
  1541. type(c_ptr),intent(in) :: interop
  1542. end subroutine mkl_blas_cscal_omp_offload_ilp64
  1543. subroutine mkl_blas_zdscal_omp_offload_ilp64 ( n, alpha, x, incx, interop ) BIND(C)
  1544. use, intrinsic :: iso_c_binding
  1545. double precision,intent(in) :: alpha
  1546. integer,intent(in) :: incx, n
  1547. complex*16,intent(inout) :: x( * )
  1548. type(c_ptr),intent(in) :: interop
  1549. end subroutine mkl_blas_zdscal_omp_offload_ilp64
  1550. subroutine mkl_blas_csscal_omp_offload_ilp64 ( n, alpha, x, incx, interop ) BIND(C)
  1551. use, intrinsic :: iso_c_binding
  1552. real,intent(in) :: alpha
  1553. integer,intent(in) :: incx, n
  1554. complex,intent(inout) :: x( * )
  1555. type(c_ptr),intent(in) :: interop
  1556. end subroutine mkl_blas_csscal_omp_offload_ilp64
  1557. subroutine mkl_blas_dswap_omp_offload_ilp64 ( n, x, incx, &
  1558. &y, incy, interop ) BIND(C)
  1559. use, intrinsic :: iso_c_binding
  1560. integer,intent(in) :: incx, incy, n
  1561. double precision,intent(inout) :: x( * ), y( * )
  1562. type(c_ptr),intent(in) :: interop
  1563. end subroutine mkl_blas_dswap_omp_offload_ilp64
  1564. subroutine mkl_blas_sswap_omp_offload_ilp64 ( n, x, incx, &
  1565. &y, incy, interop ) BIND(C)
  1566. use, intrinsic :: iso_c_binding
  1567. integer,intent(in) :: incx, incy, n
  1568. real,intent(inout) :: x( * ), y( * )
  1569. type(c_ptr),intent(in) :: interop
  1570. end subroutine mkl_blas_sswap_omp_offload_ilp64
  1571. subroutine mkl_blas_zswap_omp_offload_ilp64 ( n, x, incx, &
  1572. &y, incy, interop ) BIND(C)
  1573. use, intrinsic :: iso_c_binding
  1574. integer,intent(in) :: incx, incy, n
  1575. complex*16,intent(inout) :: x( * ), y( * )
  1576. type(c_ptr),intent(in) :: interop
  1577. end subroutine mkl_blas_zswap_omp_offload_ilp64
  1578. subroutine mkl_blas_cswap_omp_offload_ilp64 ( n, x, incx, &
  1579. &y, incy, interop ) BIND(C)
  1580. use, intrinsic :: iso_c_binding
  1581. integer,intent(in) :: incx, incy, n
  1582. complex,intent(inout) :: x( * ), y( * )
  1583. type(c_ptr),intent(in) :: interop
  1584. end subroutine mkl_blas_cswap_omp_offload_ilp64
  1585. function mkl_blas_idamax_omp_offload_ilp64 ( n, x, incx, interop ) BIND(C)
  1586. use, intrinsic :: iso_c_binding
  1587. integer :: mkl_blas_idamax_omp_offload_ilp64
  1588. integer,intent(in) :: incx, n
  1589. double precision,intent(in) :: x( * )
  1590. type(c_ptr),intent(in) :: interop
  1591. end function mkl_blas_idamax_omp_offload_ilp64
  1592. function mkl_blas_isamax_omp_offload_ilp64 ( n, x, incx, interop ) BIND(C)
  1593. use, intrinsic :: iso_c_binding
  1594. integer :: mkl_blas_isamax_omp_offload_ilp64
  1595. integer,intent(in) :: incx, n
  1596. real,intent(in) :: x( * )
  1597. type(c_ptr),intent(in) :: interop
  1598. end function mkl_blas_isamax_omp_offload_ilp64
  1599. function mkl_blas_izamax_omp_offload_ilp64 ( n, x, incx, interop ) BIND(C)
  1600. use, intrinsic :: iso_c_binding
  1601. integer :: mkl_blas_izamax_omp_offload_ilp64
  1602. integer,intent(in) :: incx, n
  1603. complex*16,intent(in) :: x( * )
  1604. type(c_ptr),intent(in) :: interop
  1605. end function mkl_blas_izamax_omp_offload_ilp64
  1606. function mkl_blas_icamax_omp_offload_ilp64 ( n, x, incx, interop ) BIND(C)
  1607. use, intrinsic :: iso_c_binding
  1608. integer :: mkl_blas_icamax_omp_offload_ilp64
  1609. integer,intent(in) :: incx, n
  1610. complex,intent(in) :: x( * )
  1611. type(c_ptr),intent(in) :: interop
  1612. end function mkl_blas_icamax_omp_offload_ilp64
  1613. function mkl_blas_idamin_omp_offload_ilp64 ( n, x, incx, interop ) BIND(C)
  1614. use, intrinsic :: iso_c_binding
  1615. integer :: mkl_blas_idamin_omp_offload_ilp64
  1616. integer,intent(in) :: incx, n
  1617. double precision,intent(in) :: x( * )
  1618. type(c_ptr),intent(in) :: interop
  1619. end function mkl_blas_idamin_omp_offload_ilp64
  1620. function mkl_blas_isamin_omp_offload_ilp64 ( n, x, incx, interop ) BIND(C)
  1621. use, intrinsic :: iso_c_binding
  1622. integer :: mkl_blas_isamin_omp_offload_ilp64
  1623. integer,intent(in) :: incx, n
  1624. real,intent(in) :: x( * )
  1625. type(c_ptr),intent(in) :: interop
  1626. end function mkl_blas_isamin_omp_offload_ilp64
  1627. function mkl_blas_izamin_omp_offload_ilp64 ( n, x, incx, interop ) BIND(C)
  1628. use, intrinsic :: iso_c_binding
  1629. integer :: mkl_blas_izamin_omp_offload_ilp64
  1630. integer,intent(in) :: incx, n
  1631. complex*16,intent(in) :: x( * )
  1632. type(c_ptr),intent(in) :: interop
  1633. end function mkl_blas_izamin_omp_offload_ilp64
  1634. function mkl_blas_icamin_omp_offload_ilp64 ( n, x, incx, interop ) BIND(C)
  1635. use, intrinsic :: iso_c_binding
  1636. integer :: mkl_blas_icamin_omp_offload_ilp64
  1637. integer,intent(in) :: incx, n
  1638. complex,intent(in) :: x( * )
  1639. type(c_ptr),intent(in) :: interop
  1640. end function mkl_blas_icamin_omp_offload_ilp64
  1641. ! BLAS batch
  1642. subroutine mkl_blas_dtrsm_batch_strided_omp_offload_ilp64 ( side, uplo, trans, diag, m, n, alpha, a, lda, stridea, &
  1643. &b, ldb, strideb, batch_size, interop ) BIND(C)
  1644. use, intrinsic :: iso_c_binding
  1645. character*1,intent(in) :: side, uplo, trans, diag
  1646. integer,intent(in) :: m, n, lda, stridea, ldb, strideb, batch_size
  1647. double precision,intent(in) :: alpha
  1648. double precision,intent(in) :: a( lda, * )
  1649. double precision,intent(inout) :: b( ldb, * )
  1650. type(c_ptr),intent(in) :: interop
  1651. end subroutine mkl_blas_dtrsm_batch_strided_omp_offload_ilp64
  1652. subroutine mkl_blas_strsm_batch_strided_omp_offload_ilp64 ( side, uplo, trans, diag, m, n, alpha, a, lda, stridea, &
  1653. &b, ldb, strideb, batch_size, interop ) BIND(C)
  1654. use, intrinsic :: iso_c_binding
  1655. character*1,intent(in) :: side, uplo, trans, diag
  1656. integer,intent(in) :: m, n, lda, stridea, ldb, strideb, batch_size
  1657. real,intent(in) :: alpha
  1658. real,intent(in) :: a( lda, * )
  1659. real,intent(inout) :: b( ldb, * )
  1660. type(c_ptr),intent(in) :: interop
  1661. end subroutine mkl_blas_strsm_batch_strided_omp_offload_ilp64
  1662. subroutine mkl_blas_ztrsm_batch_strided_omp_offload_ilp64 ( side, uplo, trans, diag, m, n, alpha, a, lda, stridea, &
  1663. &b, ldb, strideb, batch_size, interop ) BIND(C)
  1664. use, intrinsic :: iso_c_binding
  1665. character*1,intent(in) :: side, uplo, trans, diag
  1666. integer,intent(in) :: m, n, lda, stridea, ldb, strideb, batch_size
  1667. complex*16,intent(in) :: alpha
  1668. complex*16,intent(in) :: a( lda, * )
  1669. complex*16,intent(inout) :: b( ldb, * )
  1670. type(c_ptr),intent(in) :: interop
  1671. end subroutine mkl_blas_ztrsm_batch_strided_omp_offload_ilp64
  1672. subroutine mkl_blas_ctrsm_batch_strided_omp_offload_ilp64 ( side, uplo, trans, diag, m, n, alpha, a, lda, stridea, &
  1673. &b, ldb, strideb, batch_size, interop ) BIND(C)
  1674. use, intrinsic :: iso_c_binding
  1675. character*1,intent(in) :: side, uplo, trans, diag
  1676. integer,intent(in) :: m, n, lda, stridea, ldb, strideb, batch_size
  1677. complex,intent(in) :: alpha
  1678. complex,intent(in) :: a( lda, * )
  1679. complex,intent(inout) :: b( ldb, * )
  1680. type(c_ptr),intent(in) :: interop
  1681. end subroutine mkl_blas_ctrsm_batch_strided_omp_offload_ilp64
  1682. subroutine mkl_blas_dgemm_batch_strided_omp_offload_ilp64 ( transa, transb, m, n, k, alpha, a, lda, stridea, &
  1683. &b, ldb, strideb, beta, c, ldc, stridec, batch_size, interop ) BIND(C)
  1684. use, intrinsic :: iso_c_binding
  1685. character*1,intent(in) :: transa, transb
  1686. integer,intent(in) :: m, n, k, lda, stridea, ldb, strideb, ldc, stridec, batch_size
  1687. double precision,intent(in) :: alpha, beta
  1688. double precision,intent(in) :: a( lda, * ), b( ldb, * )
  1689. double precision,intent(inout) :: c( ldc, * )
  1690. type(c_ptr),intent(in) :: interop
  1691. end subroutine mkl_blas_dgemm_batch_strided_omp_offload_ilp64
  1692. subroutine mkl_blas_sgemm_batch_strided_omp_offload_ilp64 ( transa, transb, m, n, k, alpha, a, lda, stridea, &
  1693. &b, ldb, strideb, beta, c, ldc, stridec, batch_size, interop ) BIND(C)
  1694. use, intrinsic :: iso_c_binding
  1695. character*1,intent(in) :: transa, transb
  1696. integer,intent(in) :: m, n, k, lda, stridea, ldb, strideb, ldc, stridec, batch_size
  1697. real,intent(in) :: alpha, beta
  1698. real,intent(in) :: a( lda, * ), b( ldb, * )
  1699. real,intent(inout) :: c( ldc, * )
  1700. type(c_ptr),intent(in) :: interop
  1701. end subroutine mkl_blas_sgemm_batch_strided_omp_offload_ilp64
  1702. subroutine mkl_blas_zgemm_batch_strided_omp_offload_ilp64 ( transa, transb, m, n, k, alpha, a, lda, stridea, &
  1703. &b, ldb, strideb, beta, c, ldc, stridec, batch_size, interop ) BIND(C)
  1704. use, intrinsic :: iso_c_binding
  1705. character*1,intent(in) :: transa, transb
  1706. integer,intent(in) :: m, n, k, lda, stridea, ldb, strideb, ldc, stridec, batch_size
  1707. complex*16,intent(in) :: alpha, beta
  1708. complex*16,intent(in) :: a( lda, * ), b( ldb, * )
  1709. complex*16,intent(inout) :: c( ldc, * )
  1710. type(c_ptr),intent(in) :: interop
  1711. end subroutine mkl_blas_zgemm_batch_strided_omp_offload_ilp64
  1712. subroutine mkl_blas_cgemm_batch_strided_omp_offload_ilp64 ( transa, transb, m, n, k, alpha, a, lda, stridea, &
  1713. &b, ldb, strideb, beta, c, ldc, stridec, batch_size, interop ) BIND(C)
  1714. use, intrinsic :: iso_c_binding
  1715. character*1,intent(in) :: transa, transb
  1716. integer,intent(in) :: m, n, k, lda, stridea, ldb, strideb, ldc, stridec, batch_size
  1717. complex,intent(in) :: alpha, beta
  1718. complex,intent(in) :: a( lda, * ), b( ldb, * )
  1719. complex,intent(inout) :: c( ldc, * )
  1720. type(c_ptr),intent(in) :: interop
  1721. end subroutine mkl_blas_cgemm_batch_strided_omp_offload_ilp64
  1722. subroutine mkl_blas_ssyrk_batch_strided_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, stridea, &
  1723. beta, c, ldc, stridec, batch_size, interop ) BIND(C)
  1724. use, intrinsic :: iso_c_binding
  1725. character*1,intent(in) :: uplo, trans
  1726. integer,intent(in) :: n, k, lda, stridea, ldc, stridec, batch_size
  1727. real,intent(in) :: alpha, beta
  1728. real,intent(in) :: a( lda, * )
  1729. real,intent(inout) :: c( ldc, * )
  1730. type(c_ptr),intent(in) :: interop
  1731. end subroutine mkl_blas_ssyrk_batch_strided_omp_offload_ilp64
  1732. subroutine mkl_blas_dsyrk_batch_strided_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, stridea, &
  1733. beta, c, ldc, stridec, batch_size, interop ) BIND(C)
  1734. use, intrinsic :: iso_c_binding
  1735. character*1,intent(in) :: uplo, trans
  1736. integer,intent(in) :: n, k, lda, stridea, ldc, stridec, batch_size
  1737. double precision,intent(in) :: alpha, beta
  1738. double precision,intent(in) :: a( lda, * )
  1739. double precision,intent(inout) :: c( ldc, * )
  1740. type(c_ptr),intent(in) :: interop
  1741. end subroutine mkl_blas_dsyrk_batch_strided_omp_offload_ilp64
  1742. subroutine mkl_blas_csyrk_batch_strided_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, stridea, &
  1743. beta, c, ldc, stridec, batch_size, interop ) BIND(C)
  1744. use, intrinsic :: iso_c_binding
  1745. character*1,intent(in) :: uplo, trans
  1746. integer,intent(in) :: n, k, lda, stridea, ldc, stridec, batch_size
  1747. complex,intent(in) :: alpha, beta
  1748. complex,intent(in) :: a( lda, * )
  1749. complex,intent(inout) :: c( ldc, * )
  1750. type(c_ptr),intent(in) :: interop
  1751. end subroutine mkl_blas_csyrk_batch_strided_omp_offload_ilp64
  1752. subroutine mkl_blas_zsyrk_batch_strided_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, stridea, &
  1753. beta, c, ldc, stridec, batch_size, interop ) BIND(C)
  1754. use, intrinsic :: iso_c_binding
  1755. character*1,intent(in) :: uplo, trans
  1756. integer,intent(in) :: n, k, lda, stridea, ldc, stridec, batch_size
  1757. complex*16,intent(in) :: alpha, beta
  1758. complex*16,intent(in) :: a( lda, * )
  1759. complex*16,intent(inout) :: c( ldc, * )
  1760. type(c_ptr),intent(in) :: interop
  1761. end subroutine mkl_blas_zsyrk_batch_strided_omp_offload_ilp64
  1762. subroutine mkl_blas_daxpy_batch_strided_omp_offload_ilp64 ( n, alpha, x, incx, stridex, &
  1763. &y, incy, stridey, batch_size, interop ) BIND(C)
  1764. use, intrinsic :: iso_c_binding
  1765. double precision,intent(in) :: alpha
  1766. integer,intent(in) :: incx, stridex, incy, stridey, batch_size, n
  1767. double precision,intent(in) :: x( * )
  1768. double precision,intent(inout) :: y( * )
  1769. type(c_ptr),intent(in) :: interop
  1770. end subroutine mkl_blas_daxpy_batch_strided_omp_offload_ilp64
  1771. subroutine mkl_blas_saxpy_batch_strided_omp_offload_ilp64 ( n, alpha, x, incx, stridex, &
  1772. &y, incy, stridey, batch_size, interop ) BIND(C)
  1773. use, intrinsic :: iso_c_binding
  1774. real,intent(in) :: alpha
  1775. integer,intent(in) :: incx, stridex, incy, stridey, batch_size, n
  1776. real,intent(in) :: x( * )
  1777. real,intent(inout) :: y( * )
  1778. type(c_ptr),intent(in) :: interop
  1779. end subroutine mkl_blas_saxpy_batch_strided_omp_offload_ilp64
  1780. subroutine mkl_blas_zaxpy_batch_strided_omp_offload_ilp64 ( n, alpha, x, incx, stridex, &
  1781. &y, incy, stridey, batch_size, interop ) BIND(C)
  1782. use, intrinsic :: iso_c_binding
  1783. complex*16,intent(in) :: alpha
  1784. integer,intent(in) :: incx, stridex, incy, stridey, batch_size, n
  1785. complex*16,intent(in) :: x( * )
  1786. complex*16,intent(inout) :: y( * )
  1787. type(c_ptr),intent(in) :: interop
  1788. end subroutine mkl_blas_zaxpy_batch_strided_omp_offload_ilp64
  1789. subroutine mkl_blas_caxpy_batch_strided_omp_offload_ilp64 ( n, alpha, x, incx, stridex, &
  1790. &y, incy, stridey, batch_size, interop ) BIND(C)
  1791. use, intrinsic :: iso_c_binding
  1792. complex,intent(in) :: alpha
  1793. integer,intent(in) :: incx, stridex, incy, stridey, batch_size, n
  1794. complex,intent(in) :: x( * )
  1795. complex,intent(inout) :: y( * )
  1796. type(c_ptr),intent(in) :: interop
  1797. end subroutine mkl_blas_caxpy_batch_strided_omp_offload_ilp64
  1798. subroutine mkl_blas_scopy_batch_strided_omp_offload_ilp64 ( n, x, incx, stridex, &
  1799. &y, incy, stridey, batch_size, interop ) BIND(C)
  1800. use, intrinsic :: iso_c_binding
  1801. integer,intent(in) :: incx, stridex, incy, stridey, batch_size, n
  1802. real,intent(in) :: x( * )
  1803. real,intent(inout) :: y( * )
  1804. type(c_ptr),intent(in) :: interop
  1805. end subroutine mkl_blas_scopy_batch_strided_omp_offload_ilp64
  1806. subroutine mkl_blas_dcopy_batch_strided_omp_offload_ilp64 ( n, x, incx, stridex, &
  1807. &y, incy, stridey, batch_size, interop ) BIND(C)
  1808. use, intrinsic :: iso_c_binding
  1809. integer,intent(in) :: incx, stridex, incy, stridey, batch_size, n
  1810. double precision,intent(in) :: x( * )
  1811. double precision,intent(inout) :: y( * )
  1812. type(c_ptr),intent(in) :: interop
  1813. end subroutine mkl_blas_dcopy_batch_strided_omp_offload_ilp64
  1814. subroutine mkl_blas_ccopy_batch_strided_omp_offload_ilp64 ( n, x, incx, stridex, &
  1815. &y, incy, stridey, batch_size, interop ) BIND(C)
  1816. use, intrinsic :: iso_c_binding
  1817. integer,intent(in) :: incx, stridex, incy, stridey, batch_size, n
  1818. complex,intent(in) :: x( * )
  1819. complex,intent(inout) :: y( * )
  1820. type(c_ptr),intent(in) :: interop
  1821. end subroutine mkl_blas_ccopy_batch_strided_omp_offload_ilp64
  1822. subroutine mkl_blas_zcopy_batch_strided_omp_offload_ilp64 ( n, x, incx, stridex, &
  1823. &y, incy, stridey, batch_size, interop ) BIND(C)
  1824. use, intrinsic :: iso_c_binding
  1825. integer,intent(in) :: incx, stridex, incy, stridey, batch_size, n
  1826. complex*16,intent(in) :: x( * )
  1827. complex*16,intent(inout) :: y( * )
  1828. type(c_ptr),intent(in) :: interop
  1829. end subroutine mkl_blas_zcopy_batch_strided_omp_offload_ilp64
  1830. subroutine mkl_blas_dgemv_batch_strided_omp_offload_ilp64 ( trans, m, n, alpha, a, lda, stridea, x, incx, &
  1831. &stridex, beta, y, incy, stridey, batch_size, interop ) BIND(C)
  1832. use, intrinsic :: iso_c_binding
  1833. double precision,intent(in) :: alpha, beta
  1834. integer,intent(in) :: incx, incy, lda, m, n
  1835. integer,intent(in) :: stridea, stridex, stridey, batch_size
  1836. character*1,intent(in) :: trans
  1837. double precision,intent(in) :: a( lda, * ), x( * )
  1838. double precision,intent(inout) :: y( * )
  1839. type(c_ptr),intent(in) :: interop
  1840. end subroutine mkl_blas_dgemv_batch_strided_omp_offload_ilp64
  1841. subroutine mkl_blas_sgemv_batch_strided_omp_offload_ilp64 ( trans, m, n, alpha, a, lda, stridea, x, incx, &
  1842. &stridex, beta, y, incy, stridey, batch_size, interop ) BIND(C)
  1843. use, intrinsic :: iso_c_binding
  1844. real,intent(in) :: alpha, beta
  1845. integer,intent(in) :: incx, incy, lda, m, n
  1846. integer,intent(in) :: stridea, stridex, stridey, batch_size
  1847. character*1,intent(in) :: trans
  1848. real,intent(in) :: a( lda, * ), x( * )
  1849. real,intent(inout) :: y( * )
  1850. type(c_ptr),intent(in) :: interop
  1851. end subroutine mkl_blas_sgemv_batch_strided_omp_offload_ilp64
  1852. subroutine mkl_blas_zgemv_batch_strided_omp_offload_ilp64 ( trans, m, n, alpha, a, lda, stridea, x, incx, &
  1853. &stridex, beta, y, incy, stridey, batch_size, interop ) BIND(C)
  1854. use, intrinsic :: iso_c_binding
  1855. complex*16,intent(in) :: alpha, beta
  1856. integer,intent(in) :: incx, incy, lda, m, n
  1857. integer,intent(in) :: stridea, stridex, stridey, batch_size
  1858. character*1,intent(in) :: trans
  1859. complex*16,intent(in) :: a( lda, * ), x( * )
  1860. complex*16,intent(inout) :: y( * )
  1861. type(c_ptr),intent(in) :: interop
  1862. end subroutine mkl_blas_zgemv_batch_strided_omp_offload_ilp64
  1863. subroutine mkl_blas_cgemv_batch_strided_omp_offload_ilp64 ( trans, m, n, alpha, a, lda, stridea, x, incx, &
  1864. &stridex, beta, y, incy, stridey, batch_size, interop ) BIND(C)
  1865. use, intrinsic :: iso_c_binding
  1866. complex,intent(in) :: alpha, beta
  1867. integer,intent(in) :: incx, incy, lda, m, n
  1868. integer,intent(in) :: stridea, stridex, stridey, batch_size
  1869. character*1,intent(in) :: trans
  1870. complex,intent(in) :: a( lda, * ), x( * )
  1871. complex,intent(inout) :: y( * )
  1872. type(c_ptr),intent(in) :: interop
  1873. end subroutine mkl_blas_cgemv_batch_strided_omp_offload_ilp64
  1874. subroutine mkl_blas_ddgmm_batch_strided_omp_offload_ilp64 ( side, m, n, a, lda, stridea, x, incx, &
  1875. &stridex, c, ldc, stridec, batch_size, interop ) BIND(C)
  1876. use, intrinsic :: iso_c_binding
  1877. integer,intent(in) :: incx, ldc, lda, m, n
  1878. integer,intent(in) :: stridea, stridex, stridec, batch_size
  1879. character*1,intent(in) :: side
  1880. double precision,intent(in) :: a( lda, * ), x( * )
  1881. double precision,intent(inout) :: c( ldc, * )
  1882. type(c_ptr),intent(in) :: interop
  1883. end subroutine mkl_blas_ddgmm_batch_strided_omp_offload_ilp64
  1884. subroutine mkl_blas_sdgmm_batch_strided_omp_offload_ilp64 ( side, m, n, a, lda, stridea, x, incx, &
  1885. &stridex, c, ldc, stridec, batch_size, interop ) BIND(C)
  1886. use, intrinsic :: iso_c_binding
  1887. integer,intent(in) :: incx, ldc, lda, m, n
  1888. integer,intent(in) :: stridea, stridex, stridec, batch_size
  1889. character*1,intent(in) :: side
  1890. real,intent(in) :: a( lda, * ), x( * )
  1891. real,intent(inout) :: c( ldc, * )
  1892. type(c_ptr),intent(in) :: interop
  1893. end subroutine mkl_blas_sdgmm_batch_strided_omp_offload_ilp64
  1894. subroutine mkl_blas_zdgmm_batch_strided_omp_offload_ilp64 ( side, m, n, a, lda, stridea, x, incx, &
  1895. &stridex, c, ldc, stridec, batch_size, interop ) BIND(C)
  1896. use, intrinsic :: iso_c_binding
  1897. integer,intent(in) :: incx, ldc, lda, m, n
  1898. integer,intent(in) :: stridea, stridex, stridec, batch_size
  1899. character*1,intent(in) :: side
  1900. complex*16,intent(in) :: a( lda, * ), x( * )
  1901. complex*16,intent(inout) :: c( ldc, * )
  1902. type(c_ptr),intent(in) :: interop
  1903. end subroutine mkl_blas_zdgmm_batch_strided_omp_offload_ilp64
  1904. subroutine mkl_blas_cdgmm_batch_strided_omp_offload_ilp64 ( side, m, n, a, lda, stridea, x, incx, &
  1905. &stridex, c, ldc, stridec, batch_size, interop ) BIND(C)
  1906. use, intrinsic :: iso_c_binding
  1907. integer,intent(in) :: incx, ldc, lda, m, n
  1908. integer,intent(in) :: stridea, stridex, stridec, batch_size
  1909. character*1,intent(in) :: side
  1910. complex,intent(in) :: a( lda, * ), x( * )
  1911. complex,intent(inout) :: c( ldc, * )
  1912. type(c_ptr),intent(in) :: interop
  1913. end subroutine mkl_blas_cdgmm_batch_strided_omp_offload_ilp64
  1914. subroutine mkl_blas_daxpy_batch_omp_offload_ilp64(n_array,alpha_array,x_array,incx_array, &
  1915. &y_array,incy_array,group_count,group_size_array,interop)
  1916. use, intrinsic :: iso_c_binding
  1917. double precision,intent(in) :: alpha_array(*)
  1918. integer,intent(in) :: incx_array(*),incy_array(*),n_array(*)
  1919. integer,intent(in) :: group_count,group_size_array(*)
  1920. integer(KIND=C_INTPTR_T),intent(in) :: x_array(*)
  1921. integer(KIND=C_INTPTR_T),intent(inout) :: y_array(*)
  1922. type(c_ptr),intent(in) :: interop
  1923. end subroutine mkl_blas_daxpy_batch_omp_offload_ilp64
  1924. subroutine mkl_blas_saxpy_batch_omp_offload_ilp64(n_array,alpha_array,x_array,incx_array, &
  1925. &y_array,incy_array,group_count,group_size_array,interop)
  1926. use, intrinsic :: iso_c_binding
  1927. real,intent(in) :: alpha_array(*)
  1928. integer,intent(in) :: incx_array(*),incy_array(*),n_array(*)
  1929. integer,intent(in) :: group_count,group_size_array(*)
  1930. integer(KIND=C_INTPTR_T),intent(in) :: x_array(*)
  1931. integer(KIND=C_INTPTR_T),intent(inout) :: y_array(*)
  1932. type(c_ptr),intent(in) :: interop
  1933. end subroutine mkl_blas_saxpy_batch_omp_offload_ilp64
  1934. subroutine mkl_blas_zaxpy_batch_omp_offload_ilp64(n_array,alpha_array,x_array,incx_array, &
  1935. &y_array,incy_array,group_count,group_size_array,interop)
  1936. use, intrinsic :: iso_c_binding
  1937. complex*16,intent(in) :: alpha_array(*)
  1938. integer,intent(in) :: incx_array(*),incy_array(*),n_array(*)
  1939. integer,intent(in) :: group_count,group_size_array(*)
  1940. integer(KIND=C_INTPTR_T),intent(in) :: x_array(*)
  1941. integer(KIND=C_INTPTR_T),intent(inout) :: y_array(*)
  1942. type(c_ptr),intent(in) :: interop
  1943. end subroutine mkl_blas_zaxpy_batch_omp_offload_ilp64
  1944. subroutine mkl_blas_caxpy_batch_omp_offload_ilp64(n_array,alpha_array,x_array,incx_array, &
  1945. &y_array,incy_array,group_count,group_size_array,interop)
  1946. use, intrinsic :: iso_c_binding
  1947. complex,intent(in) :: alpha_array(*)
  1948. integer,intent(in) :: incx_array(*),incy_array(*),n_array(*)
  1949. integer,intent(in) :: group_count,group_size_array(*)
  1950. integer(KIND=C_INTPTR_T),intent(in) :: x_array(*)
  1951. integer(KIND=C_INTPTR_T),intent(inout) :: y_array(*)
  1952. type(c_ptr),intent(in) :: interop
  1953. end subroutine mkl_blas_caxpy_batch_omp_offload_ilp64
  1954. subroutine mkl_blas_scopy_batch_omp_offload_ilp64(n_array,x_array,incx_array, &
  1955. &y_array,incy_array,group_count,group_size_array,interop)
  1956. use, intrinsic :: iso_c_binding
  1957. integer,intent(in) :: incx_array(*),incy_array(*),n_array(*)
  1958. integer,intent(in) :: group_count,group_size_array(*)
  1959. integer(KIND=C_INTPTR_T),intent(in) :: x_array(*)
  1960. integer(KIND=C_INTPTR_T),intent(inout) :: y_array(*)
  1961. type(c_ptr),intent(in) :: interop
  1962. end subroutine mkl_blas_scopy_batch_omp_offload_ilp64
  1963. subroutine mkl_blas_dcopy_batch_omp_offload_ilp64(n_array,x_array,incx_array, &
  1964. &y_array,incy_array,group_count,group_size_array,interop)
  1965. use, intrinsic :: iso_c_binding
  1966. integer,intent(in) :: incx_array(*),incy_array(*),n_array(*)
  1967. integer,intent(in) :: group_count,group_size_array(*)
  1968. integer(KIND=C_INTPTR_T),intent(in) :: x_array(*)
  1969. integer(KIND=C_INTPTR_T),intent(inout) :: y_array(*)
  1970. type(c_ptr),intent(in) :: interop
  1971. end subroutine mkl_blas_dcopy_batch_omp_offload_ilp64
  1972. subroutine mkl_blas_ccopy_batch_omp_offload_ilp64(n_array,x_array,incx_array, &
  1973. &y_array,incy_array,group_count,group_size_array,interop)
  1974. use, intrinsic :: iso_c_binding
  1975. integer,intent(in) :: incx_array(*),incy_array(*),n_array(*)
  1976. integer,intent(in) :: group_count,group_size_array(*)
  1977. integer(KIND=C_INTPTR_T),intent(in) :: x_array(*)
  1978. integer(KIND=C_INTPTR_T),intent(inout) :: y_array(*)
  1979. type(c_ptr),intent(in) :: interop
  1980. end subroutine mkl_blas_ccopy_batch_omp_offload_ilp64
  1981. subroutine mkl_blas_zcopy_batch_omp_offload_ilp64(n_array,x_array,incx_array, &
  1982. &y_array,incy_array,group_count,group_size_array,interop)
  1983. use, intrinsic :: iso_c_binding
  1984. integer,intent(in) :: incx_array(*),incy_array(*),n_array(*)
  1985. integer,intent(in) :: group_count,group_size_array(*)
  1986. integer(KIND=C_INTPTR_T),intent(in) :: x_array(*)
  1987. integer(KIND=C_INTPTR_T),intent(inout) :: y_array(*)
  1988. type(c_ptr),intent(in) :: interop
  1989. end subroutine mkl_blas_zcopy_batch_omp_offload_ilp64
  1990. subroutine mkl_blas_dtrsm_batch_omp_offload_ilp64 ( side, uplo, trans, diag, m, n, alpha, a, lda, &
  1991. &b, ldb, group_count, group_size, interop ) BIND(C)
  1992. use, intrinsic :: iso_c_binding
  1993. character*1,intent(in) :: side(*), uplo(*), trans(*), diag(*)
  1994. integer,intent(in) :: m(*), n(*), lda(*), ldb(*)
  1995. integer,intent(in) :: group_size(*), group_count
  1996. double precision,intent(in) :: alpha(*)
  1997. integer(KIND=C_INTPTR_T),intent(in) :: a( * )
  1998. integer(KIND=C_INTPTR_T),intent(inout) :: b( * )
  1999. type(c_ptr),intent(in) :: interop
  2000. end subroutine mkl_blas_dtrsm_batch_omp_offload_ilp64
  2001. subroutine mkl_blas_strsm_batch_omp_offload_ilp64 ( side, uplo, trans, diag, m, n, alpha, a, lda, &
  2002. &b, ldb, group_count, group_size, interop ) BIND(C)
  2003. use, intrinsic :: iso_c_binding
  2004. character*1,intent(in) :: side(*), uplo(*), trans(*), diag(*)
  2005. integer,intent(in) :: m(*), n(*), lda(*), ldb(*)
  2006. integer,intent(in) :: group_size(*), group_count
  2007. real,intent(in) :: alpha(*)
  2008. integer(KIND=C_INTPTR_T),intent(in) :: a( * )
  2009. integer(KIND=C_INTPTR_T),intent(inout) :: b( * )
  2010. type(c_ptr),intent(in) :: interop
  2011. end subroutine mkl_blas_strsm_batch_omp_offload_ilp64
  2012. subroutine mkl_blas_ztrsm_batch_omp_offload_ilp64 ( side, uplo, trans, diag, m, n, alpha, a, lda, &
  2013. &b, ldb, group_count, group_size, interop ) BIND(C)
  2014. use, intrinsic :: iso_c_binding
  2015. character*1,intent(in) :: side(*), uplo(*), trans(*), diag(*)
  2016. integer,intent(in) :: m(*), n(*), lda(*), ldb(*)
  2017. integer,intent(in) :: group_size(*), group_count
  2018. complex*16,intent(in) :: alpha(*)
  2019. integer(KIND=C_INTPTR_T),intent(in) :: a( * )
  2020. integer(KIND=C_INTPTR_T),intent(inout) :: b( * )
  2021. type(c_ptr),intent(in) :: interop
  2022. end subroutine mkl_blas_ztrsm_batch_omp_offload_ilp64
  2023. subroutine mkl_blas_ctrsm_batch_omp_offload_ilp64 ( side, uplo, trans, diag, m, n, alpha, a, lda, &
  2024. &b, ldb, group_count, group_size, interop ) BIND(C)
  2025. use, intrinsic :: iso_c_binding
  2026. character*1,intent(in) :: side(*), uplo(*), trans(*), diag(*)
  2027. integer,intent(in) :: m(*), n(*), lda(*), ldb(*)
  2028. integer,intent(in) :: group_size(*), group_count
  2029. complex,intent(in) :: alpha(*)
  2030. integer(KIND=C_INTPTR_T),intent(in) :: a( * )
  2031. integer(KIND=C_INTPTR_T),intent(inout) :: b( * )
  2032. type(c_ptr),intent(in) :: interop
  2033. end subroutine mkl_blas_ctrsm_batch_omp_offload_ilp64
  2034. subroutine mkl_blas_dsyrk_batch_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, &
  2035. beta, c, ldc, group_count, group_size, interop ) BIND(C)
  2036. use, intrinsic :: iso_c_binding
  2037. character*1,intent(in) :: uplo(*), trans(*)
  2038. integer,intent(in) :: n(*), k(*), lda(*), ldc(*)
  2039. integer,intent(in) :: group_size(*), group_count
  2040. double precision,intent(in) :: alpha(*), beta(*)
  2041. integer(KIND=C_INTPTR_T),intent(in) :: a( * )
  2042. integer(KIND=C_INTPTR_T),intent(inout) :: c( * )
  2043. type(c_ptr),intent(in) :: interop
  2044. end subroutine mkl_blas_dsyrk_batch_omp_offload_ilp64
  2045. subroutine mkl_blas_ssyrk_batch_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, &
  2046. beta, c, ldc, group_count, group_size, interop ) BIND(C)
  2047. use, intrinsic :: iso_c_binding
  2048. character*1,intent(in) :: uplo(*), trans(*)
  2049. integer,intent(in) :: n(*), k(*), lda(*), ldc(*)
  2050. integer,intent(in) :: group_size(*), group_count
  2051. real,intent(in) :: alpha(*), beta(*)
  2052. integer(KIND=C_INTPTR_T),intent(in) :: a( * )
  2053. integer(KIND=C_INTPTR_T),intent(inout) :: c( * )
  2054. type(c_ptr),intent(in) :: interop
  2055. end subroutine mkl_blas_ssyrk_batch_omp_offload_ilp64
  2056. subroutine mkl_blas_zsyrk_batch_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, &
  2057. beta, c, ldc, group_count, group_size, interop ) BIND(C)
  2058. use, intrinsic :: iso_c_binding
  2059. character*1,intent(in) :: uplo(*), trans(*)
  2060. integer,intent(in) :: n(*), k(*), lda(*), ldc(*)
  2061. integer,intent(in) :: group_size(*), group_count
  2062. complex*16,intent(in) :: alpha(*), beta(*)
  2063. integer(KIND=C_INTPTR_T),intent(in) :: a( * )
  2064. integer(KIND=C_INTPTR_T),intent(inout) :: c( * )
  2065. type(c_ptr),intent(in) :: interop
  2066. end subroutine mkl_blas_zsyrk_batch_omp_offload_ilp64
  2067. subroutine mkl_blas_csyrk_batch_omp_offload_ilp64 ( uplo, trans, n, k, alpha, a, lda, &
  2068. beta, c, ldc, group_count, group_size, interop ) BIND(C)
  2069. use, intrinsic :: iso_c_binding
  2070. character*1,intent(in) :: uplo(*), trans(*)
  2071. integer,intent(in) :: n(*), k(*), lda(*), ldc(*)
  2072. integer,intent(in) :: group_size(*), group_count
  2073. complex,intent(in) :: alpha(*), beta(*)
  2074. integer(KIND=C_INTPTR_T),intent(in) :: a( * )
  2075. integer(KIND=C_INTPTR_T),intent(inout) :: c( * )
  2076. type(c_ptr),intent(in) :: interop
  2077. end subroutine mkl_blas_csyrk_batch_omp_offload_ilp64
  2078. subroutine mkl_blas_dgemm_batch_omp_offload_ilp64 ( transa, transb, m, n, k, alpha, a, lda, &
  2079. &b, ldb, beta, c, ldc, group_count, group_size, interop ) BIND(C)
  2080. use, intrinsic :: iso_c_binding
  2081. character*1,intent(in) :: transa(*), transb(*)
  2082. integer,intent(in) :: m(*), n(*), k(*), lda(*), ldb(*), ldc(*)
  2083. integer,intent(in) :: group_size(*), group_count
  2084. double precision,intent(in) :: alpha(*), beta(*)
  2085. integer(KIND=C_INTPTR_T),intent(in) :: a( * ), b( * )
  2086. integer(KIND=C_INTPTR_T),intent(inout) :: c( * )
  2087. type(c_ptr),intent(in) :: interop
  2088. end subroutine mkl_blas_dgemm_batch_omp_offload_ilp64
  2089. subroutine mkl_blas_sgemm_batch_omp_offload_ilp64 ( transa, transb, m, n, k, alpha, a, lda, &
  2090. &b, ldb, beta, c, ldc, group_count, group_size, interop ) BIND(C)
  2091. use, intrinsic :: iso_c_binding
  2092. character*1,intent(in) :: transa(*), transb(*)
  2093. integer,intent(in) :: m(*), n(*), k(*), lda(*), ldb(*), ldc(*)
  2094. integer,intent(in) :: group_size(*), group_count
  2095. real,intent(in) :: alpha(*), beta(*)
  2096. integer(KIND=C_INTPTR_T),intent(in) :: a( * ), b( * )
  2097. integer(KIND=C_INTPTR_T),intent(inout) :: c( * )
  2098. type(c_ptr),intent(in) :: interop
  2099. end subroutine mkl_blas_sgemm_batch_omp_offload_ilp64
  2100. subroutine mkl_blas_zgemm_batch_omp_offload_ilp64 ( transa, transb, m, n, k, alpha, a, lda, &
  2101. &b, ldb, beta, c, ldc, group_count, group_size, interop ) BIND(C)
  2102. use, intrinsic :: iso_c_binding
  2103. character*1,intent(in) :: transa(*), transb(*)
  2104. integer,intent(in) :: m(*), n(*), k(*), lda(*), ldb(*), ldc(*)
  2105. integer,intent(in) :: group_size(*), group_count
  2106. complex*16,intent(in) :: alpha(*), beta(*)
  2107. integer(KIND=C_INTPTR_T),intent(in) :: a( * ), b( * )
  2108. integer(KIND=C_INTPTR_T),intent(inout) :: c( * )
  2109. type(c_ptr),intent(in) :: interop
  2110. end subroutine mkl_blas_zgemm_batch_omp_offload_ilp64
  2111. subroutine mkl_blas_cgemm_batch_omp_offload_ilp64 ( transa, transb, m, n, k, alpha, a, lda, &
  2112. &b, ldb, beta, c, ldc, group_count, group_size, interop ) BIND(C)
  2113. use, intrinsic :: iso_c_binding
  2114. character*1,intent(in) :: transa(*), transb(*)
  2115. integer,intent(in) :: m(*), n(*), k(*), lda(*), ldb(*), ldc(*)
  2116. integer,intent(in) :: group_size(*), group_count
  2117. complex,intent(in) :: alpha(*), beta(*)
  2118. integer(KIND=C_INTPTR_T),intent(in) :: a( * ), b( * )
  2119. integer(KIND=C_INTPTR_T),intent(inout) :: c( * )
  2120. type(c_ptr),intent(in) :: interop
  2121. end subroutine mkl_blas_cgemm_batch_omp_offload_ilp64
  2122. subroutine mkl_blas_dgemv_batch_omp_offload_ilp64 ( trans, m, n, alpha, a, lda, x, incx, &
  2123. &beta, y, incy, group_count, group_size, interop ) BIND(C)
  2124. use, intrinsic :: iso_c_binding
  2125. double precision,intent(in) :: alpha(*), beta(*)
  2126. integer,intent(in) :: incx(*), incy(*), lda(*), m(*), n(*)
  2127. integer,intent(in) :: group_size(*), group_count
  2128. character*1,intent(in) :: trans(*)
  2129. integer(KIND=C_INTPTR_T),intent(in) :: a( * ), x( * )
  2130. integer(KIND=C_INTPTR_T),intent(inout) :: y( * )
  2131. type(c_ptr),intent(in) :: interop
  2132. end subroutine mkl_blas_dgemv_batch_omp_offload_ilp64
  2133. subroutine mkl_blas_sgemv_batch_omp_offload_ilp64 ( trans, m, n, alpha, a, lda, x, incx, &
  2134. &beta, y, incy, group_count, group_size, interop ) BIND(C)
  2135. use, intrinsic :: iso_c_binding
  2136. real,intent(in) :: alpha(*), beta(*)
  2137. integer,intent(in) :: incx(*), incy(*), lda(*), m(*), n(*)
  2138. integer,intent(in) :: group_size(*), group_count
  2139. character*1,intent(in) :: trans(*)
  2140. integer(KIND=C_INTPTR_T),intent(in) :: a( * ), x( * )
  2141. integer(KIND=C_INTPTR_T),intent(inout) :: y( * )
  2142. type(c_ptr),intent(in) :: interop
  2143. end subroutine mkl_blas_sgemv_batch_omp_offload_ilp64
  2144. subroutine mkl_blas_zgemv_batch_omp_offload_ilp64 ( trans, m, n, alpha, a, lda, x, incx, &
  2145. &beta, y, incy, group_count, group_size, interop ) BIND(C)
  2146. use, intrinsic :: iso_c_binding
  2147. complex*16,intent(in) :: alpha(*), beta(*)
  2148. integer,intent(in) :: incx(*), incy(*), lda(*), m(*), n(*)
  2149. integer,intent(in) :: group_size(*), group_count
  2150. character*1,intent(in) :: trans(*)
  2151. integer(KIND=C_INTPTR_T),intent(in) :: a( * ), x( * )
  2152. integer(KIND=C_INTPTR_T),intent(inout) :: y( * )
  2153. type(c_ptr),intent(in) :: interop
  2154. end subroutine mkl_blas_zgemv_batch_omp_offload_ilp64
  2155. subroutine mkl_blas_cgemv_batch_omp_offload_ilp64 ( trans, m, n, alpha, a, lda, x, incx, &
  2156. &beta, y, incy, group_count, group_size, interop ) BIND(C)
  2157. use, intrinsic :: iso_c_binding
  2158. complex,intent(in) :: alpha(*), beta(*)
  2159. integer,intent(in) :: incx(*), incy(*), lda(*), m(*), n(*)
  2160. integer,intent(in) :: group_size(*), group_count
  2161. character*1,intent(in) :: trans(*)
  2162. integer(KIND=C_INTPTR_T),intent(in) :: a( * ), x( * )
  2163. integer(KIND=C_INTPTR_T),intent(inout) :: y( * )
  2164. type(c_ptr),intent(in) :: interop
  2165. end subroutine mkl_blas_cgemv_batch_omp_offload_ilp64
  2166. subroutine mkl_blas_ddgmm_batch_omp_offload_ilp64 ( side, m, n, a, lda, x, incx, &
  2167. &c, ldc, group_count, group_size, interop ) BIND(C)
  2168. use, intrinsic :: iso_c_binding
  2169. integer,intent(in) :: incx(*), ldc(*), lda(*), m(*), n(*)
  2170. integer,intent(in) :: group_size(*), group_count
  2171. character*1,intent(in) :: side(*)
  2172. integer(KIND=C_INTPTR_T),intent(in) :: a( * ), x( * )
  2173. integer(KIND=C_INTPTR_T),intent(inout) :: c( * )
  2174. type(c_ptr),intent(in) :: interop
  2175. end subroutine mkl_blas_ddgmm_batch_omp_offload_ilp64
  2176. subroutine mkl_blas_sdgmm_batch_omp_offload_ilp64 ( side, m, n, a, lda, x, incx, &
  2177. &c, ldc, group_count, group_size, interop ) BIND(C)
  2178. use, intrinsic :: iso_c_binding
  2179. integer,intent(in) :: incx(*), ldc(*), lda(*), m(*), n(*)
  2180. integer,intent(in) :: group_size(*), group_count
  2181. character*1,intent(in) :: side(*)
  2182. integer(KIND=C_INTPTR_T),intent(in) :: a( * ), x( * )
  2183. integer(KIND=C_INTPTR_T),intent(inout) :: c( * )
  2184. type(c_ptr),intent(in) :: interop
  2185. end subroutine mkl_blas_sdgmm_batch_omp_offload_ilp64
  2186. subroutine mkl_blas_zdgmm_batch_omp_offload_ilp64 ( side, m, n, a, lda, x, incx, &
  2187. &c, ldc, group_count, group_size, interop ) BIND(C)
  2188. use, intrinsic :: iso_c_binding
  2189. integer,intent(in) :: incx(*), ldc(*), lda(*), m(*), n(*)
  2190. integer,intent(in) :: group_size(*), group_count
  2191. character*1,intent(in) :: side(*)
  2192. integer(KIND=C_INTPTR_T),intent(in) :: a( * ), x( * )
  2193. integer(KIND=C_INTPTR_T),intent(inout) :: c( * )
  2194. type(c_ptr),intent(in) :: interop
  2195. end subroutine mkl_blas_zdgmm_batch_omp_offload_ilp64
  2196. subroutine mkl_blas_cdgmm_batch_omp_offload_ilp64 ( side, m, n, a, lda, x, incx, &
  2197. &c, ldc, group_count, group_size, interop ) BIND(C)
  2198. use, intrinsic :: iso_c_binding
  2199. integer,intent(in) :: incx(*), ldc(*), lda(*), m(*), n(*)
  2200. integer,intent(in) :: group_size(*), group_count
  2201. character*1,intent(in) :: side(*)
  2202. integer(KIND=C_INTPTR_T),intent(in) :: a( * ), x( * )
  2203. integer(KIND=C_INTPTR_T),intent(inout) :: c( * )
  2204. type(c_ptr),intent(in) :: interop
  2205. end subroutine mkl_blas_cdgmm_batch_omp_offload_ilp64
  2206. end interface