From 69c6e9202c332ce0fd90aeafcc448b1332f23f82 Mon Sep 17 00:00:00 2001 From: zhang677 Date: Sat, 12 Aug 2023 09:50:22 +0000 Subject: [PATCH 1/2] Fix spmvGPU and ttvGPU --- src/index_notation/transformations.cpp | 4 ++-- test/tests-scheduling-eval.cpp | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/index_notation/transformations.cpp b/src/index_notation/transformations.cpp index d53ec58c3..1236ca580 100644 --- a/src/index_notation/transformations.cpp +++ b/src/index_notation/transformations.cpp @@ -436,7 +436,7 @@ IndexStmt Precompute::apply(IndexStmt stmt, std::string* reason) const { /// The reduceOp depends on the relation between indexVar sets of rhs and lhs. For rcl and inter, reduceOp /// must be +=. For lcr, reduceOp must be =. For none and equal, reduceOp can't be decided at this stage. switch (rel) { - case none: a = Assignment(a.getLhs(), a.getRhs());break; + case none: a = Assignment(a.getLhs(), a.getRhs(), Add());break; case rcl: a = Assignment(a.getLhs(), a.getRhs(), Add());break; case lcr: a = Assignment(a.getLhs(), a.getRhs());break; case inter: a = Assignment(a.getLhs(), a.getRhs(), Add());break; @@ -456,7 +456,7 @@ IndexStmt Precompute::apply(IndexStmt stmt, std::string* reason) const { /// The reduceOp depends on the relation between indexVar sets of rhs and lhs. For rcl and inter, reduceOp /// must be +=. For lcr, reduceOp must be =. For none and equal, reduceOp can't be decided at this stage. switch (rel) { - case none: a = Assignment(a.getLhs(), a.getRhs());break; + case none: a = Assignment(a.getLhs(), a.getRhs(), Add());break; case rcl: a = Assignment(a.getLhs(), a.getRhs(), Add());break; case lcr: a = Assignment(a.getLhs(), a.getRhs());break; case inter: a = Assignment(a.getLhs(), a.getRhs(), Add());break; diff --git a/test/tests-scheduling-eval.cpp b/test/tests-scheduling-eval.cpp index 3357375d4..959ca15be 100644 --- a/test/tests-scheduling-eval.cpp +++ b/test/tests-scheduling-eval.cpp @@ -1241,7 +1241,8 @@ TEST(scheduling_eval, spmvGPU) { IndexStmt stmt = y.getAssignment().concretize(); stmt = scheduleSpMVGPU(stmt, A, precomputed); - //printToFile("spmv_gpu", stmt); + std::cout << stmt << std::endl; + printToFile("spmv_gpu", stmt); y.compile(stmt); y.assemble(); From da8cf948673a8cbb25e4a9711387cc49ce23f20c Mon Sep 17 00:00:00 2001 From: zhang677 Date: Sat, 12 Aug 2023 09:52:31 +0000 Subject: [PATCH 2/2] Restore test --- test/tests-scheduling-eval.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/tests-scheduling-eval.cpp b/test/tests-scheduling-eval.cpp index 959ca15be..3357375d4 100644 --- a/test/tests-scheduling-eval.cpp +++ b/test/tests-scheduling-eval.cpp @@ -1241,8 +1241,7 @@ TEST(scheduling_eval, spmvGPU) { IndexStmt stmt = y.getAssignment().concretize(); stmt = scheduleSpMVGPU(stmt, A, precomputed); - std::cout << stmt << std::endl; - printToFile("spmv_gpu", stmt); + //printToFile("spmv_gpu", stmt); y.compile(stmt); y.assemble();