diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/routine.cc | 114 | ||||
-rw-r--r-- | src/routines/level1/xamax.cc | 4 | ||||
-rw-r--r-- | src/routines/level1/xasum.cc | 4 | ||||
-rw-r--r-- | src/routines/level1/xaxpy.cc | 4 | ||||
-rw-r--r-- | src/routines/level1/xcopy.cc | 4 | ||||
-rw-r--r-- | src/routines/level1/xdot.cc | 6 | ||||
-rw-r--r-- | src/routines/level1/xnrm2.cc | 4 | ||||
-rw-r--r-- | src/routines/level1/xscal.cc | 2 | ||||
-rw-r--r-- | src/routines/level1/xswap.cc | 4 | ||||
-rw-r--r-- | src/routines/level2/xgemv.cc | 8 | ||||
-rw-r--r-- | src/routines/level2/xger.cc | 6 | ||||
-rw-r--r-- | src/routines/level2/xher.cc | 6 | ||||
-rw-r--r-- | src/routines/level2/xher2.cc | 8 | ||||
-rw-r--r-- | src/routines/level3/xgemm.cc | 6 | ||||
-rw-r--r-- | src/routines/level3/xhemm.cc | 2 | ||||
-rw-r--r-- | src/routines/level3/xher2k.cc | 6 | ||||
-rw-r--r-- | src/routines/level3/xherk.cc | 4 | ||||
-rw-r--r-- | src/routines/level3/xsymm.cc | 2 | ||||
-rw-r--r-- | src/routines/level3/xsyr2k.cc | 6 | ||||
-rw-r--r-- | src/routines/level3/xsyrk.cc | 4 | ||||
-rw-r--r-- | src/routines/level3/xtrmm.cc | 2 | ||||
-rw-r--r-- | src/routines/levelx/xomatcopy.cc | 4 |
22 files changed, 48 insertions, 162 deletions
diff --git a/src/routine.cc b/src/routine.cc index 1cf8bff8..ee3ba341 100644 --- a/src/routine.cc +++ b/src/routine.cc @@ -179,120 +179,6 @@ StatusCode Routine<T>::RunKernel(Kernel &kernel, std::vector<size_t> global, // ================================================================================================= -// Tests matrix A for validity: checks for a valid OpenCL buffer, a valid lead-dimension, and for a -// sufficient buffer size. -template <typename T> -StatusCode Routine<T>::TestMatrixA(const size_t one, const size_t two, const Buffer<T> &buffer, - const size_t offset, const size_t ld, const size_t data_size) { - if (ld < one) { return StatusCode::kInvalidLeadDimA; } - try { - const auto required_size = (ld*(two-1) + one + offset)*data_size; - const auto buffer_size = buffer.GetSize(); - if (buffer_size < required_size) { return StatusCode::kInsufficientMemoryA; } - } catch (...) { return StatusCode::kInvalidMatrixA; } - return StatusCode::kSuccess; -} - -// Tests matrix B for validity: checks for a valid OpenCL buffer, a valid lead-dimension, and for a -// sufficient buffer size. -template <typename T> -StatusCode Routine<T>::TestMatrixB(const size_t one, const size_t two, const Buffer<T> &buffer, - const size_t offset, const size_t ld, const size_t data_size) { - if (ld < one) { return StatusCode::kInvalidLeadDimB; } - try { - const auto required_size = (ld*(two-1) + one + offset)*data_size; - const auto buffer_size = buffer.GetSize(); - if (buffer_size < required_size) { return StatusCode::kInsufficientMemoryB; } - } catch (...) { return StatusCode::kInvalidMatrixB; } - return StatusCode::kSuccess; -} - -// Tests matrix C for validity: checks for a valid OpenCL buffer, a valid lead-dimension, and for a -// sufficient buffer size. -template <typename T> -StatusCode Routine<T>::TestMatrixC(const size_t one, const size_t two, const Buffer<T> &buffer, - const size_t offset, const size_t ld, const size_t data_size) { - if (ld < one) { return StatusCode::kInvalidLeadDimC; } - try { - const auto required_size = (ld*(two-1) + one + offset)*data_size; - const auto buffer_size = buffer.GetSize(); - if (buffer_size < required_size) { return StatusCode::kInsufficientMemoryC; } - } catch (...) { return StatusCode::kInvalidMatrixC; } - return StatusCode::kSuccess; -} - -// Tests matrix AP for validity: checks for a valid OpenCL buffer and for a sufficient buffer size -template <typename T> -StatusCode Routine<T>::TestMatrixAP(const size_t n, const Buffer<T> &buffer, - const size_t offset, const size_t data_size) { - try { - const auto required_size = (((n*(n+1))/2) + offset)*data_size; - const auto buffer_size = buffer.GetSize(); - if (buffer_size < required_size) { return StatusCode::kInsufficientMemoryA; } - } catch (...) { return StatusCode::kInvalidMatrixA; } - return StatusCode::kSuccess; -} - -// ================================================================================================= - -// Tests vector X for validity: checks for a valid increment, a valid OpenCL buffer, and for a -// sufficient buffer size. -template <typename T> -StatusCode Routine<T>::TestVectorX(const size_t n, const Buffer<T> &buffer, const size_t offset, - const size_t inc, const size_t data_size) { - if (inc == 0) { return StatusCode::kInvalidIncrementX; } - try { - const auto required_size = ((n-1)*inc + 1 + offset)*data_size; - const auto buffer_size = buffer.GetSize(); - if (buffer_size < required_size) { return StatusCode::kInsufficientMemoryX; } - } catch (...) { return StatusCode::kInvalidVectorX; } - return StatusCode::kSuccess; -} - -// Tests vector Y for validity: checks for a valid increment, a valid OpenCL buffer, and for a -// sufficient buffer size. -template <typename T> -StatusCode Routine<T>::TestVectorY(const size_t n, const Buffer<T> &buffer, const size_t offset, - const size_t inc, const size_t data_size) { - if (inc == 0) { return StatusCode::kInvalidIncrementY; } - try { - const auto required_size = ((n-1)*inc + 1 + offset)*data_size; - const auto buffer_size = buffer.GetSize(); - if (buffer_size < required_size) { return StatusCode::kInsufficientMemoryY; } - } catch (...) { return StatusCode::kInvalidVectorY; } - return StatusCode::kSuccess; -} - -// ================================================================================================= - -// Tests vector dot for validity: checks for a valid increment, a valid OpenCL buffer, and for a -// sufficient buffer size. -template <typename T> -StatusCode Routine<T>::TestVectorDot(const size_t n, const Buffer<T> &buffer, const size_t offset, - const size_t data_size) { - try { - const auto required_size = (n + offset)*data_size; - const auto buffer_size = buffer.GetSize(); - if (buffer_size < required_size) { return StatusCode::kInsufficientMemoryDot; } - } catch (...) { return StatusCode::kInvalidVectorDot; } - return StatusCode::kSuccess; -} - -// Tests vector index for validity: checks for a valid increment, a valid OpenCL buffer, and for a -// sufficient buffer size. -template <typename T> -StatusCode Routine<T>::TestVectorIndex(const size_t n, const Buffer<unsigned int> &buffer, - const size_t offset, const size_t data_size) { - try { - const auto required_size = (n + offset)*data_size; - const auto buffer_size = buffer.GetSize(); - if (buffer_size < required_size) { return StatusCode::kInsufficientMemoryDot; } - } catch (...) { return StatusCode::kInvalidVectorDot; } - return StatusCode::kSuccess; -} - -// ================================================================================================= - // Copies or transposes a matrix and optionally pads/unpads it with zeros template <typename T> StatusCode Routine<T>::PadCopyTransposeMatrix(EventPointer event, std::vector<Event>& waitForEvents, diff --git a/src/routines/level1/xamax.cc b/src/routines/level1/xamax.cc index 335e59bc..9a7d2173 100644 --- a/src/routines/level1/xamax.cc +++ b/src/routines/level1/xamax.cc @@ -49,9 +49,9 @@ StatusCode Xamax<T>::DoAmax(const size_t n, if (n == 0) { return StatusCode::kInvalidDimension; } // Tests the vectors for validity - auto status = TestVectorX(n, x_buffer, x_offset, x_inc, sizeof(T)); + auto status = TestVectorX(n, x_buffer, x_offset, x_inc); if (ErrorIn(status)) { return status; } - status = TestVectorIndex(1, imax_buffer, imax_offset, sizeof(unsigned int)); + status = TestVectorIndex(1, imax_buffer, imax_offset); if (ErrorIn(status)) { return status; } // Retrieves the Xamax kernels from the compiled binary diff --git a/src/routines/level1/xasum.cc b/src/routines/level1/xasum.cc index e04f7064..3dcaa80a 100644 --- a/src/routines/level1/xasum.cc +++ b/src/routines/level1/xasum.cc @@ -49,9 +49,9 @@ StatusCode Xasum<T>::DoAsum(const size_t n, if (n == 0) { return StatusCode::kInvalidDimension; } // Tests the vectors for validity - auto status = TestVectorX(n, x_buffer, x_offset, x_inc, sizeof(T)); + auto status = TestVectorX(n, x_buffer, x_offset, x_inc); if (ErrorIn(status)) { return status; } - status = TestVectorDot(1, asum_buffer, asum_offset, sizeof(T)); + status = TestVectorScalar(1, asum_buffer, asum_offset); if (ErrorIn(status)) { return status; } // Retrieves the Xasum kernels from the compiled binary diff --git a/src/routines/level1/xaxpy.cc b/src/routines/level1/xaxpy.cc index 66aa2336..b57001f9 100644 --- a/src/routines/level1/xaxpy.cc +++ b/src/routines/level1/xaxpy.cc @@ -50,9 +50,9 @@ StatusCode Xaxpy<T>::DoAxpy(const size_t n, const T alpha, if (n == 0) { return StatusCode::kInvalidDimension; } // Tests the vectors for validity - auto status = TestVectorX(n, x_buffer, x_offset, x_inc, sizeof(T)); + auto status = TestVectorX(n, x_buffer, x_offset, x_inc); if (ErrorIn(status)) { return status; } - status = TestVectorY(n, y_buffer, y_offset, y_inc, sizeof(T)); + status = TestVectorY(n, y_buffer, y_offset, y_inc); if (ErrorIn(status)) { return status; } // Determines whether or not the fast-version can be used diff --git a/src/routines/level1/xcopy.cc b/src/routines/level1/xcopy.cc index ff8f5999..273e87a6 100644 --- a/src/routines/level1/xcopy.cc +++ b/src/routines/level1/xcopy.cc @@ -50,9 +50,9 @@ StatusCode Xcopy<T>::DoCopy(const size_t n, if (n == 0) { return StatusCode::kInvalidDimension; } // Tests the vectors for validity - auto status = TestVectorX(n, x_buffer, x_offset, x_inc, sizeof(T)); + auto status = TestVectorX(n, x_buffer, x_offset, x_inc); if (ErrorIn(status)) { return status; } - status = TestVectorY(n, y_buffer, y_offset, y_inc, sizeof(T)); + status = TestVectorY(n, y_buffer, y_offset, y_inc); if (ErrorIn(status)) { return status; } // Determines whether or not the fast-version can be used diff --git a/src/routines/level1/xdot.cc b/src/routines/level1/xdot.cc index db6a369e..25eccadf 100644 --- a/src/routines/level1/xdot.cc +++ b/src/routines/level1/xdot.cc @@ -51,11 +51,11 @@ StatusCode Xdot<T>::DoDot(const size_t n, if (n == 0) { return StatusCode::kInvalidDimension; } // Tests the vectors for validity - auto status = TestVectorX(n, x_buffer, x_offset, x_inc, sizeof(T)); + auto status = TestVectorX(n, x_buffer, x_offset, x_inc); if (ErrorIn(status)) { return status; } - status = TestVectorY(n, y_buffer, y_offset, y_inc, sizeof(T)); + status = TestVectorY(n, y_buffer, y_offset, y_inc); if (ErrorIn(status)) { return status; } - status = TestVectorDot(1, dot_buffer, dot_offset, sizeof(T)); + status = TestVectorScalar(1, dot_buffer, dot_offset); if (ErrorIn(status)) { return status; } // Retrieves the Xdot kernels from the compiled binary diff --git a/src/routines/level1/xnrm2.cc b/src/routines/level1/xnrm2.cc index 14f7f6aa..eca283f8 100644 --- a/src/routines/level1/xnrm2.cc +++ b/src/routines/level1/xnrm2.cc @@ -49,9 +49,9 @@ StatusCode Xnrm2<T>::DoNrm2(const size_t n, if (n == 0) { return StatusCode::kInvalidDimension; } // Tests the vectors for validity - auto status = TestVectorX(n, x_buffer, x_offset, x_inc, sizeof(T)); + auto status = TestVectorX(n, x_buffer, x_offset, x_inc); if (ErrorIn(status)) { return status; } - status = TestVectorDot(1, nrm2_buffer, nrm2_offset, sizeof(T)); + status = TestVectorScalar(1, nrm2_buffer, nrm2_offset); if (ErrorIn(status)) { return status; } // Retrieves the Xnrm2 kernels from the compiled binary diff --git a/src/routines/level1/xscal.cc b/src/routines/level1/xscal.cc index 1207acfa..0ce211b6 100644 --- a/src/routines/level1/xscal.cc +++ b/src/routines/level1/xscal.cc @@ -49,7 +49,7 @@ StatusCode Xscal<T>::DoScal(const size_t n, const T alpha, if (n == 0) { return StatusCode::kInvalidDimension; } // Tests the vector for validity - auto status = TestVectorX(n, x_buffer, x_offset, x_inc, sizeof(T)); + auto status = TestVectorX(n, x_buffer, x_offset, x_inc); if (ErrorIn(status)) { return status; } // Determines whether or not the fast-version can be used diff --git a/src/routines/level1/xswap.cc b/src/routines/level1/xswap.cc index 8844abff..773d78b5 100644 --- a/src/routines/level1/xswap.cc +++ b/src/routines/level1/xswap.cc @@ -50,9 +50,9 @@ StatusCode Xswap<T>::DoSwap(const size_t n, if (n == 0) { return StatusCode::kInvalidDimension; } // Tests the vectors for validity - auto status = TestVectorX(n, x_buffer, x_offset, x_inc, sizeof(T)); + auto status = TestVectorX(n, x_buffer, x_offset, x_inc); if (ErrorIn(status)) { return status; } - status = TestVectorY(n, y_buffer, y_offset, y_inc, sizeof(T)); + status = TestVectorY(n, y_buffer, y_offset, y_inc); if (ErrorIn(status)) { return status; } // Determines whether or not the fast-version can be used diff --git a/src/routines/level2/xgemv.cc b/src/routines/level2/xgemv.cc index 71839e96..18e61f28 100644 --- a/src/routines/level2/xgemv.cc +++ b/src/routines/level2/xgemv.cc @@ -101,12 +101,12 @@ StatusCode Xgemv<T>::MatVec(const Layout layout, const Transpose a_transpose, // Tests the matrix and the vectors for validity auto status = StatusCode::kSuccess; - if (packed) { status = TestMatrixAP(n, a_buffer, a_offset, sizeof(T)); } - else { status = TestMatrixA(a_one, a_two, a_buffer, a_offset, a_ld, sizeof(T)); } + if (packed) { status = TestMatrixAP(n, a_buffer, a_offset); } + else { status = TestMatrixA(a_one, a_two, a_buffer, a_offset, a_ld); } if (ErrorIn(status)) { return status; } - status = TestVectorX(n_real, x_buffer, x_offset, x_inc, sizeof(T)); + status = TestVectorX(n_real, x_buffer, x_offset, x_inc); if (ErrorIn(status)) { return status; } - status = TestVectorY(m_real, y_buffer, y_offset, y_inc, sizeof(T)); + status = TestVectorY(m_real, y_buffer, y_offset, y_inc); if (ErrorIn(status)) { return status; } // Determines whether or not the fast-version can be used diff --git a/src/routines/level2/xger.cc b/src/routines/level2/xger.cc index d1f98990..7d6fb091 100644 --- a/src/routines/level2/xger.cc +++ b/src/routines/level2/xger.cc @@ -58,11 +58,11 @@ StatusCode Xger<T>::DoGer(const Layout layout, const auto a_two = (a_is_rowmajor) ? m : n; // Tests the matrix and the vectors for validity - auto status = TestMatrixA(a_one, a_two, a_buffer, a_offset, a_ld, sizeof(T)); + auto status = TestMatrixA(a_one, a_two, a_buffer, a_offset, a_ld); if (ErrorIn(status)) { return status; } - status = TestVectorX(m, x_buffer, x_offset, x_inc, sizeof(T)); + status = TestVectorX(m, x_buffer, x_offset, x_inc); if (ErrorIn(status)) { return status; } - status = TestVectorY(n, y_buffer, y_offset, y_inc, sizeof(T)); + status = TestVectorY(n, y_buffer, y_offset, y_inc); if (ErrorIn(status)) { return status; } // Upload the scalar argument as a constant buffer to the device (needed for half-precision) diff --git a/src/routines/level2/xher.cc b/src/routines/level2/xher.cc index 73e7a47d..3d5c0baf 100644 --- a/src/routines/level2/xher.cc +++ b/src/routines/level2/xher.cc @@ -67,10 +67,10 @@ StatusCode Xher<T,U>::DoHer(const Layout layout, const Triangle triangle, // Tests the matrix and the vectors for validity auto status = StatusCode::kSuccess; - if (packed) { status = TestMatrixAP(n, a_buffer, a_offset, sizeof(T)); } - else { status = TestMatrixA(n, n, a_buffer, a_offset, a_ld, sizeof(T)); } + if (packed) { status = TestMatrixAP(n, a_buffer, a_offset); } + else { status = TestMatrixA(n, n, a_buffer, a_offset, a_ld); } if (ErrorIn(status)) { return status; } - status = TestVectorX(n, x_buffer, x_offset, x_inc, sizeof(T)); + status = TestVectorX(n, x_buffer, x_offset, x_inc); if (ErrorIn(status)) { return status; } // If alpha is zero an update is not required diff --git a/src/routines/level2/xher2.cc b/src/routines/level2/xher2.cc index a73dde52..a7362410 100644 --- a/src/routines/level2/xher2.cc +++ b/src/routines/level2/xher2.cc @@ -59,12 +59,12 @@ StatusCode Xher2<T>::DoHer2(const Layout layout, const Triangle triangle, // Tests the matrix and the vectors for validity auto status = StatusCode::kSuccess; - if (packed) { status = TestMatrixAP(n, a_buffer, a_offset, sizeof(T)); } - else { status = TestMatrixA(n, n, a_buffer, a_offset, a_ld, sizeof(T)); } + if (packed) { status = TestMatrixAP(n, a_buffer, a_offset); } + else { status = TestMatrixA(n, n, a_buffer, a_offset, a_ld); } if (ErrorIn(status)) { return status; } - status = TestVectorX(n, x_buffer, x_offset, x_inc, sizeof(T)); + status = TestVectorX(n, x_buffer, x_offset, x_inc); if (ErrorIn(status)) { return status; } - status = TestVectorY(n, y_buffer, y_offset, y_inc, sizeof(T)); + status = TestVectorY(n, y_buffer, y_offset, y_inc); if (ErrorIn(status)) { return status; } // Upload the scalar argument as a constant buffer to the device (needed for half-precision) diff --git a/src/routines/level3/xgemm.cc b/src/routines/level3/xgemm.cc index 42d5f19e..713bed8f 100644 --- a/src/routines/level3/xgemm.cc +++ b/src/routines/level3/xgemm.cc @@ -96,11 +96,11 @@ StatusCode Xgemm<T>::DoGemm(const Layout layout, // matrix A cannot be less than K when rotated, or less than M when not-rotated // matrix B cannot be less than N when rotated, or less than K when not-rotated // matrix C cannot be less than N when rotated, or less than M when not-rotated - auto status = TestMatrixA(a_one, a_two, a_buffer, a_offset, a_ld, sizeof(T)); + auto status = TestMatrixA(a_one, a_two, a_buffer, a_offset, a_ld); if (ErrorIn(status)) { return status; } - status = TestMatrixB(b_one, b_two, b_buffer, b_offset, b_ld, sizeof(T)); + status = TestMatrixB(b_one, b_two, b_buffer, b_offset, b_ld); if (ErrorIn(status)) { return status; } - status = TestMatrixC(c_one, c_two, c_buffer, c_offset, c_ld, sizeof(T)); + status = TestMatrixC(c_one, c_two, c_buffer, c_offset, c_ld); if (ErrorIn(status)) { return status; } // Calculates the ceiled versions of m, n, and k diff --git a/src/routines/level3/xhemm.cc b/src/routines/level3/xhemm.cc index d2fbf36e..a6e853e9 100644 --- a/src/routines/level3/xhemm.cc +++ b/src/routines/level3/xhemm.cc @@ -45,7 +45,7 @@ StatusCode Xhemm<T>::DoHemm(const Layout layout, const Side side, const Triangle auto k = (side == Side::kLeft) ? m : n; // Checks for validity of the squared A matrix - auto status = TestMatrixA(k, k, a_buffer, a_offset, a_ld, sizeof(T)); + auto status = TestMatrixA(k, k, a_buffer, a_offset, a_ld); if (ErrorIn(status)) { return status; } // Determines which kernel to run based on the layout (the Xgemm kernel assumes column-major as diff --git a/src/routines/level3/xher2k.cc b/src/routines/level3/xher2k.cc index 5ec1f8cd..c891c202 100644 --- a/src/routines/level3/xher2k.cc +++ b/src/routines/level3/xher2k.cc @@ -76,11 +76,11 @@ StatusCode Xher2k<T,U>::DoHer2k(const Layout layout, const Triangle triangle, co // matrix A cannot be less than N when rotated, or less than K when not-rotated // matrix B cannot be less than N when rotated, or less than K when not-rotated // matrix C cannot be less than N - auto status = TestMatrixA(ab_one, ab_two, a_buffer, a_offset, a_ld, sizeof(T)); + auto status = TestMatrixA(ab_one, ab_two, a_buffer, a_offset, a_ld); if (ErrorIn(status)) { return status; } - status = TestMatrixB(ab_one, ab_two, b_buffer, b_offset, b_ld, sizeof(T)); + status = TestMatrixB(ab_one, ab_two, b_buffer, b_offset, b_ld); if (ErrorIn(status)) { return status; } - status = TestMatrixC(n, n, c_buffer, c_offset, c_ld, sizeof(T)); + status = TestMatrixC(n, n, c_buffer, c_offset, c_ld); if (ErrorIn(status)) { return status; } // Calculates the ceiled versions of n and k diff --git a/src/routines/level3/xherk.cc b/src/routines/level3/xherk.cc index df97a94f..9d64af95 100644 --- a/src/routines/level3/xherk.cc +++ b/src/routines/level3/xherk.cc @@ -75,9 +75,9 @@ StatusCode Xherk<T,U>::DoHerk(const Layout layout, const Triangle triangle, cons // space. Also tests that the leading dimensions of: // matrix A cannot be less than N when rotated, or less than K when not-rotated // matrix C cannot be less than N - auto status = TestMatrixA(a_one, a_two, a_buffer, a_offset, a_ld, sizeof(T)); + auto status = TestMatrixA(a_one, a_two, a_buffer, a_offset, a_ld); if (ErrorIn(status)) { return status; } - status = TestMatrixC(n, n, c_buffer, c_offset, c_ld, sizeof(T)); + status = TestMatrixC(n, n, c_buffer, c_offset, c_ld); if (ErrorIn(status)) { return status; } // Calculates the ceiled versions of n and k diff --git a/src/routines/level3/xsymm.cc b/src/routines/level3/xsymm.cc index d88d4653..379e2908 100644 --- a/src/routines/level3/xsymm.cc +++ b/src/routines/level3/xsymm.cc @@ -45,7 +45,7 @@ StatusCode Xsymm<T>::DoSymm(const Layout layout, const Side side, const Triangle auto k = (side == Side::kLeft) ? m : n; // Checks for validity of the squared A matrix - auto status = TestMatrixA(k, k, a_buffer, a_offset, a_ld, sizeof(T)); + auto status = TestMatrixA(k, k, a_buffer, a_offset, a_ld); if (ErrorIn(status)) { return status; } // Determines which kernel to run based on the layout (the Xgemm kernel assumes column-major as diff --git a/src/routines/level3/xsyr2k.cc b/src/routines/level3/xsyr2k.cc index dd7d19fe..886d1e16 100644 --- a/src/routines/level3/xsyr2k.cc +++ b/src/routines/level3/xsyr2k.cc @@ -75,11 +75,11 @@ StatusCode Xsyr2k<T>::DoSyr2k(const Layout layout, const Triangle triangle, cons // matrix A cannot be less than N when rotated, or less than K when not-rotated // matrix B cannot be less than N when rotated, or less than K when not-rotated // matrix C cannot be less than N - auto status = TestMatrixA(ab_one, ab_two, a_buffer, a_offset, a_ld, sizeof(T)); + auto status = TestMatrixA(ab_one, ab_two, a_buffer, a_offset, a_ld); if (ErrorIn(status)) { return status; } - status = TestMatrixB(ab_one, ab_two, b_buffer, b_offset, b_ld, sizeof(T)); + status = TestMatrixB(ab_one, ab_two, b_buffer, b_offset, b_ld); if (ErrorIn(status)) { return status; } - status = TestMatrixC(n, n, c_buffer, c_offset, c_ld, sizeof(T)); + status = TestMatrixC(n, n, c_buffer, c_offset, c_ld); if (ErrorIn(status)) { return status; } // Calculates the ceiled versions of n and k diff --git a/src/routines/level3/xsyrk.cc b/src/routines/level3/xsyrk.cc index b5817b82..000347f3 100644 --- a/src/routines/level3/xsyrk.cc +++ b/src/routines/level3/xsyrk.cc @@ -73,9 +73,9 @@ StatusCode Xsyrk<T>::DoSyrk(const Layout layout, const Triangle triangle, const // space. Also tests that the leading dimensions of: // matrix A cannot be less than N when rotated, or less than K when not-rotated // matrix C cannot be less than N - auto status = TestMatrixA(a_one, a_two, a_buffer, a_offset, a_ld, sizeof(T)); + auto status = TestMatrixA(a_one, a_two, a_buffer, a_offset, a_ld); if (ErrorIn(status)) { return status; } - status = TestMatrixC(n, n, c_buffer, c_offset, c_ld, sizeof(T)); + status = TestMatrixC(n, n, c_buffer, c_offset, c_ld); if (ErrorIn(status)) { return status; } // Calculates the ceiled versions of n and k diff --git a/src/routines/level3/xtrmm.cc b/src/routines/level3/xtrmm.cc index 27ecb4ed..c62305aa 100644 --- a/src/routines/level3/xtrmm.cc +++ b/src/routines/level3/xtrmm.cc @@ -44,7 +44,7 @@ StatusCode Xtrmm<T>::DoTrmm(const Layout layout, const Side side, const Triangle auto k = (side == Side::kLeft) ? m : n; // Checks for validity of the triangular A matrix - auto status = TestMatrixA(k, k, a_buffer, a_offset, a_ld, sizeof(T)); + auto status = TestMatrixA(k, k, a_buffer, a_offset, a_ld); if (ErrorIn(status)) { return status; } // Determines which kernel to run based on the layout (the Xgemm kernel assumes column-major as diff --git a/src/routines/levelx/xomatcopy.cc b/src/routines/levelx/xomatcopy.cc index 77fc445f..dcc4e52a 100644 --- a/src/routines/levelx/xomatcopy.cc +++ b/src/routines/levelx/xomatcopy.cc @@ -72,9 +72,9 @@ StatusCode Xomatcopy<T>::DoOmatcopy(const Layout layout, const Transpose a_trans // Also tests that the leading dimensions of: // matrix A cannot be less than N when rotated, or less than M when not-rotated // matrix B cannot be less than M when rotated, or less than N when not-rotated - auto status = TestMatrixA(a_one, a_two, a_buffer, a_offset, a_ld, sizeof(T)); + auto status = TestMatrixA(a_one, a_two, a_buffer, a_offset, a_ld); if (ErrorIn(status)) { return status; } - status = TestMatrixB(b_one, b_two, b_buffer, b_offset, b_ld, sizeof(T)); + status = TestMatrixB(b_one, b_two, b_buffer, b_offset, b_ld); if (ErrorIn(status)) { return status; } // Loads the program from the database |