QMCPACK
SYCLallocator.hpp File Reference

this file provides three C++ memory allocators using SYCL specific memory allocation functions. More...

+ Include dependency graph for SYCLallocator.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SYCLSharedAllocator< T, ALIGN >
 allocator for SYCL shared memory T data type ALIGN alignment in bytes More...
 
struct  SYCLSharedAllocator< T, ALIGN >::rebind< U >
 
class  SYCLAllocator< T, ALIGN >
 allocator for SYCL device memory T data type ALIGN alignment in bytes More...
 
struct  SYCLAllocator< T, ALIGN >::rebind< U >
 
struct  qmc_allocator_traits< qmcplusplus::SYCLAllocator< T > >
 
struct  SYCLHostAllocator< T, ALIGN >
 allocator for SYCL host pinned memory T data type ALIGN alignment in bytes More...
 
struct  SYCLHostAllocator< T, ALIGN >::rebind< U >
 

Namespaces

 qmcplusplus
 helper functions for EinsplineSetBuilder
 

Functions

size_t getSYCLdeviceMemAllocated ()
 
template<class T1 , class T2 >
bool operator== (const SYCLSharedAllocator< T1 > &, const SYCLSharedAllocator< T2 > &)
 
template<class T1 , class T2 >
bool operator!= (const SYCLSharedAllocator< T1 > &, const SYCLSharedAllocator< T2 > &)
 
template<class T1 , class T2 >
bool operator== (const SYCLAllocator< T1 > &, const SYCLAllocator< T2 > &)
 
template<class T1 , class T2 >
bool operator!= (const SYCLAllocator< T1 > &, const SYCLAllocator< T2 > &)
 
template<class T1 , class T2 >
bool operator== (const SYCLHostAllocator< T1 > &, const SYCLHostAllocator< T2 > &)
 
template<class T1 , class T2 >
bool operator!= (const SYCLHostAllocator< T1 > &, const SYCLHostAllocator< T2 > &)
 

Variables

std::atomic< size_t > SYCLallocator_device_mem_allocated
 

Detailed Description

this file provides three C++ memory allocators using SYCL specific memory allocation functions.

SYCLManagedAllocator allocates SYCL shared memory SYCLAllocator allocates SYCL device memory SYCLHostAllocator allocates SYCL host memory They are based on CUDA*Allocator implementation

Definition in file SYCLallocator.hpp.


Class Documentation

◆ qmcplusplus::SYCLSharedAllocator::rebind

struct qmcplusplus::SYCLSharedAllocator::rebind

template<typename T, size_t ALIGN = QMC_SIMD_ALIGNMENT>
template<class U>
struct qmcplusplus::SYCLSharedAllocator< T, ALIGN >::rebind< U >

Definition at line 59 of file SYCLallocator.hpp.

+ Collaboration diagram for SYCLSharedAllocator< T, ALIGN >::rebind< U >:
Class Members
typedef SYCLSharedAllocator< U > other

◆ qmcplusplus::SYCLAllocator::rebind

struct qmcplusplus::SYCLAllocator::rebind

template<typename T, size_t ALIGN = 64>
template<class U>
struct qmcplusplus::SYCLAllocator< T, ALIGN >::rebind< U >

Definition at line 113 of file SYCLallocator.hpp.

+ Collaboration diagram for SYCLAllocator< T, ALIGN >::rebind< U >:
Class Members
typedef SYCLAllocator< U > other

◆ qmcplusplus::SYCLHostAllocator::rebind

struct qmcplusplus::SYCLHostAllocator::rebind

template<typename T, size_t ALIGN = QMC_SIMD_ALIGNMENT>
template<class U>
struct qmcplusplus::SYCLHostAllocator< T, ALIGN >::rebind< U >

Definition at line 229 of file SYCLallocator.hpp.

+ Collaboration diagram for SYCLHostAllocator< T, ALIGN >::rebind< U >:
Class Members
typedef SYCLHostAllocator< U > other