CPPuddle
Public Types | Public Member Functions | List of all members
cppuddle::memory_recycling::aggregated_recycling_view< kokkos_type, alloc_type, element_type > Class Template Reference

#include <recycling_kokkos_view.hpp>

Inheritance diagram for cppuddle::memory_recycling::aggregated_recycling_view< kokkos_type, alloc_type, element_type >:
[legend]
Collaboration diagram for cppuddle::memory_recycling::aggregated_recycling_view< kokkos_type, alloc_type, element_type >:
[legend]

Public Types

using view_type = kokkos_type
 

Public Member Functions

template<class... Args>
 aggregated_recycling_view (alloc_type &alloc, Args... args)
 
 aggregated_recycling_view (const aggregated_recycling_view< kokkos_type, alloc_type, element_type > &other)
 
aggregated_recycling_view< kokkos_type, alloc_type, element_type > & operator= (const aggregated_recycling_view< kokkos_type, alloc_type, element_type > &other)
 
 aggregated_recycling_view (aggregated_recycling_view< kokkos_type, alloc_type, element_type > &&other) noexcept
 
aggregated_recycling_view< kokkos_type, alloc_type, element_type > & operator= (aggregated_recycling_view< kokkos_type, alloc_type, element_type > &&other) noexcept
 
 ~aggregated_recycling_view ()
 

Detailed Description

template<typename kokkos_type, typename alloc_type, typename element_type>
class cppuddle::memory_recycling::aggregated_recycling_view< kokkos_type, alloc_type, element_type >

Kokkos View that automatically uses a recycling allocator using alloc_type as an underlying allocator. Must be passed an existing allocator object (which should be an allocator_slice from the kernel aggregation functionality) Requires the underlying Kokkos View (kokkos_type) to be a View using the MemoryUnmanaged trait!

Member Typedef Documentation

◆ view_type

template<typename kokkos_type , typename alloc_type , typename element_type >
using cppuddle::memory_recycling::aggregated_recycling_view< kokkos_type, alloc_type, element_type >::view_type = kokkos_type

Constructor & Destructor Documentation

◆ aggregated_recycling_view() [1/3]

template<typename kokkos_type , typename alloc_type , typename element_type >
template<class... Args>
cppuddle::memory_recycling::aggregated_recycling_view< kokkos_type, alloc_type, element_type >::aggregated_recycling_view ( alloc_type &  alloc,
Args...  args 
)
inlineexplicit

◆ aggregated_recycling_view() [2/3]

template<typename kokkos_type , typename alloc_type , typename element_type >
cppuddle::memory_recycling::aggregated_recycling_view< kokkos_type, alloc_type, element_type >::aggregated_recycling_view ( const aggregated_recycling_view< kokkos_type, alloc_type, element_type > &  other)
inline

◆ aggregated_recycling_view() [3/3]

template<typename kokkos_type , typename alloc_type , typename element_type >
cppuddle::memory_recycling::aggregated_recycling_view< kokkos_type, alloc_type, element_type >::aggregated_recycling_view ( aggregated_recycling_view< kokkos_type, alloc_type, element_type > &&  other)
inlinenoexcept

◆ ~aggregated_recycling_view()

template<typename kokkos_type , typename alloc_type , typename element_type >
cppuddle::memory_recycling::aggregated_recycling_view< kokkos_type, alloc_type, element_type >::~aggregated_recycling_view ( )
inline

Member Function Documentation

◆ operator=() [1/2]

template<typename kokkos_type , typename alloc_type , typename element_type >
aggregated_recycling_view<kokkos_type, alloc_type, element_type>& cppuddle::memory_recycling::aggregated_recycling_view< kokkos_type, alloc_type, element_type >::operator= ( aggregated_recycling_view< kokkos_type, alloc_type, element_type > &&  other)
inlinenoexcept

◆ operator=() [2/2]

template<typename kokkos_type , typename alloc_type , typename element_type >
aggregated_recycling_view<kokkos_type, alloc_type, element_type>& cppuddle::memory_recycling::aggregated_recycling_view< kokkos_type, alloc_type, element_type >::operator= ( const aggregated_recycling_view< kokkos_type, alloc_type, element_type > &  other)
inline

The documentation for this class was generated from the following file: