diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2017-12-03 16:40:36 +0100 |
---|---|---|
committer | Cedric Nugteren <web@cedricnugteren.nl> | 2017-12-03 16:40:36 +0100 |
commit | cf4555d1f44aea9c82b60211b5650b6b77a1226c (patch) | |
tree | 459676fcf89b85aaab7b014d935d1f5b3ab984fc /test/correctness | |
parent | 0a1a3de58a410f61f3b990537541a633826ea640 (diff) |
Added GEMM (direct and in-direct) to the pre-processor testing; modified the loops in kernel accordingly
Diffstat (limited to 'test/correctness')
-rw-r--r-- | test/correctness/misc/preprocessor.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/test/correctness/misc/preprocessor.cpp b/test/correctness/misc/preprocessor.cpp index d352ce37..71b59c04 100644 --- a/test/correctness/misc/preprocessor.cpp +++ b/test/correctness/misc/preprocessor.cpp @@ -172,7 +172,26 @@ size_t RunPreprocessor(int argc, char *argv[], const bool silent, const Precisio ; if (TestKernel(device, context, "TransposePadMatrix", transpose_pad_sources, precision)) { passed++; } else { errors++; } - + // GEMM (in-direct) + const auto gemm_sources = + "#define KWI 2\n" + "#define MWG 16\n" + "#define NWG 16\n" + #include "../src/kernels/level3/xgemm_part1.opencl" + #include "../src/kernels/level3/xgemm_part2.opencl" + #include "../src/kernels/level3/xgemm_part3.opencl" + ; + if (TestKernel(device, context, "Xgemm", gemm_sources, precision)) { passed++; } else { errors++; } + + // GEMM (direct) + const auto gemm_direct_sources = + "#define KWID 2\n" + "#define WGD 16\n" + #include "../src/kernels/level3/xgemm_direct_part1.opencl" + #include "../src/kernels/level3/xgemm_direct_part2.opencl" + #include "../src/kernels/level3/xgemm_direct_part3.opencl" + ; + if (TestKernel(device, context, "XgemmDirectTN", gemm_direct_sources, precision)) { passed++; } else { errors++; } // Prints and returns the statistics std::cout << std::endl; |