Free CUDA buffers in destructor

This commit is contained in:
Tom Deakin 2016-04-27 12:11:19 +01:00
parent c28e70ae70
commit 3d5a49317e
2 changed files with 12 additions and 0 deletions

View File

@ -32,6 +32,17 @@ CUDAStream<T>::CUDAStream(const unsigned int ARRAY_SIZE)
} }
template <class T>
CUDAStream<T>::~CUDAStream()
{
cudaFree(d_a);
check_error();
cudaFree(d_b);
check_error();
cudaFree(d_c);
check_error();
}
template <class T> template <class T>
void CUDAStream<T>::write_arrays(const std::vector<T>& a, const std::vector<T>& b, const std::vector<T>& c) void CUDAStream<T>::write_arrays(const std::vector<T>& a, const std::vector<T>& b, const std::vector<T>& c)
{ {

View File

@ -19,6 +19,7 @@ class CUDAStream : public Stream<T>
public: public:
CUDAStream(const unsigned int); CUDAStream(const unsigned int);
~CUDAStream();
virtual void copy() override; virtual void copy() override;
virtual void add() override; virtual void add() override;