12#ifndef BLAS_USE_TEMPLATE
21 float const* x, int64_t incx );
25 double const* x, int64_t incx );
29 std::complex<float>
const* x, int64_t incx );
33 std::complex<double>
const* x, int64_t incx );
39 float const* x, int64_t incx,
40 float* y, int64_t incy );
45 double const* x, int64_t incx,
46 double* y, int64_t incy );
50 std::complex<float> alpha,
51 std::complex<float>
const* x, int64_t incx,
52 std::complex<float>* y, int64_t incy );
56 std::complex<double> alpha,
57 std::complex<double>
const* x, int64_t incx,
58 std::complex<double>* y, int64_t incy );
63 float const* x, int64_t incx,
64 float* y, int64_t incy );
68 double const* x, int64_t incx,
69 double* y, int64_t incy );
73 std::complex<float>
const* x, int64_t incx,
74 std::complex<float>* y, int64_t incy );
78 std::complex<double>
const* x, int64_t incx,
79 std::complex<double>* y, int64_t incy );
84 float const* x, int64_t incx,
85 float const* y, int64_t incy );
89 double const* x, int64_t incx,
90 double const* y, int64_t incy );
92std::complex<float>
dot(
94 std::complex<float>
const* x, int64_t incx,
95 std::complex<float>
const* y, int64_t incy );
97std::complex<double>
dot(
99 std::complex<double>
const* x, int64_t incx,
100 std::complex<double>
const* y, int64_t incy );
105 float const* x, int64_t incx,
106 float const* y, int64_t incy );
110 double const* x, int64_t incx,
111 double const* y, int64_t incy );
113std::complex<float>
dotu(
115 std::complex<float>
const* x, int64_t incx,
116 std::complex<float>
const* y, int64_t incy );
118std::complex<double>
dotu(
120 std::complex<double>
const* x, int64_t incx,
121 std::complex<double>
const* y, int64_t incy );
126 float const* x, int64_t incx );
130 double const* x, int64_t incx );
134 std::complex<float>
const* x, int64_t incx );
138 std::complex<double>
const* x, int64_t incx );
143 float const* x, int64_t incx );
147 double const* x, int64_t incx );
151 std::complex<float>
const* x, int64_t incx );
155 std::complex<double>
const* x, int64_t incx );
160 float* x, int64_t incx,
161 float* y, int64_t incy,
167 double* x, int64_t incx,
168 double* y, int64_t incy,
177 std::complex<float>* x, int64_t incx,
178 std::complex<float>* y, int64_t incy,
187 std::complex<double>* x, int64_t incx,
188 std::complex<double>* y, int64_t incy,
197 std::complex<float>* x, int64_t incx,
198 std::complex<float>* y, int64_t incy,
200 std::complex<float> s );
207 std::complex<double>* x, int64_t incx,
208 std::complex<double>* y, int64_t incy,
210 std::complex<double> s );
226 std::complex<float>* a,
227 std::complex<float>* b,
229 std::complex<float>* s );
232 std::complex<double>* a,
233 std::complex<double>* b,
235 std::complex<double>* s );
241 float* x, int64_t incx,
242 float* y, int64_t incy,
243 float const param[5] );
247 double* x, int64_t incx,
248 double* y, int64_t incy,
249 double const param[5] );
271 float* x, int64_t incx );
276 double* x, int64_t incx );
280 std::complex<float> alpha,
281 std::complex<float>* x, int64_t incx );
285 std::complex<double> alpha,
286 std::complex<double>* x, int64_t incx );
291 float* x, int64_t incx,
292 float* y, int64_t incy );
296 double* x, int64_t incx,
297 double* y, int64_t incy );
301 std::complex<float>* x, int64_t incx,
302 std::complex<float>* y, int64_t incy );
306 std::complex<double>* x, int64_t incx,
307 std::complex<double>* y, int64_t incy );
316 int64_t m, int64_t n,
318 float const* A, int64_t lda,
319 float const* x, int64_t incx,
321 float* y, int64_t incy );
326 int64_t m, int64_t n,
328 double const* A, int64_t lda,
329 double const* x, int64_t incx,
331 double* y, int64_t incy );
336 int64_t m, int64_t n,
337 std::complex<float> alpha,
338 std::complex<float>
const* A, int64_t lda,
339 std::complex<float>
const* x, int64_t incx,
340 std::complex<float> beta,
341 std::complex<float>* y, int64_t incy );
346 int64_t m, int64_t n,
347 std::complex<double> alpha,
348 std::complex<double>
const* A, int64_t lda,
349 std::complex<double>
const* x, int64_t incx,
350 std::complex<double> beta,
351 std::complex<double>* y, int64_t incy );
356 int64_t m, int64_t n,
358 float const* x, int64_t incx,
359 float const* y, int64_t incy,
360 float* A, int64_t lda );
364 int64_t m, int64_t n,
366 double const* x, int64_t incx,
367 double const* y, int64_t incy,
368 double* A, int64_t lda );
372 int64_t m, int64_t n,
373 std::complex<float> alpha,
374 std::complex<float>
const* x, int64_t incx,
375 std::complex<float>
const* y, int64_t incy,
376 std::complex<float>* A, int64_t lda );
380 int64_t m, int64_t n,
381 std::complex<double> alpha,
382 std::complex<double>
const* x, int64_t incx,
383 std::complex<double>
const* y, int64_t incy,
384 std::complex<double>* A, int64_t lda );
389 int64_t m, int64_t n,
391 float const* x, int64_t incx,
392 float const* y, int64_t incy,
393 float* A, int64_t lda );
397 int64_t m, int64_t n,
399 double const* x, int64_t incx,
400 double const* y, int64_t incy,
401 double* A, int64_t lda );
405 int64_t m, int64_t n,
406 std::complex<float> alpha,
407 std::complex<float>
const* x, int64_t incx,
408 std::complex<float>
const* y, int64_t incy,
409 std::complex<float>* A, int64_t lda );
413 int64_t m, int64_t n,
414 std::complex<double> alpha,
415 std::complex<double>
const* x, int64_t incx,
416 std::complex<double>
const* y, int64_t incy,
417 std::complex<double>* A, int64_t lda );
425 float const* A, int64_t lda,
426 float const* x, int64_t incx,
428 float* y, int64_t incy );
435 double const* A, int64_t lda,
436 double const* x, int64_t incx,
438 double* y, int64_t incy );
444 std::complex<float> alpha,
445 std::complex<float>
const* A, int64_t lda,
446 std::complex<float>
const* x, int64_t incx,
447 std::complex<float> beta,
448 std::complex<float>* y, int64_t incy );
454 std::complex<double> alpha,
455 std::complex<double>
const* A, int64_t lda,
456 std::complex<double>
const* x, int64_t incx,
457 std::complex<double> beta,
458 std::complex<double>* y, int64_t incy );
466 float const* x, int64_t incx,
467 float* A, int64_t lda );
474 double const* x, int64_t incx,
475 double* A, int64_t lda );
482 std::complex<float>
const* x, int64_t incx,
483 std::complex<float>* A, int64_t lda );
490 std::complex<double>
const* x, int64_t incx,
491 std::complex<double>* A, int64_t lda );
499 float const* x, int64_t incx,
500 float const* y, int64_t incy,
501 float* A, int64_t lda );
508 double const* x, int64_t incx,
509 double const* y, int64_t incy,
510 double* A, int64_t lda );
516 std::complex<float> alpha,
517 std::complex<float>
const* x, int64_t incx,
518 std::complex<float>
const* y, int64_t incy,
519 std::complex<float>* A, int64_t lda );
525 std::complex<double> alpha,
526 std::complex<double>
const* x, int64_t incx,
527 std::complex<double>
const* y, int64_t incy,
528 std::complex<double>* A, int64_t lda );
536 float const* A, int64_t lda,
537 float const* x, int64_t incx,
539 float* y, int64_t incy );
546 double const* A, int64_t lda,
547 double const* x, int64_t incx,
549 double* y, int64_t incy );
555 std::complex<float> alpha,
556 std::complex<float>
const* A, int64_t lda,
557 std::complex<float>
const* x, int64_t incx,
558 std::complex<float> beta,
559 std::complex<float>* y, int64_t incy );
565 std::complex<double> alpha,
566 std::complex<double>
const* A, int64_t lda,
567 std::complex<double>
const* x, int64_t incx,
568 std::complex<double> beta,
569 std::complex<double>* y, int64_t incy );
578 float const* x, int64_t incx,
579 float* A, int64_t lda );
586 double const* x, int64_t incx,
587 double* A, int64_t lda );
595 float const* x, int64_t incx,
596 float const* y, int64_t incy,
597 float* A, int64_t lda );
604 double const* x, int64_t incx,
605 double const* y, int64_t incy,
606 double* A, int64_t lda );
612 std::complex<float> alpha,
613 std::complex<float>
const* x, int64_t incx,
614 std::complex<float>
const* y, int64_t incy,
615 std::complex<float>* A, int64_t lda );
621 std::complex<double> alpha,
622 std::complex<double>
const* x, int64_t incx,
623 std::complex<double>
const* y, int64_t incy,
624 std::complex<double>* A, int64_t lda );
633 float const* A, int64_t lda,
634 float* x, int64_t incx );
642 double const* A, int64_t lda,
643 double* x, int64_t incx );
651 std::complex<float>
const* A, int64_t lda,
652 std::complex<float>* x, int64_t incx );
660 std::complex<double>
const* A, int64_t lda,
661 std::complex<double>* x, int64_t incx );
670 float const* A, int64_t lda,
671 float* x, int64_t incx );
679 double const* A, int64_t lda,
680 double* x, int64_t incx );
688 std::complex<float>
const* A, int64_t lda,
689 std::complex<float>* x, int64_t incx );
697 std::complex<double>
const* A, int64_t lda,
698 std::complex<double>* x, int64_t incx );
708 int64_t m, int64_t n, int64_t k,
710 float const* A, int64_t lda,
711 float const* B, int64_t ldb,
713 float* C, int64_t ldc );
719 int64_t m, int64_t n, int64_t k,
721 double const* A, int64_t lda,
722 double const* B, int64_t ldb,
724 double* C, int64_t ldc );
730 int64_t m, int64_t n, int64_t k,
731 std::complex<float> alpha,
732 std::complex<float>
const* A, int64_t lda,
733 std::complex<float>
const* B, int64_t ldb,
734 std::complex<float> beta,
735 std::complex<float>* C, int64_t ldc );
741 int64_t m, int64_t n, int64_t k,
742 std::complex<double> alpha,
743 std::complex<double>
const* A, int64_t lda,
744 std::complex<double>
const* B, int64_t ldb,
745 std::complex<double> beta,
746 std::complex<double>* C, int64_t ldc );
753 int64_t m, int64_t n,
755 float const* A, int64_t lda,
756 float const* B, int64_t ldb,
758 float* C, int64_t ldc );
764 int64_t m, int64_t n,
766 double const* A, int64_t lda,
767 double const* B, int64_t ldb,
769 double* C, int64_t ldc );
775 int64_t m, int64_t n,
776 std::complex<float> alpha,
777 std::complex<float>
const* A, int64_t lda,
778 std::complex<float>
const* B, int64_t ldb,
779 std::complex<float> beta,
780 std::complex<float>* C, int64_t ldc );
786 int64_t m, int64_t n,
787 std::complex<double> alpha,
788 std::complex<double>
const* A, int64_t lda,
789 std::complex<double>
const* B, int64_t ldb,
790 std::complex<double> beta,
791 std::complex<double>* C, int64_t ldc );
798 int64_t n, int64_t k,
800 float const* A, int64_t lda,
801 float const* B, int64_t ldb,
803 float* C, int64_t ldc );
809 int64_t n, int64_t k,
811 double const* A, int64_t lda,
812 double const* B, int64_t ldb,
814 double* C, int64_t ldc );
820 int64_t n, int64_t k,
821 std::complex<float> alpha,
822 std::complex<float>
const* A, int64_t lda,
823 std::complex<float>
const* B, int64_t ldb,
825 std::complex<float>* C, int64_t ldc );
831 int64_t n, int64_t k,
832 std::complex<double> alpha,
833 std::complex<double>
const* A, int64_t lda,
834 std::complex<double>
const* B, int64_t ldb,
836 std::complex<double>* C, int64_t ldc );
843 int64_t n, int64_t k,
845 float const* A, int64_t lda,
847 float* C, int64_t ldc );
853 int64_t n, int64_t k,
855 double const* A, int64_t lda,
857 double* C, int64_t ldc );
863 int64_t n, int64_t k,
865 std::complex<float>
const* A, int64_t lda,
867 std::complex<float>* C, int64_t ldc );
873 int64_t n, int64_t k,
875 std::complex<double>
const* A, int64_t lda,
877 std::complex<double>* C, int64_t ldc );
884 int64_t m, int64_t n,
886 float const* A, int64_t lda,
887 float const* B, int64_t ldb,
889 float* C, int64_t ldc );
895 int64_t m, int64_t n,
897 double const* A, int64_t lda,
898 double const* B, int64_t ldb,
900 double* C, int64_t ldc );
906 int64_t m, int64_t n,
907 std::complex<float> alpha,
908 std::complex<float>
const* A, int64_t lda,
909 std::complex<float>
const* B, int64_t ldb,
910 std::complex<float> beta,
911 std::complex<float>* C, int64_t ldc );
917 int64_t m, int64_t n,
918 std::complex<double> alpha,
919 std::complex<double>
const* A, int64_t lda,
920 std::complex<double>
const* B, int64_t ldb,
921 std::complex<double> beta,
922 std::complex<double>* C, int64_t ldc );
929 int64_t n, int64_t k,
931 float const* A, int64_t lda,
932 float const* B, int64_t ldb,
934 float* C, int64_t ldc );
940 int64_t n, int64_t k,
942 double const* A, int64_t lda,
943 double const* B, int64_t ldb,
945 double* C, int64_t ldc );
951 int64_t n, int64_t k,
952 std::complex<float> alpha,
953 std::complex<float>
const* A, int64_t lda,
954 std::complex<float>
const* B, int64_t ldb,
955 std::complex<float> beta,
956 std::complex<float>* C, int64_t ldc );
962 int64_t n, int64_t k,
963 std::complex<double> alpha,
964 std::complex<double>
const* A, int64_t lda,
965 std::complex<double>
const* B, int64_t ldb,
966 std::complex<double> beta,
967 std::complex<double>* C, int64_t ldc );
974 int64_t n, int64_t k,
976 float const* A, int64_t lda,
978 float* C, int64_t ldc );
984 int64_t n, int64_t k,
986 double const* A, int64_t lda,
988 double* C, int64_t ldc );
994 int64_t n, int64_t k,
995 std::complex<float> alpha,
996 std::complex<float>
const* A, int64_t lda,
997 std::complex<float> beta,
998 std::complex<float>* C, int64_t ldc );
1001 blas::Layout layout,
1004 int64_t n, int64_t k,
1005 std::complex<double> alpha,
1006 std::complex<double>
const* A, int64_t lda,
1007 std::complex<double> beta,
1008 std::complex<double>* C, int64_t ldc );
1012 blas::Layout layout,
1020 float const* A, int64_t lda,
1021 float* B, int64_t ldb );
1024 blas::Layout layout,
1032 double const* A, int64_t lda,
1033 double* B, int64_t ldb );
1036 blas::Layout layout,
1043 std::complex<float> alpha,
1044 std::complex<float>
const* A, int64_t lda,
1045 std::complex<float>* B, int64_t ldb );
1048 blas::Layout layout,
1055 std::complex<double> alpha,
1056 std::complex<double>
const* A, int64_t lda,
1057 std::complex<double>* B, int64_t ldb );
1061 blas::Layout layout,
1069 float const* A, int64_t lda,
1070 float* B, int64_t ldb );
1073 blas::Layout layout,
1081 double const* A, int64_t lda,
1082 double* B, int64_t ldb );
1085 blas::Layout layout,
1092 std::complex<float> alpha,
1093 std::complex<float>
const* A, int64_t lda,
1094 std::complex<float>* B, int64_t ldb );
1097 blas::Layout layout,
1104 std::complex<double> alpha,
1105 std::complex<double>
const* A, int64_t lda,
1106 std::complex<double>* B, int64_t ldb );
1127 blas::Layout layout,
1128 std::vector<blas::Op>
const& transA,
1129 std::vector<blas::Op>
const& transB,
1130 std::vector<int64_t>
const& m,
1131 std::vector<int64_t>
const& n,
1132 std::vector<int64_t>
const& k,
1133 std::vector<float >
const& alpha,
1134 std::vector<float*>
const& Aarray, std::vector<int64_t>
const& lda,
1135 std::vector<float*>
const& Barray, std::vector<int64_t>
const& ldb,
1136 std::vector<float >
const& beta,
1137 std::vector<float*>
const& Carray, std::vector<int64_t>
const& ldc,
1139 std::vector<int64_t>& info );
1142 blas::Layout layout,
1143 std::vector<blas::Op>
const& transA,
1144 std::vector<blas::Op>
const& transB,
1145 std::vector<int64_t>
const& m,
1146 std::vector<int64_t>
const& n,
1147 std::vector<int64_t>
const& k,
1148 std::vector<double >
const& alpha,
1149 std::vector<double*>
const& Aarray, std::vector<int64_t>
const& lda,
1150 std::vector<double*>
const& Barray, std::vector<int64_t>
const& ldb,
1151 std::vector<double >
const& beta,
1152 std::vector<double*>
const& Carray, std::vector<int64_t>
const& ldc,
1154 std::vector<int64_t>& info );
1157 blas::Layout layout,
1158 std::vector<blas::Op>
const& transA,
1159 std::vector<blas::Op>
const& transB,
1160 std::vector<int64_t>
const& m,
1161 std::vector<int64_t>
const& n,
1162 std::vector<int64_t>
const& k,
1163 std::vector< std::complex<float> >
const& alpha,
1164 std::vector< std::complex<float>* >
const& Aarray, std::vector<int64_t>
const& lda,
1165 std::vector< std::complex<float>* >
const& Barray, std::vector<int64_t>
const& ldb,
1166 std::vector< std::complex<float> >
const& beta,
1167 std::vector< std::complex<float>* >
const& Carray, std::vector<int64_t>
const& ldc,
1169 std::vector<int64_t>& info );
1172 blas::Layout layout,
1173 std::vector<blas::Op>
const& transA,
1174 std::vector<blas::Op>
const& transB,
1175 std::vector<int64_t>
const& m,
1176 std::vector<int64_t>
const& n,
1177 std::vector<int64_t>
const& k,
1178 std::vector< std::complex<double> >
const& alpha,
1179 std::vector< std::complex<double>* >
const& Aarray, std::vector<int64_t>
const& lda,
1180 std::vector< std::complex<double>* >
const& Barray, std::vector<int64_t>
const& ldb,
1181 std::vector< std::complex<double> >
const& beta,
1182 std::vector< std::complex<double>* >
const& Carray, std::vector<int64_t>
const& ldc,
1184 std::vector<int64_t>& info );
1189 blas::Layout layout,
1190 std::vector<blas::Side>
const& side,
1191 std::vector<blas::Uplo>
const& uplo,
1192 std::vector<int64_t>
const& m,
1193 std::vector<int64_t>
const& n,
1194 std::vector<float >
const& alpha,
1195 std::vector<float*>
const& Aarray, std::vector<int64_t>
const& lda,
1196 std::vector<float*>
const& Barray, std::vector<int64_t>
const& ldb,
1197 std::vector<float >
const& beta,
1198 std::vector<float*>
const& Carray, std::vector<int64_t>
const& ldc,
1200 std::vector<int64_t>& info );
1203 blas::Layout layout,
1204 std::vector<blas::Side>
const& side,
1205 std::vector<blas::Uplo>
const& uplo,
1206 std::vector<int64_t>
const& m,
1207 std::vector<int64_t>
const& n,
1208 std::vector<double >
const& alpha,
1209 std::vector<double*>
const& Aarray, std::vector<int64_t>
const& lda,
1210 std::vector<double*>
const& Barray, std::vector<int64_t>
const& ldb,
1211 std::vector<double >
const& beta,
1212 std::vector<double*>
const& Carray, std::vector<int64_t>
const& ldc,
1214 std::vector<int64_t>& info );
1217 blas::Layout layout,
1218 std::vector<blas::Side>
const& side,
1219 std::vector<blas::Uplo>
const& uplo,
1220 std::vector<int64_t>
const& m,
1221 std::vector<int64_t>
const& n,
1222 std::vector< std::complex<float> >
const& alpha,
1223 std::vector< std::complex<float>* >
const& Aarray, std::vector<int64_t>
const& lda,
1224 std::vector< std::complex<float>* >
const& Barray, std::vector<int64_t>
const& ldb,
1225 std::vector< std::complex<float> >
const& beta,
1226 std::vector< std::complex<float>* >
const& Carray, std::vector<int64_t>
const& ldc,
1228 std::vector<int64_t>& info );
1231 blas::Layout layout,
1232 std::vector<blas::Side>
const& side,
1233 std::vector<blas::Uplo>
const& uplo,
1234 std::vector<int64_t>
const& m,
1235 std::vector<int64_t>
const& n,
1236 std::vector< std::complex<double> >
const& alpha,
1237 std::vector< std::complex<double>* >
const& Aarray, std::vector<int64_t>
const& lda,
1238 std::vector< std::complex<double>* >
const& Barray, std::vector<int64_t>
const& ldb,
1239 std::vector< std::complex<double> >
const& beta,
1240 std::vector< std::complex<double>* >
const& Carray, std::vector<int64_t>
const& ldc,
1242 std::vector<int64_t>& info );
1247 blas::Layout layout,
1248 std::vector<blas::Uplo>
const& uplo,
1249 std::vector<blas::Op>
const& trans,
1250 std::vector<int64_t>
const& n,
1251 std::vector<int64_t>
const& k,
1252 std::vector<float >
const& alpha,
1253 std::vector<float*>
const& Aarray, std::vector<int64_t>
const& lda,
1254 std::vector<float*>
const& Barray, std::vector<int64_t>
const& ldb,
1255 std::vector<float >
const& beta,
1256 std::vector<float*>
const& Carray, std::vector<int64_t>
const& ldc,
1258 std::vector<int64_t>& info );
1261 blas::Layout layout,
1262 std::vector<blas::Uplo>
const& uplo,
1263 std::vector<blas::Op>
const& trans,
1264 std::vector<int64_t>
const& n,
1265 std::vector<int64_t>
const& k,
1266 std::vector<double >
const& alpha,
1267 std::vector<double*>
const& Aarray, std::vector<int64_t>
const& lda,
1268 std::vector<double*>
const& Barray, std::vector<int64_t>
const& ldb,
1269 std::vector<double >
const& beta,
1270 std::vector<double*>
const& Carray, std::vector<int64_t>
const& ldc,
1272 std::vector<int64_t>& info );
1275 blas::Layout layout,
1276 std::vector<blas::Uplo>
const& uplo,
1277 std::vector<blas::Op>
const& trans,
1278 std::vector<int64_t>
const& n,
1279 std::vector<int64_t>
const& k,
1280 std::vector< std::complex<float> >
const& alpha,
1281 std::vector< std::complex<float>* >
const& Aarray, std::vector<int64_t>
const& lda,
1282 std::vector< std::complex<float>* >
const& Barray, std::vector<int64_t>
const& ldb,
1283 std::vector< float >
const& beta,
1284 std::vector< std::complex<float>* >
const& Carray, std::vector<int64_t>
const& ldc,
1286 std::vector<int64_t>& info );
1289 blas::Layout layout,
1290 std::vector<blas::Uplo>
const& uplo,
1291 std::vector<blas::Op>
const& trans,
1292 std::vector<int64_t>
const& n,
1293 std::vector<int64_t>
const& k,
1294 std::vector< std::complex<double> >
const& alpha,
1295 std::vector< std::complex<double>* >
const& Aarray, std::vector<int64_t>
const& lda,
1296 std::vector< std::complex<double>* >
const& Barray, std::vector<int64_t>
const& ldb,
1297 std::vector< double >
const& beta,
1298 std::vector< std::complex<double>* >
const& Carray, std::vector<int64_t>
const& ldc,
1300 std::vector<int64_t>& info );
1305 blas::Layout layout,
1306 std::vector<blas::Uplo>
const& uplo,
1307 std::vector<blas::Op>
const& trans,
1308 std::vector<int64_t>
const& n,
1309 std::vector<int64_t>
const& k,
1310 std::vector<float >
const& alpha,
1311 std::vector<float*>
const& Aarray, std::vector<int64_t>
const& lda,
1312 std::vector<float >
const& beta,
1313 std::vector<float*>
const& Carray, std::vector<int64_t>
const& ldc,
1315 std::vector<int64_t>& info );
1318 blas::Layout layout,
1319 std::vector<blas::Uplo>
const& uplo,
1320 std::vector<blas::Op>
const& trans,
1321 std::vector<int64_t>
const& n,
1322 std::vector<int64_t>
const& k,
1323 std::vector<double >
const& alpha,
1324 std::vector<double*>
const& Aarray, std::vector<int64_t>
const& lda,
1325 std::vector<double >
const& beta,
1326 std::vector<double*>
const& Carray, std::vector<int64_t>
const& ldc,
1328 std::vector<int64_t>& info );
1331 blas::Layout layout,
1332 std::vector<blas::Uplo>
const& uplo,
1333 std::vector<blas::Op>
const& trans,
1334 std::vector<int64_t>
const& n,
1335 std::vector<int64_t>
const& k,
1336 std::vector< float >
const& alpha,
1337 std::vector< std::complex<float>* >
const& Aarray, std::vector<int64_t>
const& lda,
1338 std::vector< float >
const& beta,
1339 std::vector< std::complex<float>* >
const& Carray, std::vector<int64_t>
const& ldc,
1341 std::vector<int64_t>& info );
1344 blas::Layout layout,
1345 std::vector<blas::Uplo>
const& uplo,
1346 std::vector<blas::Op>
const& trans,
1347 std::vector<int64_t>
const& n,
1348 std::vector<int64_t>
const& k,
1349 std::vector< double >
const& alpha,
1350 std::vector< std::complex<double>* >
const& Aarray, std::vector<int64_t>
const& lda,
1351 std::vector< double >
const& beta,
1352 std::vector< std::complex<double>* >
const& Carray, std::vector<int64_t>
const& ldc,
1354 std::vector<int64_t>& info );
1359 blas::Layout layout,
1360 std::vector<blas::Side>
const& side,
1361 std::vector<blas::Uplo>
const& uplo,
1362 std::vector<int64_t>
const& m,
1363 std::vector<int64_t>
const& n,
1364 std::vector<float >
const& alpha,
1365 std::vector<float*>
const& Aarray, std::vector<int64_t>
const& lda,
1366 std::vector<float*>
const& Barray, std::vector<int64_t>
const& ldb,
1367 std::vector<float >
const& beta,
1368 std::vector<float*>
const& Carray, std::vector<int64_t>
const& ldc,
1370 std::vector<int64_t>& info );
1373 blas::Layout layout,
1374 std::vector<blas::Side>
const& side,
1375 std::vector<blas::Uplo>
const& uplo,
1376 std::vector<int64_t>
const& m,
1377 std::vector<int64_t>
const& n,
1378 std::vector<double >
const& alpha,
1379 std::vector<double*>
const& Aarray, std::vector<int64_t>
const& lda,
1380 std::vector<double*>
const& Barray, std::vector<int64_t>
const& ldb,
1381 std::vector<double >
const& beta,
1382 std::vector<double*>
const& Carray, std::vector<int64_t>
const& ldc,
1384 std::vector<int64_t>& info );
1387 blas::Layout layout,
1388 std::vector<blas::Side>
const& side,
1389 std::vector<blas::Uplo>
const& uplo,
1390 std::vector<int64_t>
const& m,
1391 std::vector<int64_t>
const& n,
1392 std::vector< std::complex<float> >
const& alpha,
1393 std::vector< std::complex<float>* >
const& Aarray, std::vector<int64_t>
const& lda,
1394 std::vector< std::complex<float>* >
const& Barray, std::vector<int64_t>
const& ldb,
1395 std::vector< std::complex<float> >
const& beta,
1396 std::vector< std::complex<float>* >
const& Carray, std::vector<int64_t>
const& ldc,
1398 std::vector<int64_t>& info );
1401 blas::Layout layout,
1402 std::vector<blas::Side>
const& side,
1403 std::vector<blas::Uplo>
const& uplo,
1404 std::vector<int64_t>
const& m,
1405 std::vector<int64_t>
const& n,
1406 std::vector< std::complex<double> >
const& alpha,
1407 std::vector< std::complex<double>* >
const& Aarray, std::vector<int64_t>
const& lda,
1408 std::vector< std::complex<double>* >
const& Barray, std::vector<int64_t>
const& ldb,
1409 std::vector< std::complex<double> >
const& beta,
1410 std::vector< std::complex<double>* >
const& Carray, std::vector<int64_t>
const& ldc,
1412 std::vector<int64_t>& info );
1417 blas::Layout layout,
1418 std::vector<blas::Uplo>
const& uplo,
1419 std::vector<blas::Op>
const& trans,
1420 std::vector<int64_t>
const& n,
1421 std::vector<int64_t>
const& k,
1422 std::vector<float >
const& alpha,
1423 std::vector<float*>
const& Aarray, std::vector<int64_t>
const& lda,
1424 std::vector<float*>
const& Barray, std::vector<int64_t>
const& ldb,
1425 std::vector<float >
const& beta,
1426 std::vector<float*>
const& Carray, std::vector<int64_t>
const& ldc,
1428 std::vector<int64_t>& info );
1431 blas::Layout layout,
1432 std::vector<blas::Uplo>
const& uplo,
1433 std::vector<blas::Op>
const& trans,
1434 std::vector<int64_t>
const& n,
1435 std::vector<int64_t>
const& k,
1436 std::vector<double >
const& alpha,
1437 std::vector<double*>
const& Aarray, std::vector<int64_t>
const& lda,
1438 std::vector<double*>
const& Barray, std::vector<int64_t>
const& ldb,
1439 std::vector<double >
const& beta,
1440 std::vector<double*>
const& Carray, std::vector<int64_t>
const& ldc,
1442 std::vector<int64_t>& info );
1445 blas::Layout layout,
1446 std::vector<blas::Uplo>
const& uplo,
1447 std::vector<blas::Op>
const& trans,
1448 std::vector<int64_t>
const& n,
1449 std::vector<int64_t>
const& k,
1450 std::vector< std::complex<float> >
const& alpha,
1451 std::vector< std::complex<float>* >
const& Aarray, std::vector<int64_t>
const& lda,
1452 std::vector< std::complex<float>* >
const& Barray, std::vector<int64_t>
const& ldb,
1453 std::vector< std::complex<float> >
const& beta,
1454 std::vector< std::complex<float>* >
const& Carray, std::vector<int64_t>
const& ldc,
1456 std::vector<int64_t>& info );
1459 blas::Layout layout,
1460 std::vector<blas::Uplo>
const& uplo,
1461 std::vector<blas::Op>
const& trans,
1462 std::vector<int64_t>
const& n,
1463 std::vector<int64_t>
const& k,
1464 std::vector< std::complex<double> >
const& alpha,
1465 std::vector< std::complex<double>* >
const& Aarray, std::vector<int64_t>
const& lda,
1466 std::vector< std::complex<double>* >
const& Barray, std::vector<int64_t>
const& ldb,
1467 std::vector< std::complex<double> >
const& beta,
1468 std::vector< std::complex<double>* >
const& Carray, std::vector<int64_t>
const& ldc,
1470 std::vector<int64_t>& info );
1475 blas::Layout layout,
1476 std::vector<blas::Uplo>
const& uplo,
1477 std::vector<blas::Op>
const& trans,
1478 std::vector<int64_t>
const& n,
1479 std::vector<int64_t>
const& k,
1480 std::vector<float >
const& alpha,
1481 std::vector<float*>
const& Aarray, std::vector<int64_t>
const& lda,
1482 std::vector<float >
const& beta,
1483 std::vector<float*>
const& Carray, std::vector<int64_t>
const& ldc,
1485 std::vector<int64_t>& info );
1488 blas::Layout layout,
1489 std::vector<blas::Uplo>
const& uplo,
1490 std::vector<blas::Op>
const& trans,
1491 std::vector<int64_t>
const& n,
1492 std::vector<int64_t>
const& k,
1493 std::vector<double >
const& alpha,
1494 std::vector<double*>
const& Aarray, std::vector<int64_t>
const& lda,
1495 std::vector<double >
const& beta,
1496 std::vector<double*>
const& Carray, std::vector<int64_t>
const& ldc,
1498 std::vector<int64_t>& info );
1501 blas::Layout layout,
1502 std::vector<blas::Uplo>
const& uplo,
1503 std::vector<blas::Op>
const& trans,
1504 std::vector<int64_t>
const& n,
1505 std::vector<int64_t>
const& k,
1506 std::vector< std::complex<float> >
const& alpha,
1507 std::vector< std::complex<float>* >
const& Aarray, std::vector<int64_t>
const& lda,
1508 std::vector< std::complex<float> >
const& beta,
1509 std::vector< std::complex<float>* >
const& Carray, std::vector<int64_t>
const& ldc,
1511 std::vector<int64_t>& info );
1514 blas::Layout layout,
1515 std::vector<blas::Uplo>
const& uplo,
1516 std::vector<blas::Op>
const& trans,
1517 std::vector<int64_t>
const& n,
1518 std::vector<int64_t>
const& k,
1519 std::vector< std::complex<double> >
const& alpha,
1520 std::vector< std::complex<double>* >
const& Aarray, std::vector<int64_t>
const& lda,
1521 std::vector< std::complex<double> >
const& beta,
1522 std::vector< std::complex<double>* >
const& Carray, std::vector<int64_t>
const& ldc,
1524 std::vector<int64_t>& info );
1529 blas::Layout layout,
1530 std::vector<blas::Side>
const& side,
1531 std::vector<blas::Uplo>
const& uplo,
1532 std::vector<blas::Op>
const& trans,
1533 std::vector<blas::Diag>
const& diag,
1534 std::vector<int64_t>
const& m,
1535 std::vector<int64_t>
const& n,
1536 std::vector<float >
const& alpha,
1537 std::vector<float*>
const& Aarray, std::vector<int64_t>
const& lda,
1538 std::vector<float*>
const& Barray, std::vector<int64_t>
const& ldb,
1540 std::vector<int64_t>& info );
1543 blas::Layout layout,
1544 std::vector<blas::Side>
const& side,
1545 std::vector<blas::Uplo>
const& uplo,
1546 std::vector<blas::Op>
const& trans,
1547 std::vector<blas::Diag>
const& diag,
1548 std::vector<int64_t>
const& m,
1549 std::vector<int64_t>
const& n,
1550 std::vector<double >
const& alpha,
1551 std::vector<double*>
const& Aarray, std::vector<int64_t>
const& lda,
1552 std::vector<double*>
const& Barray, std::vector<int64_t>
const& ldb,
1554 std::vector<int64_t>& info );
1557 blas::Layout layout,
1558 std::vector<blas::Side>
const& side,
1559 std::vector<blas::Uplo>
const& uplo,
1560 std::vector<blas::Op>
const& trans,
1561 std::vector<blas::Diag>
const& diag,
1562 std::vector<int64_t>
const& m,
1563 std::vector<int64_t>
const& n,
1564 std::vector< std::complex<float> >
const& alpha,
1565 std::vector< std::complex<float>* >
const& Aarray, std::vector<int64_t>
const& lda,
1566 std::vector< std::complex<float>* >
const& Barray, std::vector<int64_t>
const& ldb,
1568 std::vector<int64_t>& info );
1571 blas::Layout layout,
1572 std::vector<blas::Side>
const& side,
1573 std::vector<blas::Uplo>
const& uplo,
1574 std::vector<blas::Op>
const& trans,
1575 std::vector<blas::Diag>
const& diag,
1576 std::vector<int64_t>
const& m,
1577 std::vector<int64_t>
const& n,
1578 std::vector< std::complex<double> >
const& alpha,
1579 std::vector< std::complex<double>* >
const& Aarray, std::vector<int64_t>
const& lda,
1580 std::vector< std::complex<double>* >
const& Barray, std::vector<int64_t>
const& ldb,
1582 std::vector<int64_t>& info );
1587 blas::Layout layout,
1588 std::vector<blas::Side>
const& side,
1589 std::vector<blas::Uplo>
const& uplo,
1590 std::vector<blas::Op>
const& trans,
1591 std::vector<blas::Diag>
const& diag,
1592 std::vector<int64_t>
const& m,
1593 std::vector<int64_t>
const& n,
1594 std::vector<float >
const& alpha,
1595 std::vector<float*>
const& Aarray, std::vector<int64_t>
const& lda,
1596 std::vector<float*>
const& Barray, std::vector<int64_t>
const& ldb,
1598 std::vector<int64_t>& info );
1601 blas::Layout layout,
1602 std::vector<blas::Side>
const& side,
1603 std::vector<blas::Uplo>
const& uplo,
1604 std::vector<blas::Op>
const& trans,
1605 std::vector<blas::Diag>
const& diag,
1606 std::vector<int64_t>
const& m,
1607 std::vector<int64_t>
const& n,
1608 std::vector<double >
const& alpha,
1609 std::vector<double*>
const& Aarray, std::vector<int64_t>
const& lda,
1610 std::vector<double*>
const& Barray, std::vector<int64_t>
const& ldb,
1612 std::vector<int64_t>& info );
1615 blas::Layout layout,
1616 std::vector<blas::Side>
const& side,
1617 std::vector<blas::Uplo>
const& uplo,
1618 std::vector<blas::Op>
const& trans,
1619 std::vector<blas::Diag>
const& diag,
1620 std::vector<int64_t>
const& m,
1621 std::vector<int64_t>
const& n,
1622 std::vector< std::complex<float> >
const& alpha,
1623 std::vector< std::complex<float>* >
const& Aarray, std::vector<int64_t>
const& lda,
1624 std::vector< std::complex<float>* >
const& Barray, std::vector<int64_t>
const& ldb,
1626 std::vector<int64_t>& info );
1629 blas::Layout layout,
1630 std::vector<blas::Side>
const& side,
1631 std::vector<blas::Uplo>
const& uplo,
1632 std::vector<blas::Op>
const& trans,
1633 std::vector<blas::Diag>
const& diag,
1634 std::vector<int64_t>
const& m,
1635 std::vector<int64_t>
const& n,
1636 std::vector< std::complex<double> >
const& alpha,
1637 std::vector< std::complex<double>* >
const& Aarray, std::vector<int64_t>
const& lda,
1638 std::vector< std::complex<double>* >
const& Barray, std::vector<int64_t>
const& ldb,
1640 std::vector<int64_t>& info );
real_type< T > asum(int64_t n, T const *x, int64_t incx)
Definition asum.hh:35
void axpy(int64_t n, blas::scalar_type< TX, TY > alpha, TX const *x, int64_t incx, TY *y, int64_t incy)
Add scaled vector, .
Definition axpy.hh:43
void copy(int64_t n, TX const *x, int64_t incx, TY *y, int64_t incy)
Copy vector, .
Definition copy.hh:40
void dot(int64_t n, float const *x, int64_t incx, float const *y, int64_t incy, float *result, blas::Queue &queue)
GPU device, float version.
Definition device_dot.cc:139
void dotu(int64_t n, float const *x, int64_t incx, float const *y, int64_t incy, float *result, blas::Queue &queue)
GPU device, float, unconjugated x^T y version.
Definition device_dot.cc:194
void gemm(blas::Layout layout, std::vector< blas::Op > const &transA, std::vector< blas::Op > const &transB, std::vector< int64_t > const &m, std::vector< int64_t > const &n, std::vector< int64_t > const &k, std::vector< float > const &alpha, std::vector< float * > const &Aarray, std::vector< int64_t > const &lda, std::vector< float * > const &Barray, std::vector< int64_t > const &ldb, std::vector< float > const &beta, std::vector< float * > const &Carray, std::vector< int64_t > const &ldc, size_t batch_size, std::vector< int64_t > &info, blas::Queue &queue)
GPU device, variable-size batched, float version.
Definition device_batch_gemm.cc:163
void gemm(blas::Layout layout, blas::Op transA, blas::Op transB, int64_t m, int64_t n, int64_t k, float alpha, float const *A, int64_t lda, float const *B, int64_t ldb, float beta, float *C, int64_t ldc, blas::Queue &queue)
GPU device, float version.
Definition device_gemm.cc:119
void gemv(blas::Layout layout, blas::Op trans, int64_t m, int64_t n, blas::scalar_type< TA, TX, TY > alpha, TA const *A, int64_t lda, TX const *x, int64_t incx, blas::scalar_type< TA, TX, TY > beta, TY *y, int64_t incy)
General matrix-vector multiply:
Definition gemv.hh:79
void ger(blas::Layout layout, int64_t m, int64_t n, blas::scalar_type< TA, TX, TY > alpha, TX const *x, int64_t incx, TY const *y, int64_t incy, TA *A, int64_t lda)
General matrix rank-1 update:
Definition ger.hh:60
void geru(blas::Layout layout, int64_t m, int64_t n, blas::scalar_type< TA, TX, TY > alpha, TX const *x, int64_t incx, TY const *y, int64_t incy, TA *A, int64_t lda)
General matrix rank-1 update:
Definition geru.hh:61
void hemm(blas::Layout layout, blas::Side side, blas::Uplo uplo, int64_t m, int64_t n, float alpha, float const *A, int64_t lda, float const *B, int64_t ldb, float beta, float *C, int64_t ldc, blas::Queue &queue)
GPU device, float version.
Definition device_hemm.cc:107
void hemm(blas::Layout layout, std::vector< blas::Side > const &side, std::vector< blas::Uplo > const &uplo, std::vector< int64_t > const &m, std::vector< int64_t > const &n, std::vector< float > const &alpha, std::vector< float * > const &Aarray, std::vector< int64_t > const &lda, std::vector< float * > const &Barray, std::vector< int64_t > const &ldb, std::vector< float > const &beta, std::vector< float * > const &Carray, std::vector< int64_t > const &ldc, size_t batch_size, std::vector< int64_t > &info, blas::Queue &queue)
GPU device, variable-size batched, float version.
Definition device_batch_hemm.cc:102
void hemv(blas::Layout layout, blas::Uplo uplo, int64_t n, blas::scalar_type< TA, TX, TY > alpha, TA const *A, int64_t lda, TX const *x, int64_t incx, blas::scalar_type< TA, TX, TY > beta, TY *y, int64_t incy)
Hermitian matrix-vector multiply:
Definition hemv.hh:69
void her2(blas::Layout layout, blas::Uplo uplo, int64_t n, blas::scalar_type< TA, TX, TY > alpha, TX const *x, int64_t incx, TY const *y, int64_t incy, TA *A, int64_t lda)
Hermitian matrix rank-2 update:
Definition her2.hh:66
void her2k(blas::Layout layout, std::vector< blas::Uplo > const &uplo, std::vector< blas::Op > const &trans, std::vector< int64_t > const &n, std::vector< int64_t > const &k, std::vector< float > const &alpha, std::vector< float * > const &Aarray, std::vector< int64_t > const &lda, std::vector< float * > const &Barray, std::vector< int64_t > const &ldb, std::vector< float > const &beta, std::vector< float * > const &Carray, std::vector< int64_t > const &ldc, size_t batch_size, std::vector< int64_t > &info, blas::Queue &queue)
GPU device, variable-size batched, float version.
Definition device_batch_her2k.cc:89
void her2k(blas::Layout layout, blas::Uplo uplo, blas::Op trans, int64_t n, int64_t k, float alpha, float const *A, int64_t lda, float const *B, int64_t ldb, float beta, float *C, int64_t ldc, blas::Queue &queue)
GPU device, float version.
Definition device_her2k.cc:100
void her(blas::Layout layout, blas::Uplo uplo, int64_t n, blas::real_type< TA, TX > alpha, TX const *x, int64_t incx, TA *A, int64_t lda)
Hermitian matrix rank-1 update:
Definition her.hh:59
void herk(blas::Layout layout, std::vector< blas::Uplo > const &uplo, std::vector< blas::Op > const &trans, std::vector< int64_t > const &n, std::vector< int64_t > const &k, std::vector< float > const &alpha, std::vector< float * > const &Aarray, std::vector< int64_t > const &lda, std::vector< float > const &beta, std::vector< float * > const &Carray, std::vector< int64_t > const &ldc, size_t batch_size, std::vector< int64_t > &info, blas::Queue &queue)
GPU device, variable-size batched, float version.
Definition device_batch_herk.cc:87
void herk(blas::Layout layout, blas::Uplo uplo, blas::Op trans, int64_t n, int64_t k, float alpha, float const *A, int64_t lda, float beta, float *C, int64_t ldc, blas::Queue &queue)
GPU device, float version.
Definition device_herk.cc:92
int64_t iamax(int64_t n, T const *x, int64_t incx)
Definition iamax.hh:34
void nrm2(int64_t n, float const *x, int64_t incx, float *result, blas::Queue &queue)
GPU device, float version.
Definition device_nrm2.cc:84
void rot(int64_t n, TX *x, int64_t incx, TY *y, int64_t incy, blas::real_type< TX, TY > c, blas::scalar_type< TX, TY > s)
Apply plane rotation:
Definition rot.hh:53
void rotg(TA *a, TB *b, blas::real_type< TA, TB > *c, blas::real_type< TA, TB > *s)
Construct plane rotation that eliminates b, such that:
Definition rotg.hh:47
void rotm(int64_t n, TX *x, int64_t incx, TY *y, int64_t incy, blas::scalar_type< TX, TY > const param[5])
Apply modified (fast) plane rotation, H:
Definition rotm.hh:50
void rotmg(T *d1, T *d2, T *a, T b, T param[5])
Construct modified (fast) plane rotation, H, that eliminates b, such that.
Definition rotmg.hh:99
void scal(int64_t n, float alpha, float *x, int64_t incx, blas::Queue &queue)
GPU device, float version.
Definition device_scal.cc:65
void swap(int64_t n, float *x, int64_t incx, float *y, int64_t incy, blas::Queue &queue)
GPU device, float version.
Definition device_swap.cc:67
void symm(blas::Layout layout, blas::Side side, blas::Uplo uplo, int64_t m, int64_t n, float alpha, float const *A, int64_t lda, float const *B, int64_t ldb, float beta, float *C, int64_t ldc, blas::Queue &queue)
GPU device, float version.
Definition device_symm.cc:106
void symm(blas::Layout layout, std::vector< blas::Side > const &side, std::vector< blas::Uplo > const &uplo, std::vector< int64_t > const &m, std::vector< int64_t > const &n, std::vector< float > const &alpha, std::vector< float * > const &Aarray, std::vector< int64_t > const &lda, std::vector< float * > const &Barray, std::vector< int64_t > const &ldb, std::vector< float > const &beta, std::vector< float * > const &Carray, std::vector< int64_t > const &ldc, size_t batch_size, std::vector< int64_t > &info, blas::Queue &queue)
GPU device, variable-size batched, float version.
Definition device_batch_symm.cc:87
void symv(blas::Layout layout, blas::Uplo uplo, int64_t n, blas::scalar_type< TA, TX, TY > alpha, TA const *A, int64_t lda, TX const *x, int64_t incx, blas::scalar_type< TA, TX, TY > beta, TY *y, int64_t incy)
Symmetric matrix-vector multiply:
Definition symv.hh:66
void syr2(blas::Layout layout, blas::Uplo uplo, int64_t n, blas::scalar_type< TA, TX, TY > alpha, TX const *x, int64_t incx, TY const *y, int64_t incy, TA *A, int64_t lda)
Symmetric matrix rank-2 update:
Definition syr2.hh:63
void syr2k(blas::Layout layout, blas::Uplo uplo, blas::Op trans, int64_t n, int64_t k, float alpha, float const *A, int64_t lda, float const *B, int64_t ldb, float beta, float *C, int64_t ldc, blas::Queue &queue)
GPU device, float version.
Definition device_syr2k.cc:107
void syr2k(blas::Layout layout, std::vector< blas::Uplo > const &uplo, std::vector< blas::Op > const &trans, std::vector< int64_t > const &n, std::vector< int64_t > const &k, std::vector< float > const &alpha, std::vector< float * > const &Aarray, std::vector< int64_t > const &lda, std::vector< float * > const &Barray, std::vector< int64_t > const &ldb, std::vector< float > const &beta, std::vector< float * > const &Carray, std::vector< int64_t > const &ldc, size_t batch_size, std::vector< int64_t > &info, blas::Queue &queue)
GPU device, variable-size batched, float version.
Definition device_batch_syr2k.cc:87
void syr(blas::Layout layout, blas::Uplo uplo, int64_t n, blas::scalar_type< TA, TX > alpha, TX const *x, int64_t incx, TA *A, int64_t lda)
Symmetric matrix rank-1 update:
Definition syr.hh:56
void syrk(blas::Layout layout, std::vector< blas::Uplo > const &uplo, std::vector< blas::Op > const &trans, std::vector< int64_t > const &n, std::vector< int64_t > const &k, std::vector< float > const &alpha, std::vector< float * > const &Aarray, std::vector< int64_t > const &lda, std::vector< float > const &beta, std::vector< float * > const &Carray, std::vector< int64_t > const &ldc, size_t batch_size, std::vector< int64_t > &info, blas::Queue &queue)
GPU device, variable-size batched, float version.
Definition device_batch_syrk.cc:84
void syrk(blas::Layout layout, blas::Uplo uplo, blas::Op trans, int64_t n, int64_t k, float alpha, float const *A, int64_t lda, float beta, float *C, int64_t ldc, blas::Queue &queue)
GPU device, float version.
Definition device_syrk.cc:101
void trmm(blas::Layout layout, blas::Side side, blas::Uplo uplo, blas::Op trans, blas::Diag diag, int64_t m, int64_t n, float alpha, float const *A, int64_t lda, float *B, int64_t ldb, blas::Queue &queue)
GPU device, float version.
Definition device_trmm.cc:104
void trmm(blas::Layout layout, std::vector< blas::Side > const &side, std::vector< blas::Uplo > const &uplo, std::vector< blas::Op > const &trans, std::vector< blas::Diag > const &diag, std::vector< int64_t > const &m, std::vector< int64_t > const &n, std::vector< float > const &alpha, std::vector< float * > const &Aarray, std::vector< int64_t > const &lda, std::vector< float * > const &Barray, std::vector< int64_t > const &ldb, size_t batch_size, std::vector< int64_t > &info, blas::Queue &queue)
GPU device, variable-size batched, float version.
Definition device_batch_trmm.cc:95
void trmv(blas::Layout layout, blas::Uplo uplo, blas::Op trans, blas::Diag diag, int64_t n, TA const *A, int64_t lda, TX *x, int64_t incx)
Triangular matrix-vector multiply:
Definition trmv.hh:69
void trsm(blas::Layout layout, std::vector< blas::Side > const &side, std::vector< blas::Uplo > const &uplo, std::vector< blas::Op > const &trans, std::vector< blas::Diag > const &diag, std::vector< int64_t > const &m, std::vector< int64_t > const &n, std::vector< float > const &alpha, std::vector< float * > const &Aarray, std::vector< int64_t > const &lda, std::vector< float * > const &Barray, std::vector< int64_t > const &ldb, size_t batch_size, std::vector< int64_t > &info, blas::Queue &queue)
GPU device, variable-size batched, float version.
Definition device_batch_trsm.cc:145
void trsm(blas::Layout layout, blas::Side side, blas::Uplo uplo, blas::Op trans, blas::Diag diag, int64_t m, int64_t n, float alpha, float const *A, int64_t lda, float *B, int64_t ldb, blas::Queue &queue)
GPU device, float version.
Definition device_trsm.cc:104
void trsv(blas::Layout layout, blas::Uplo uplo, blas::Op trans, blas::Diag diag, int64_t n, TA const *A, int64_t lda, TX *x, int64_t incx)
Solve the triangular matrix-vector equation.
Definition trsv.hh:73