Made last operation in TRSV and TRSM asynchronous, making the events not null

pull/312/head
Cedric Nugteren 2018-08-13 22:58:44 +02:00
parent 3115c15db5
commit bf43dbb4ee
5 changed files with 7 additions and 4 deletions

View File

@ -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<T> &destination) const {
void CopyToAsync(const Queue &queue, const size_t size, const Buffer<T> &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<T> &destination) const {
CopyToAsync(queue, size, destination);

View File

@ -154,7 +154,7 @@ void Xtrsv<T>::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_);
}
// =================================================================================================

View File

@ -32,6 +32,7 @@ class Xtrsv: public Xgemv<T> {
using Xgemv<T>::device_;
using Xgemv<T>::db_;
using Xgemv<T>::program_;
using Xgemv<T>::event_;
using Xgemv<T>::DoGemv;
// Constructor

View File

@ -246,7 +246,7 @@ void Xtrsm<T>::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_);
}
// =================================================================================================

View File

@ -31,6 +31,7 @@ class Xtrsm: public Xgemm<T> {
using Xgemm<T>::device_;
using Xgemm<T>::db_;
using Xgemm<T>::program_;
using Xgemm<T>::event_;
using Xgemm<T>::DoGemm;
// Constructor