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