From c5d5adbddd9a7e1816e7666a2f287f8266ca2c19 Mon Sep 17 00:00:00 2001 From: CNugteren Date: Fri, 31 Jul 2015 15:52:13 +0200 Subject: Refactored the correctness tests --- test/routines/level2/xgemv.h | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'test/routines/level2') diff --git a/test/routines/level2/xgemv.h b/test/routines/level2/xgemv.h index 056dec30..927bfaee 100644 --- a/test/routines/level2/xgemv.h +++ b/test/routines/level2/xgemv.h @@ -29,6 +29,9 @@ template class TestXgemv { public: + // The BLAS level: 1, 2, or 3 + static size_t BLASLevel() { return 2; } + // The list of arguments relevant for this routine static std::vector GetOptions() { return {kArgM, kArgN, @@ -39,11 +42,6 @@ class TestXgemv { } // Describes how to obtain the sizes of the buffers - static size_t GetSizeA(const Arguments &args) { - auto a_rotated = (args.layout == Layout::kRowMajor); - auto a_two = (a_rotated) ? args.m : args.n; - return a_two * args.a_ld + args.a_offset; - } static size_t GetSizeX(const Arguments &args) { auto a_transposed = (args.a_transpose != Transpose::kNo); auto n_real = (a_transposed) ? args.m : args.n; @@ -54,6 +52,11 @@ class TestXgemv { auto m_real = (a_transposed) ? args.n : args.m; return m_real * args.y_inc + args.y_offset; } + static size_t GetSizeA(const Arguments &args) { + auto a_rotated = (args.layout == Layout::kRowMajor); + auto a_two = (a_rotated) ? args.m : args.n; + return a_two * args.a_ld + args.a_offset; + } // Describes how to set the sizes of all the buffers static void SetSizes(Arguments &args) { @@ -67,6 +70,11 @@ class TestXgemv { static size_t DefaultLDB(const Arguments &) { return 1; } // N/A for this routine static size_t DefaultLDC(const Arguments &) { return 1; } // N/A for this routine + // Describes which transpose options are relevant for this routine + using Transposes = std::vector; + static Transposes GetATransposes(const Transposes &all) { return all; } + static Transposes GetBTransposes(const Transposes &) { return {}; } // N/A for this routine + // Describes how to run the CLBlast routine static StatusCode RunRoutine(const Arguments &args, const Buffers &buffers, Queue &queue) { auto queue_plain = queue(); -- cgit v1.2.3