diff --git a/src/CUDAStream.cu b/src/CUDAStream.cu index 5ec1e67..7c9afb3 100644 --- a/src/CUDAStream.cu +++ b/src/CUDAStream.cu @@ -32,6 +32,17 @@ CUDAStream::CUDAStream(const unsigned int ARRAY_SIZE) } +template +CUDAStream::~CUDAStream() +{ + cudaFree(d_a); + check_error(); + cudaFree(d_b); + check_error(); + cudaFree(d_c); + check_error(); +} + template void CUDAStream::write_arrays(const std::vector& a, const std::vector& b, const std::vector& c) { diff --git a/src/CUDAStream.h b/src/CUDAStream.h index bde574e..89ad536 100644 --- a/src/CUDAStream.h +++ b/src/CUDAStream.h @@ -19,6 +19,7 @@ class CUDAStream : public Stream public: CUDAStream(const unsigned int); + ~CUDAStream(); virtual void copy() override; virtual void add() override;