summaryrefslogtreecommitdiff
path: root/test/wrapper_cblas.h
diff options
context:
space:
mode:
Diffstat (limited to 'test/wrapper_cblas.h')
-rw-r--r--test/wrapper_cblas.h192
1 files changed, 192 insertions, 0 deletions
diff --git a/test/wrapper_cblas.h b/test/wrapper_cblas.h
index 3182fdfc..2fcab4d0 100644
--- a/test/wrapper_cblas.h
+++ b/test/wrapper_cblas.h
@@ -161,6 +161,11 @@ void cblasXswap(const size_t n,
reinterpret_cast<double*>(&x_buffer[x_offset]), static_cast<int>(x_inc),
reinterpret_cast<double*>(&y_buffer[y_offset]), static_cast<int>(y_inc));
}
+void cblasXswap(const size_t n,
+ std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc,
+ std::vector<half>& y_buffer, const size_t y_offset, const size_t y_inc) {
+ return;
+}
// Forwards the Netlib BLAS calls for SSCAL/DSCAL/CSCAL/ZSCAL
void cblasXscal(const size_t n,
@@ -193,6 +198,11 @@ void cblasXscal(const size_t n,
alpha_array.data(),
reinterpret_cast<double*>(&x_buffer[x_offset]), static_cast<int>(x_inc));
}
+void cblasXscal(const size_t n,
+ const half alpha,
+ std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc) {
+ return;
+}
// Forwards the Netlib BLAS calls for SCOPY/DCOPY/CCOPY/ZCOPY
void cblasXcopy(const size_t n,
@@ -223,6 +233,11 @@ void cblasXcopy(const size_t n,
reinterpret_cast<const double*>(&x_buffer[x_offset]), static_cast<int>(x_inc),
reinterpret_cast<double*>(&y_buffer[y_offset]), static_cast<int>(y_inc));
}
+void cblasXcopy(const size_t n,
+ const std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc,
+ std::vector<half>& y_buffer, const size_t y_offset, const size_t y_inc) {
+ return;
+}
// Forwards the Netlib BLAS calls for SAXPY/DAXPY/CAXPY/ZAXPY
void cblasXaxpy(const size_t n,
@@ -263,6 +278,12 @@ void cblasXaxpy(const size_t n,
reinterpret_cast<const double*>(&x_buffer[x_offset]), static_cast<int>(x_inc),
reinterpret_cast<double*>(&y_buffer[y_offset]), static_cast<int>(y_inc));
}
+void cblasXaxpy(const size_t n,
+ const half alpha,
+ const std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc,
+ std::vector<half>& y_buffer, const size_t y_offset, const size_t y_inc) {
+ return;
+}
// Forwards the Netlib BLAS calls for SDOT/DDOT
void cblasXdot(const size_t n,
@@ -281,6 +302,12 @@ void cblasXdot(const size_t n,
&x_buffer[x_offset], static_cast<int>(x_inc),
&y_buffer[y_offset], static_cast<int>(y_inc));
}
+void cblasXdot(const size_t n,
+ std::vector<half>& dot_buffer, const size_t dot_offset,
+ const std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc,
+ const std::vector<half>& y_buffer, const size_t y_offset, const size_t y_inc) {
+ return;
+}
// Forwards the Netlib BLAS calls for CDOTU/ZDOTU
void cblasXdotu(const size_t n,
@@ -347,6 +374,11 @@ void cblasXnrm2(const size_t n,
nrm2_buffer[nrm2_offset].real(cblas_dznrm2(n,
reinterpret_cast<const double*>(&x_buffer[x_offset]), static_cast<int>(x_inc)));
}
+void cblasXnrm2(const size_t n,
+ std::vector<half>& nrm2_buffer, const size_t nrm2_offset,
+ const std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc) {
+ return;
+}
// Forwards the Netlib BLAS calls for SASUM/DASUM/ScASUM/DzASUM
void cblasXasum(const size_t n,
@@ -373,6 +405,11 @@ void cblasXasum(const size_t n,
asum_buffer[asum_offset].real(cblas_dzasum(n,
reinterpret_cast<const double*>(&x_buffer[x_offset]), static_cast<int>(x_inc)));
}
+void cblasXasum(const size_t n,
+ std::vector<half>& asum_buffer, const size_t asum_offset,
+ const std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc) {
+ return;
+}
// Forwards the Netlib BLAS calls for iSAMAX/iDAMAX/iCAMAX/iZAMAX/iHAMAX
void cblasXamax(const size_t n,
@@ -399,6 +436,11 @@ void cblasXamax(const size_t n,
((int*)&imax_buffer[0])[imax_offset] = cblas_izamax(n,
reinterpret_cast<const double*>(&x_buffer[x_offset]), static_cast<int>(x_inc));
}
+void cblasXamax(const size_t n,
+ std::vector<half>& imax_buffer, const size_t imax_offset,
+ const std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc) {
+ return;
+}
// =================================================================================================
// BLAS level-2 (matrix-vector) routines
@@ -469,6 +511,15 @@ void cblasXgemv(const CBLAS_ORDER layout, const CBLAS_TRANSPOSE a_transpose,
beta_array.data(),
reinterpret_cast<double*>(&y_buffer[y_offset]), static_cast<int>(y_inc));
}
+void cblasXgemv(const CBLAS_ORDER layout, const CBLAS_TRANSPOSE a_transpose,
+ const size_t m, const size_t n,
+ const half alpha,
+ const std::vector<half>& a_buffer, const size_t a_offset, const size_t a_ld,
+ const std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc,
+ const half beta,
+ std::vector<half>& y_buffer, const size_t y_offset, const size_t y_inc) {
+ return;
+}
// Forwards the Netlib BLAS calls for SGBMV/DGBMV/CGBMV/ZGBMV
void cblasXgbmv(const CBLAS_ORDER layout, const CBLAS_TRANSPOSE a_transpose,
@@ -535,6 +586,15 @@ void cblasXgbmv(const CBLAS_ORDER layout, const CBLAS_TRANSPOSE a_transpose,
beta_array.data(),
reinterpret_cast<double*>(&y_buffer[y_offset]), static_cast<int>(y_inc));
}
+void cblasXgbmv(const CBLAS_ORDER layout, const CBLAS_TRANSPOSE a_transpose,
+ const size_t m, const size_t n, const size_t kl, const size_t ku,
+ const half alpha,
+ const std::vector<half>& a_buffer, const size_t a_offset, const size_t a_ld,
+ const std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc,
+ const half beta,
+ std::vector<half>& y_buffer, const size_t y_offset, const size_t y_inc) {
+ return;
+}
// Forwards the Netlib BLAS calls for CHEMV/ZHEMV
void cblasXhemv(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
@@ -675,6 +735,15 @@ void cblasXsymv(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
beta,
&y_buffer[y_offset], static_cast<int>(y_inc));
}
+void cblasXsymv(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
+ const size_t n,
+ const half alpha,
+ const std::vector<half>& a_buffer, const size_t a_offset, const size_t a_ld,
+ const std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc,
+ const half beta,
+ std::vector<half>& y_buffer, const size_t y_offset, const size_t y_inc) {
+ return;
+}
// Forwards the Netlib BLAS calls for SSBMV/DSBMV
void cblasXsbmv(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
@@ -707,6 +776,15 @@ void cblasXsbmv(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
beta,
&y_buffer[y_offset], static_cast<int>(y_inc));
}
+void cblasXsbmv(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
+ const size_t n, const size_t k,
+ const half alpha,
+ const std::vector<half>& a_buffer, const size_t a_offset, const size_t a_ld,
+ const std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc,
+ const half beta,
+ std::vector<half>& y_buffer, const size_t y_offset, const size_t y_inc) {
+ return;
+}
// Forwards the Netlib BLAS calls for SSPMV/DSPMV
void cblasXspmv(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
@@ -739,6 +817,15 @@ void cblasXspmv(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
beta,
&y_buffer[y_offset], static_cast<int>(y_inc));
}
+void cblasXspmv(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
+ const size_t n,
+ const half alpha,
+ const std::vector<half>& ap_buffer, const size_t ap_offset,
+ const std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc,
+ const half beta,
+ std::vector<half>& y_buffer, const size_t y_offset, const size_t y_inc) {
+ return;
+}
// Forwards the Netlib BLAS calls for STRMV/DTRMV/CTRMV/ZTRMV
void cblasXtrmv(const CBLAS_ORDER layout, const CBLAS_UPLO triangle, const CBLAS_TRANSPOSE a_transpose, const CBLAS_DIAG diagonal,
@@ -777,6 +864,12 @@ void cblasXtrmv(const CBLAS_ORDER layout, const CBLAS_UPLO triangle, const CBLAS
reinterpret_cast<const double*>(&a_buffer[a_offset]), a_ld,
reinterpret_cast<double*>(&x_buffer[x_offset]), static_cast<int>(x_inc));
}
+void cblasXtrmv(const CBLAS_ORDER layout, const CBLAS_UPLO triangle, const CBLAS_TRANSPOSE a_transpose, const CBLAS_DIAG diagonal,
+ const size_t n,
+ const std::vector<half>& a_buffer, const size_t a_offset, const size_t a_ld,
+ std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc) {
+ return;
+}
// Forwards the Netlib BLAS calls for STBMV/DTBMV/CTBMV/ZTBMV
void cblasXtbmv(const CBLAS_ORDER layout, const CBLAS_UPLO triangle, const CBLAS_TRANSPOSE a_transpose, const CBLAS_DIAG diagonal,
@@ -815,6 +908,12 @@ void cblasXtbmv(const CBLAS_ORDER layout, const CBLAS_UPLO triangle, const CBLAS
reinterpret_cast<const double*>(&a_buffer[a_offset]), a_ld,
reinterpret_cast<double*>(&x_buffer[x_offset]), static_cast<int>(x_inc));
}
+void cblasXtbmv(const CBLAS_ORDER layout, const CBLAS_UPLO triangle, const CBLAS_TRANSPOSE a_transpose, const CBLAS_DIAG diagonal,
+ const size_t n, const size_t k,
+ const std::vector<half>& a_buffer, const size_t a_offset, const size_t a_ld,
+ std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc) {
+ return;
+}
// Forwards the Netlib BLAS calls for STPMV/DTPMV/CTPMV/ZTPMV
void cblasXtpmv(const CBLAS_ORDER layout, const CBLAS_UPLO triangle, const CBLAS_TRANSPOSE a_transpose, const CBLAS_DIAG diagonal,
@@ -853,6 +952,12 @@ void cblasXtpmv(const CBLAS_ORDER layout, const CBLAS_UPLO triangle, const CBLAS
reinterpret_cast<const double*>(&ap_buffer[ap_offset]),
reinterpret_cast<double*>(&x_buffer[x_offset]), static_cast<int>(x_inc));
}
+void cblasXtpmv(const CBLAS_ORDER layout, const CBLAS_UPLO triangle, const CBLAS_TRANSPOSE a_transpose, const CBLAS_DIAG diagonal,
+ const size_t n,
+ const std::vector<half>& ap_buffer, const size_t ap_offset,
+ std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc) {
+ return;
+}
// Forwards the Netlib BLAS calls for STRSV/DTRSV/CTRSV/ZTRSV
void cblasXtrsv(const CBLAS_ORDER layout, const CBLAS_UPLO triangle, const CBLAS_TRANSPOSE a_transpose, const CBLAS_DIAG diagonal,
@@ -995,6 +1100,14 @@ void cblasXger(const CBLAS_ORDER layout,
&y_buffer[y_offset], static_cast<int>(y_inc),
&a_buffer[a_offset], a_ld);
}
+void cblasXger(const CBLAS_ORDER layout,
+ const size_t m, const size_t n,
+ const half alpha,
+ const std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc,
+ const std::vector<half>& y_buffer, const size_t y_offset, const size_t y_inc,
+ std::vector<half>& a_buffer, const size_t a_offset, const size_t a_ld) {
+ return;
+}
// Forwards the Netlib BLAS calls for CGERU/ZGERU
void cblasXgeru(const CBLAS_ORDER layout,
@@ -1187,6 +1300,13 @@ void cblasXsyr(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
&x_buffer[x_offset], static_cast<int>(x_inc),
&a_buffer[a_offset], a_ld);
}
+void cblasXsyr(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
+ const size_t n,
+ const half alpha,
+ const std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc,
+ std::vector<half>& a_buffer, const size_t a_offset, const size_t a_ld) {
+ return;
+}
// Forwards the Netlib BLAS calls for SSPR/DSPR
void cblasXspr(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
@@ -1211,6 +1331,13 @@ void cblasXspr(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
&x_buffer[x_offset], static_cast<int>(x_inc),
&ap_buffer[ap_offset]);
}
+void cblasXspr(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
+ const size_t n,
+ const half alpha,
+ const std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc,
+ std::vector<half>& ap_buffer, const size_t ap_offset) {
+ return;
+}
// Forwards the Netlib BLAS calls for SSYR2/DSYR2
void cblasXsyr2(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
@@ -1239,6 +1366,14 @@ void cblasXsyr2(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
&y_buffer[y_offset], static_cast<int>(y_inc),
&a_buffer[a_offset], a_ld);
}
+void cblasXsyr2(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
+ const size_t n,
+ const half alpha,
+ const std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc,
+ const std::vector<half>& y_buffer, const size_t y_offset, const size_t y_inc,
+ std::vector<half>& a_buffer, const size_t a_offset, const size_t a_ld) {
+ return;
+}
// Forwards the Netlib BLAS calls for SSPR2/DSPR2
void cblasXspr2(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
@@ -1267,6 +1402,14 @@ void cblasXspr2(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
&y_buffer[y_offset], static_cast<int>(y_inc),
&ap_buffer[ap_offset]);
}
+void cblasXspr2(const CBLAS_ORDER layout, const CBLAS_UPLO triangle,
+ const size_t n,
+ const half alpha,
+ const std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc,
+ const std::vector<half>& y_buffer, const size_t y_offset, const size_t y_inc,
+ std::vector<half>& ap_buffer, const size_t ap_offset) {
+ return;
+}
// =================================================================================================
// BLAS level-3 (matrix-matrix) routines
@@ -1337,6 +1480,15 @@ void cblasXgemm(const CBLAS_ORDER layout, const CBLAS_TRANSPOSE a_transpose, con
beta_array.data(),
reinterpret_cast<double*>(&c_buffer[c_offset]), c_ld);
}
+void cblasXgemm(const CBLAS_ORDER layout, const CBLAS_TRANSPOSE a_transpose, const CBLAS_TRANSPOSE b_transpose,
+ const size_t m, const size_t n, const size_t k,
+ const half alpha,
+ const std::vector<half>& a_buffer, const size_t a_offset, const size_t a_ld,
+ const std::vector<half>& b_buffer, const size_t b_offset, const size_t b_ld,
+ const half beta,
+ std::vector<half>& c_buffer, const size_t c_offset, const size_t c_ld) {
+ return;
+}
// Forwards the Netlib BLAS calls for SSYMM/DSYMM/CSYMM/ZSYMM
void cblasXsymm(const CBLAS_ORDER layout, const CBLAS_SIDE side, const CBLAS_UPLO triangle,
@@ -1403,6 +1555,15 @@ void cblasXsymm(const CBLAS_ORDER layout, const CBLAS_SIDE side, const CBLAS_UPL
beta_array.data(),
reinterpret_cast<double*>(&c_buffer[c_offset]), c_ld);
}
+void cblasXsymm(const CBLAS_ORDER layout, const CBLAS_SIDE side, const CBLAS_UPLO triangle,
+ const size_t m, const size_t n,
+ const half alpha,
+ const std::vector<half>& a_buffer, const size_t a_offset, const size_t a_ld,
+ const std::vector<half>& b_buffer, const size_t b_offset, const size_t b_ld,
+ const half beta,
+ std::vector<half>& c_buffer, const size_t c_offset, const size_t c_ld) {
+ return;
+}
// Forwards the Netlib BLAS calls for CHEMM/ZHEMM
void cblasXhemm(const CBLAS_ORDER layout, const CBLAS_SIDE side, const CBLAS_UPLO triangle,
@@ -1497,6 +1658,14 @@ void cblasXsyrk(const CBLAS_ORDER layout, const CBLAS_UPLO triangle, const CBLAS
beta_array.data(),
reinterpret_cast<double*>(&c_buffer[c_offset]), c_ld);
}
+void cblasXsyrk(const CBLAS_ORDER layout, const CBLAS_UPLO triangle, const CBLAS_TRANSPOSE a_transpose,
+ const size_t n, const size_t k,
+ const half alpha,
+ const std::vector<half>& a_buffer, const size_t a_offset, const size_t a_ld,
+ const half beta,
+ std::vector<half>& c_buffer, const size_t c_offset, const size_t c_ld) {
+ return;
+}
// Forwards the Netlib BLAS calls for CHERK/ZHERK
void cblasXherk(const CBLAS_ORDER layout, const CBLAS_UPLO triangle, const CBLAS_TRANSPOSE a_transpose,
@@ -1591,6 +1760,15 @@ void cblasXsyr2k(const CBLAS_ORDER layout, const CBLAS_UPLO triangle, const CBLA
beta_array.data(),
reinterpret_cast<double*>(&c_buffer[c_offset]), c_ld);
}
+void cblasXsyr2k(const CBLAS_ORDER layout, const CBLAS_UPLO triangle, const CBLAS_TRANSPOSE ab_transpose,
+ const size_t n, const size_t k,
+ const half alpha,
+ const std::vector<half>& a_buffer, const size_t a_offset, const size_t a_ld,
+ const std::vector<half>& b_buffer, const size_t b_offset, const size_t b_ld,
+ const half beta,
+ std::vector<half>& c_buffer, const size_t c_offset, const size_t c_ld) {
+ return;
+}
// Forwards the Netlib BLAS calls for CHER2K/ZHER2K
void cblasXher2k(const CBLAS_ORDER layout, const CBLAS_UPLO triangle, const CBLAS_TRANSPOSE ab_transpose,
@@ -1673,6 +1851,13 @@ void cblasXtrmm(const CBLAS_ORDER layout, const CBLAS_SIDE side, const CBLAS_UPL
reinterpret_cast<const double*>(&a_buffer[a_offset]), a_ld,
reinterpret_cast<double*>(&b_buffer[b_offset]), b_ld);
}
+void cblasXtrmm(const CBLAS_ORDER layout, const CBLAS_SIDE side, const CBLAS_UPLO triangle, const CBLAS_TRANSPOSE a_transpose, const CBLAS_DIAG diagonal,
+ const size_t m, const size_t n,
+ const half alpha,
+ const std::vector<half>& a_buffer, const size_t a_offset, const size_t a_ld,
+ std::vector<half>& b_buffer, const size_t b_offset, const size_t b_ld) {
+ return;
+}
// Forwards the Netlib BLAS calls for STRSM/DTRSM/CTRSM/ZTRSM
void cblasXtrsm(const CBLAS_ORDER layout, const CBLAS_SIDE side, const CBLAS_UPLO triangle, const CBLAS_TRANSPOSE a_transpose, const CBLAS_DIAG diagonal,
@@ -1721,6 +1906,13 @@ void cblasXtrsm(const CBLAS_ORDER layout, const CBLAS_SIDE side, const CBLAS_UPL
reinterpret_cast<const double*>(&a_buffer[a_offset]), a_ld,
reinterpret_cast<double*>(&b_buffer[b_offset]), b_ld);
}
+void cblasXtrsm(const CBLAS_ORDER layout, const CBLAS_SIDE side, const CBLAS_UPLO triangle, const CBLAS_TRANSPOSE a_transpose, const CBLAS_DIAG diagonal,
+ const size_t m, const size_t n,
+ const half alpha,
+ const std::vector<half>& a_buffer, const size_t a_offset, const size_t a_ld,
+ std::vector<half>& b_buffer, const size_t b_offset, const size_t b_ld) {
+ return;
+}
// =================================================================================================
} // namespace clblast