Ensure OpenCL destructors are called in the correct order.

This commit is contained in:
Brice Videau 2020-10-16 18:05:23 -05:00
parent 6f46267e6c
commit e92d034f64

View File

@ -31,17 +31,17 @@ class OCLStream : public Stream<T>
// Host array for partial sums for dot kernel // Host array for partial sums for dot kernel
std::vector<T> sums; std::vector<T> sums;
// OpenCL objects
cl::Device device;
cl::Context context;
cl::CommandQueue queue;
// Device side pointers to arrays // Device side pointers to arrays
cl::Buffer d_a; cl::Buffer d_a;
cl::Buffer d_b; cl::Buffer d_b;
cl::Buffer d_c; cl::Buffer d_c;
cl::Buffer d_sum; cl::Buffer d_sum;
// OpenCL objects
cl::Device device;
cl::Context context;
cl::CommandQueue queue;
cl::KernelFunctor<cl::Buffer, cl::Buffer, cl::Buffer, T, T, T> *init_kernel; cl::KernelFunctor<cl::Buffer, cl::Buffer, cl::Buffer, T, T, T> *init_kernel;
cl::KernelFunctor<cl::Buffer, cl::Buffer> *copy_kernel; cl::KernelFunctor<cl::Buffer, cl::Buffer> *copy_kernel;
cl::KernelFunctor<cl::Buffer, cl::Buffer> * mul_kernel; cl::KernelFunctor<cl::Buffer, cl::Buffer> * mul_kernel;