|
HAMR
The Heterogeneous Accelerator Memory Resource
|
1 #ifndef hamr_python_deleter_h
2 #define hamr_python_deleter_h
4 #include "hamr_config.h"
5 #include "hamr_gil_state.h"
36 void operator()(T *ptr);
47 : m_ptr(ptr), m_elem(n), m_object(obj)
49 #if defined(HAMR_VERBOSE)
52 std::cerr <<
"created python_deleter for array of " << n
53 <<
" objects of type " <<
typeid(T).name() <<
sizeof(T)
54 <<
" holding a reference to " << m_object << std::endl;
67 #if defined(HAMR_VERBOSE)
70 std::cerr <<
"python_deleter deleting array of " << m_elem
71 <<
" objects of type " <<
typeid(T).name() <<
sizeof(T)
72 <<
" release reference to " << m_object << std::endl;
void operator()(T *ptr)
Definition: hamr_python_deleter.h:63
A RAII helper for managing the Python GIL.
Definition: hamr_gil_state.h:13
constexpr HAMR_EXPORT int get_verbose()
returns the value of the HAMR_VERBOSE environment variable
Definition: hamr_env.h:14
python_deleter(T *ptr, size_t n_elem, PyObject *obj)
Definition: hamr_python_deleter.h:46
heterogeneous accelerator memory resource
Definition: hamr_buffer.h:40
a deleter for memory managed from within Python
Definition: hamr_python_deleter.h:21