From 5422996dfddf69d0f3694dfa4b0ad6cda3a10d5a Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Wed, 31 Mar 2021 13:47:55 -0500 Subject: [PATCH] Bring back PyCUDA mempool compat bits --- src/mempool.hpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/mempool.hpp b/src/mempool.hpp index 212a80f4..44f0fd64 100644 --- a/src/mempool.hpp +++ b/src/mempool.hpp @@ -50,6 +50,12 @@ namespace PYGPU_PACKAGE mp_noncopyable& operator=(const mp_noncopyable&) = delete; }; +#ifdef PYGPU_PYCUDA +#define PYGPU_SHARED_PTR boost::shared_ptr +#else +#define PYGPU_SHARED_PTR std::shared_ptr +#endif + template <class T> inline T signed_left_shift(T x, signed shift_amount) { @@ -339,8 +345,10 @@ namespace PYGPU_PACKAGE bool try_to_free_memory() { // free largest stuff first - for (bin_pair_t &bin_pair: reverse(m_container)) + for (typename container_t::reverse_iterator it = m_container.rbegin(); + it != m_container.rend(); ++it) { + bin_pair_t &bin_pair = *it; bin_t &bin = bin_pair.second; if (bin.size()) @@ -392,14 +400,14 @@ namespace PYGPU_PACKAGE typedef typename Pool::size_type size_type; private: - std::shared_ptr<pool_type> m_pool; + PYGPU_SHARED_PTR<pool_type> m_pool; pointer_type m_ptr; size_type m_size; bool m_valid; public: - pooled_allocation(std::shared_ptr<pool_type> p, size_type size) + pooled_allocation(PYGPU_SHARED_PTR<pool_type> p, size_type size) : m_pool(p), m_ptr(p->allocate(size)), m_size(size), m_valid(true) { } -- GitLab