You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the implementation of half-precision SGEMV() and SGEMM() does not support CblasColMajor for the order parameter (CBLAS_ORDER).
/** CBLAS_ORDER order parameter is not used. */
static void sgemv_FP16(CBLAS_ORDER order, CBLAS_TRANSPOSE TransA,
const unsigned int M, const unsigned int N,
const float alpha, const _FP16 *A,
const unsigned int lda, const _FP16 *X, const int incX,
const float beta, _FP16 *Y, const int incY) {
unsigned int incy = abs(incY);
unsigned int incx = abs(incX);
if (TransA == CblasTrans) {
#if (defined USE__FP16 && USE_NEON)
nntrainer::neon::sgemv_transpose_neon_fp16(A, X, Y, M, N, alpha, beta);
#else
sgemv_loop_fp16(i, j, N, M);
#endif
} else {
#if (defined USE__FP16 && USE_NEON)
nntrainer::neon::sgemv_neon_fp16(A, X, Y, M, N, alpha, beta);
#else
sgemv_loop_fp16(j, i, M, N);
#endif
}
}
This limitation results in issues when trying to use these functions with column-major data layouts.
Such support for CblasColMajor in the half-precision implementations of SGEMV() and SGEMM() is needed.
The text was updated successfully, but these errors were encountered:
Currently, the implementation of half-precision SGEMV() and SGEMM() does not support CblasColMajor for the order parameter (CBLAS_ORDER).
This limitation results in issues when trying to use these functions with column-major data layouts.
Such support for CblasColMajor in the half-precision implementations of SGEMV() and SGEMM() is needed.
The text was updated successfully, but these errors were encountered: