From 3d5a49317e2ca4107bb91369d9abf5d773701134 Mon Sep 17 00:00:00 2001 From: Tom Deakin Date: Wed, 27 Apr 2016 12:11:19 +0100 Subject: [PATCH] Free CUDA buffers in destructor --- src/CUDAStream.cu | 11 +++++++++++ src/CUDAStream.h | 1 + 2 files changed, 12 insertions(+) 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;