summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2017-12-23 14:49:21 +0100
committerCedric Nugteren <web@cedricnugteren.nl>2017-12-23 14:49:21 +0100
commit288766debb55033b3dd16a3c91f0817d992787f8 (patch)
tree5833597d34a8648e9ce01dcdd7082f2604e53b52
parent736399e528e9624850e383da468bb3931a5944c3 (diff)
Now calling main TRSV routine again to fix compilation in MSVC
-rw-r--r--src/tuning/routines/xtrsv.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/tuning/routines/xtrsv.cpp b/src/tuning/routines/xtrsv.cpp
index 29db0cd0..7551d1f5 100644
--- a/src/tuning/routines/xtrsv.cpp
+++ b/src/tuning/routines/xtrsv.cpp
@@ -18,7 +18,6 @@
#include "utilities/utilities.hpp"
#include "tuning/tuning.hpp"
-#include "routines/routines.hpp"
namespace clblast {
// =================================================================================================
@@ -37,12 +36,16 @@ void SetBlockSize(const size_t value, const Device &device) {
template <typename T>
void RunTrsvRoutine(const size_t block_size, Queue& queue, const std::vector<Buffer<T>>& buffers) {
SetBlockSize<T>(block_size, queue.GetDevice());
+ auto queue_plain = queue();
auto event = cl_event{};
- auto routine = Xtrsv<T>(queue, nullptr);
- routine.DoTrsv(Layout::kRowMajor, Triangle::kLower, Transpose::kNo, Diagonal::kNonUnit,
- size,
- buffers[0], 0, size, // A matrix
- buffers[1], 0, 1); // X vector
+ auto status = Trsv<T>(Layout::kRowMajor, Triangle::kLower, Transpose::kNo, Diagonal::kNonUnit,
+ size,
+ buffers[0](), 0, size, // A matrix
+ buffers[1](), 0, 1, // X vector
+ &queue_plain, &event);
+ if (status != StatusCode::kSuccess) {
+ throw RuntimeError("Trsv failed with status " + ToString(status));
+ }
clWaitForEvents(1, &event);
clReleaseEvent(event);
}