summaryrefslogtreecommitdiff
path: root/test/correctness
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2017-12-03 16:40:36 +0100
committerCedric Nugteren <web@cedricnugteren.nl>2017-12-03 16:40:36 +0100
commitcf4555d1f44aea9c82b60211b5650b6b77a1226c (patch)
tree459676fcf89b85aaab7b014d935d1f5b3ab984fc /test/correctness
parent0a1a3de58a410f61f3b990537541a633826ea640 (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.cpp21
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;