diff --git a/OMPStream.cpp b/OMPStream.cpp index da51937..189cacb 100644 --- a/OMPStream.cpp +++ b/OMPStream.cpp @@ -31,6 +31,7 @@ OMPStream::OMPStream(const unsigned int ARRAY_SIZE, T *a, T *b, T *c, int dev template OMPStream::~OMPStream() { +#ifdef OMP_TARGET_GPU // End data region on device unsigned int array_size = this->array_size; T *a = this->a; @@ -38,6 +39,11 @@ OMPStream::~OMPStream() T *c = this->c; #pragma omp target exit data map(release: a[0:array_size], b[0:array_size], c[0:array_size]) {} +#else + free(a); + free(b); + free(c); +#endif } template