diff --git a/src/clpp11.hpp b/src/clpp11.hpp index 70da2329..94464990 100644 --- a/src/clpp11.hpp +++ b/src/clpp11.hpp @@ -729,9 +729,10 @@ class Buffer { } // Copies the contents of this buffer into another device buffer - void CopyToAsync(const Queue &queue, const size_t size, const Buffer &destination) const { + void CopyToAsync(const Queue &queue, const size_t size, const Buffer &destination, + EventPointer event = nullptr) const { CheckError(clEnqueueCopyBuffer(queue(), *buffer_, destination(), 0, 0, size*sizeof(T), 0, - nullptr, nullptr)); + nullptr, event)); } void CopyTo(const Queue &queue, const size_t size, const Buffer &destination) const { CopyToAsync(queue, size, destination); diff --git a/src/routines/level2/xtrsv.cpp b/src/routines/level2/xtrsv.cpp index a87c5410..2a5a5664 100644 --- a/src/routines/level2/xtrsv.cpp +++ b/src/routines/level2/xtrsv.cpp @@ -154,7 +154,7 @@ void Xtrsv::DoTrsv(const Layout layout, const Triangle triangle, } // Retrieves the results - x_buffer.CopyTo(queue_, x_size, b_buffer); + x_buffer.CopyToAsync(queue_, x_size, b_buffer, event_); } // ================================================================================================= diff --git a/src/routines/level2/xtrsv.hpp b/src/routines/level2/xtrsv.hpp index 798df792..8a900a35 100644 --- a/src/routines/level2/xtrsv.hpp +++ b/src/routines/level2/xtrsv.hpp @@ -32,6 +32,7 @@ class Xtrsv: public Xgemv { using Xgemv::device_; using Xgemv::db_; using Xgemv::program_; + using Xgemv::event_; using Xgemv::DoGemv; // Constructor diff --git a/src/routines/level3/xtrsm.cpp b/src/routines/level3/xtrsm.cpp index 905660ff..fe5d1e14 100644 --- a/src/routines/level3/xtrsm.cpp +++ b/src/routines/level3/xtrsm.cpp @@ -246,7 +246,7 @@ void Xtrsm::TrsmColMajor(const Side side, const Triangle triangle, } // Retrieves the results - x_buffer.CopyTo(queue_, b_size, b_buffer); + x_buffer.CopyToAsync(queue_, b_size, b_buffer, event_); } // ================================================================================================= diff --git a/src/routines/level3/xtrsm.hpp b/src/routines/level3/xtrsm.hpp index 5b42398e..871d7253 100644 --- a/src/routines/level3/xtrsm.hpp +++ b/src/routines/level3/xtrsm.hpp @@ -31,6 +31,7 @@ class Xtrsm: public Xgemm { using Xgemm::device_; using Xgemm::db_; using Xgemm::program_; + using Xgemm::event_; using Xgemm::DoGemm; // Constructor