From 565d53ecf46b02533bd5a90bb5f9028b0bd25df8 Mon Sep 17 00:00:00 2001
From: Lizzzka007 <gashchuk2011@mail.ru>
Date: Wed, 29 Nov 2023 15:22:24 +0300
Subject: [PATCH] .

---
 include/MemoryProcessing.cuh | 3 +++
 include/MemoryProcessing.h   | 3 +++
 src/MemoryProcessing.cpp     | 7 +++++++
 src/MemoryProcessing.cu      | 7 +++++++
 4 files changed, 20 insertions(+)

diff --git a/include/MemoryProcessing.cuh b/include/MemoryProcessing.cuh
index 411b5f6..d3fb882 100644
--- a/include/MemoryProcessing.cuh
+++ b/include/MemoryProcessing.cuh
@@ -10,6 +10,9 @@ namespace memproc
     template<MemType memtype>
     bool dealloc(void *&array, size_t &allocated_size);
 
+    template<MemType memtype>
+    bool dealloc(void *&array);
+
     template <MemType dst_memtype, MemType src_memtype>
     bool memcopy(void *dst, const void* src, const size_t copy_elem_size);
 }
\ No newline at end of file
diff --git a/include/MemoryProcessing.h b/include/MemoryProcessing.h
index 4721807..409d292 100644
--- a/include/MemoryProcessing.h
+++ b/include/MemoryProcessing.h
@@ -10,6 +10,9 @@ namespace memproc
     template<MemType memtype>
     bool dealloc(void *&array, size_t &allocated_size);
 
+    template<MemType memtype>
+    bool dealloc(void *&array);
+
     template <MemType dst_memtype, MemType src_memtype>
     bool memcopy(void *dst, const void* src, const size_t copy_elem_size);
 }
diff --git a/src/MemoryProcessing.cpp b/src/MemoryProcessing.cpp
index 4c2d2f6..8705f20 100644
--- a/src/MemoryProcessing.cpp
+++ b/src/MemoryProcessing.cpp
@@ -14,6 +14,13 @@ bool memproc::dealloc<MemType::CPU>(void *&array, size_t &allocated_size)
     return true;
 }
 
+template<>
+bool memproc::dealloc<MemType::CPU>(void *&array)
+{
+    free(array);
+    return true;
+}
+
 template <>
 bool memproc::realloc<MemType::CPU>(void *&array, size_t &allocated_size, const size_t new_size)
 {
diff --git a/src/MemoryProcessing.cu b/src/MemoryProcessing.cu
index 205a9fa..5447a3a 100644
--- a/src/MemoryProcessing.cu
+++ b/src/MemoryProcessing.cu
@@ -14,6 +14,13 @@ bool memproc::dealloc<MemType::GPU>(void *&array, size_t &allocated_size)
     return true;
 }
 
+template<>
+bool memproc::dealloc<MemType::GPU>(void *&array)
+{
+    cudaFree(array);
+    return true;
+}
+
 template <>
 bool memproc::realloc<MemType::GPU>(void *&array, size_t &allocated_size, const size_t new_size)
 {
-- 
GitLab