diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2017-04-02 14:59:39 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-02 14:59:39 +0200 |
commit | 5079fbaeffe38cd26ea2fa878bdbb2de5b140bcf (patch) | |
tree | 0f2e85e1e1acef1d22f046499dd0b8a30e5da4f9 /test/routines/level2/xtrmv.hpp | |
parent | a98c00a2671b8981579f3a73dca8fb3365a95e53 (diff) | |
parent | b84d2296b87ac212474af855d916b12adf96bdb7 (diff) |
Merge pull request #143 from CNugteren/test_cblas_timing
CBLAS reference code is now separated from device-host copies
Diffstat (limited to 'test/routines/level2/xtrmv.hpp')
-rw-r--r-- | test/routines/level2/xtrmv.hpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/test/routines/level2/xtrmv.hpp b/test/routines/level2/xtrmv.hpp index 7211c757..cb7527ed 100644 --- a/test/routines/level2/xtrmv.hpp +++ b/test/routines/level2/xtrmv.hpp @@ -44,6 +44,8 @@ class TestXtrmv { kArgALeadDim, kArgXInc, kArgAOffset, kArgXOffset}; } + static std::vector<std::string> BuffersIn() { return {kBufMatA, kBufVecX}; } + static std::vector<std::string> BuffersOut() { return {kBufVecX}; } // Describes how to obtain the sizes of the buffers static size_t GetSizeX(const Arguments<T> &args) { @@ -107,19 +109,14 @@ class TestXtrmv { // Describes how to run the CPU BLAS routine (for correctness/performance comparison) #ifdef CLBLAST_REF_CBLAS - static StatusCode RunReference2(const Arguments<T> &args, Buffers<T> &buffers, Queue &queue) { - std::vector<T> a_mat_cpu(args.a_size, static_cast<T>(0)); - std::vector<T> x_vec_cpu(args.x_size, static_cast<T>(0)); - buffers.a_mat.Read(queue, args.a_size, a_mat_cpu); - buffers.x_vec.Read(queue, args.x_size, x_vec_cpu); + static StatusCode RunReference2(const Arguments<T> &args, BuffersHost<T> &buffers_host, Queue &) { cblasXtrmv(convertToCBLAS(args.layout), convertToCBLAS(args.triangle), convertToCBLAS(args.a_transpose), convertToCBLAS(args.diagonal), args.n, - a_mat_cpu, args.a_offset, args.a_ld, - x_vec_cpu, args.x_offset, args.x_inc); - buffers.x_vec.Write(queue, args.x_size, x_vec_cpu); + buffers_host.a_mat, args.a_offset, args.a_ld, + buffers_host.x_vec, args.x_offset, args.x_inc); return StatusCode::kSuccess; } #endif |