diff --git a/src/TNL/Devices/MIC.h b/src/TNL/Devices/MIC.h index db1a238097f12cdaf3a2076b030baebe50d94eaf..f347a24d1f9e4fa6d5cceb7e2693807c7158065a 100644 --- a/src/TNL/Devices/MIC.h +++ b/src/TNL/Devices/MIC.h @@ -134,29 +134,6 @@ class MIC } }; - static inline - void* AllocMIC(size_t size) - { - Devices::MICHider<void> hide_ptr; - #pragma offload target(mic) out(hide_ptr) in(size) - { - hide_ptr.pointer=malloc(size); - } - return hide_ptr.pointer; - }; - - static inline - void FreeMIC(void* ptr) - { - Devices::MICHider<void> hide_ptr; - hide_ptr.pointer=ptr; - #pragma offload target(mic) in(hide_ptr) - { - free(hide_ptr.pointer); - } - }; - - #endif static void insertSmartPointer( Pointers::SmartPointer* pointer ) diff --git a/src/TNL/Pointers/DevicePointer.h b/src/TNL/Pointers/DevicePointer.h index 867f18fcbf0bb4c2aaee8e621616c5fe0e6417dc..b0c0a934fa0dee01ebe4bb2d93abe3e6d0d36b68 100644 --- a/src/TNL/Pointers/DevicePointer.h +++ b/src/TNL/Pointers/DevicePointer.h @@ -12,6 +12,7 @@ #pragma once +#include <TNL/Allocators/Default.h> #include <TNL/Devices/Host.h> #include <TNL/Devices/Cuda.h> #include <TNL/Devices/MIC.h> @@ -695,7 +696,7 @@ class DevicePointer< Object, Devices::MIC > : public SmartPointer if( ! this->pd ) return false; // pass to device - this->mic_pointer = (ObjectType*)Devices::MIC::AllocMIC(sizeof(ObjectType)); + this->mic_pointer = Allocators:::MIC< ObjectType >().allocate(1); if( ! this->mic_pointer ) return false; Devices::MIC::CopyToMIC((void*)this->mic_pointer,(void*)this->pointer,sizeof(ObjectType)); @@ -733,7 +734,7 @@ class DevicePointer< Object, Devices::MIC > : public SmartPointer delete this->pd; this->pd = nullptr; if( this->mic_pointer ) - Devices::MIC::FreeMIC( (void*) this->mic_pointer ); + Allocators:::MIC< ObjectType >().deallocate(this->mic_pointer, 1); } } } diff --git a/src/TNL/Pointers/SharedPointerMic.h b/src/TNL/Pointers/SharedPointerMic.h index 0e19e78b21eb48d8d2c83df35332ad6f888e9a93..0c2958b4ad7c6552f58363c98dca5104908f04cc 100644 --- a/src/TNL/Pointers/SharedPointerMic.h +++ b/src/TNL/Pointers/SharedPointerMic.h @@ -14,6 +14,7 @@ #include "SharedPointer.h" +#include <TNL/Allocators/Default.h> #include <TNL/Devices/MIC.h> #include <TNL/Pointers/SmartPointer.h> @@ -307,7 +308,7 @@ class SharedPointer< Object, Devices::MIC > : public SmartPointer if( ! this->pd ) return false; - mic_pointer=(Object*)Devices::MIC::AllocMIC(sizeof(Object)); + mic_pointer = Allocators::MIC< Object >().allocate(1); Devices::MIC::CopyToMIC((void*)this->mic_pointer,(void*) &this->pd->data,sizeof(Object)); if( ! this->mic_pointer ) @@ -350,8 +351,8 @@ class SharedPointer< Object, Devices::MIC > : public SmartPointer this->pd = nullptr; if( this->mic_pointer ) { - Devices::MIC::FreeMIC((void*)mic_pointer); - mic_pointer=nullptr; + Allocators:::MIC< ObjectType >().deallocate(mic_pointer, 1); + mic_pointer=nullptr; } #ifdef TNL_DEBUG_SHARED_POINTERS std::cerr << "...deleted data." << std::endl; diff --git a/src/TNL/Pointers/UniquePointer.h b/src/TNL/Pointers/UniquePointer.h index c8efd5afe38d47b07904be5e93d5de6f5fe53aec..cfb7b543fc3e94858ad5c34d4bf8e8c0faf85462 100644 --- a/src/TNL/Pointers/UniquePointer.h +++ b/src/TNL/Pointers/UniquePointer.h @@ -12,6 +12,7 @@ #pragma once +#include <TNL/Allocators/Default.h> #include <TNL/Devices/Host.h> #include <TNL/Devices/Cuda.h> #include <TNL/Devices/MIC.h> @@ -446,7 +447,7 @@ class UniquePointer< Object, Devices::MIC > : public SmartPointer if( ! this->pd ) return false; // pass to device - this->mic_pointer=(Object*)Devices::MIC::AllocMIC(sizeof(Object)); + this->mic_pointer = Allocators::MIC< Object >().allocate(1); if( ! this->mic_pointer ) return false; Devices::MIC::CopyToMIC((void*)mic_pointer,(void*)&this->pd->data,sizeof(Object)); @@ -477,7 +478,7 @@ class UniquePointer< Object, Devices::MIC > : public SmartPointer if( this->pd ) delete this->pd; if( this->mic_pointer ) - Devices::MIC::FreeMIC(mic_pointer); + Allocators:::MIC< ObjectType >().deallocate(mic_pointer, 1); } PointerData* pd;