XGCa
Public Member Functions | Private Attributes | Friends | List of all members
Scratch Class Reference

#include <scratch.hpp>

Collaboration diagram for Scratch:
Collaboration graph
[legend]

Public Member Functions

 Scratch (size_t n_double_host, size_t n_double_device)
 
 Scratch ()
 
KOKKOS_INLINE_FUNCTION void pop_host (size_t n)
 
KOKKOS_INLINE_FUNCTION void pop_device (size_t n)
 
void report_peak_usage () const
 

Private Attributes

bool is_initialized
 
View< double *, CLayout, HostTypehost_pool_
 
View< double *, CLayout, DeviceTypedevice_pool_
 
size_t host_offset_
 
size_t device_offset_
 
size_t host_unlimited_offset_
 
size_t device_unlimited_offset_
 
size_t host_peak_
 
size_t device_peak_
 

Friends

class ScratchLock
 

Constructor & Destructor Documentation

◆ Scratch() [1/2]

Scratch::Scratch ( size_t  n_double_host,
size_t  n_double_device 
)

◆ Scratch() [2/2]

Scratch::Scratch ( )
inline

Member Function Documentation

◆ pop_device()

KOKKOS_INLINE_FUNCTION void Scratch::pop_device ( size_t  n)
inline
Here is the caller graph for this function:

◆ pop_host()

KOKKOS_INLINE_FUNCTION void Scratch::pop_host ( size_t  n)
inline
Here is the caller graph for this function:

◆ report_peak_usage()

void Scratch::report_peak_usage ( ) const

Friends And Related Function Documentation

◆ ScratchLock

friend class ScratchLock
friend

Member Data Documentation

◆ device_offset_

size_t Scratch::device_offset_
private

◆ device_peak_

size_t Scratch::device_peak_
private

◆ device_pool_

View<double*, CLayout, DeviceType> Scratch::device_pool_
private

◆ device_unlimited_offset_

size_t Scratch::device_unlimited_offset_
private

◆ host_offset_

size_t Scratch::host_offset_
private

◆ host_peak_

size_t Scratch::host_peak_
private

◆ host_pool_

View<double*, CLayout, HostType> Scratch::host_pool_
private

◆ host_unlimited_offset_

size_t Scratch::host_unlimited_offset_
private

◆ is_initialized

bool Scratch::is_initialized
private

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