waLBerla 7.3
Loading...
Searching...
No Matches
walberla::v8::memory Namespace Reference

Namespaces

namespace  allocator_backends
namespace  buffer_system
namespace  initializers
namespace  detail
namespace  memtag

Classes

class  Allocator
 Aligned memory allocator with offset. More...
class  FieldSlices
 Iteration slices and cell intervals over a field. More...
class  Field
 Primary distributed 3D numerical field data structure. More...
class  FieldView
 View into a field's block-local portion. More...
class  FieldVtkWriter
struct  MemoryTraits
 Memory traits for a given memory tag. More...
struct  MemoryTraits< memtag::stdmem, T >
struct  MemoryTraits< memtag::host, T >
struct  MemoryTraits< memtag::unified, T >
struct  MemoryTraits< memtag::device, T >
struct  MemoryTraits< memtag::pinned, T >
class  BufferSystem
class  BufferView

Typedefs

template<AllocatableType T>
using HostAllocator = Allocator<T, allocator_backends::HostMemory>
 Aligned allocator with offset for pageable host memory.
template<std::semiregular TValue, size_t fSize, MemTag TMemTag>
using ConstFieldView = FieldView< const TValue, fSize, TMemTag >
template<IField TField>
using FieldViewType = FieldView< typename TField::element_type, TField::F_SIZE, typename TField::memory_tag >
template<IField TField>
using ConstFieldViewType = FieldView< const typename TField::value_type, TField::F_SIZE, typename TField::memory_tag >

Enumerations

enum class  MemcpyKind {
  HostToHost , HostToDevice , DeviceToHost , DeviceToDevice ,
  Default
}

Functions

template<typename FieldType>
 FieldView (const FieldType &, IBlock &) -> FieldView< typename FieldType::element_type, FieldType::F_SIZE, typename FieldType::memory_tag >
template<typename FieldType>
 FieldView (const FieldType &, const IBlock &) -> FieldView< const typename FieldType::value_type, FieldType::F_SIZE, typename FieldType::memory_tag >
template<IBufferView TBViewDst, IBufferView TBViewSrc>
void bufferCpy (const TBViewDst &bViewDst, const TBViewSrc &bViewSrc)
template<IFieldView TFViewDst, IFieldView TFViewSrc>
void fieldCpy (const TFViewDst &fViewDst, const TFViewSrc &fViewSrc)
constexpr size_t hostAlignment ()
constexpr size_t deviceAlignment ()

Typedef Documentation

◆ ConstFieldView

template<std::semiregular TValue, size_t fSize, MemTag TMemTag>
using walberla::v8::memory::ConstFieldView = FieldView< const TValue, fSize, TMemTag >

◆ ConstFieldViewType

template<IField TField>
using walberla::v8::memory::ConstFieldViewType = FieldView< const typename TField::value_type, TField::F_SIZE, typename TField::memory_tag >

◆ FieldViewType

template<IField TField>
using walberla::v8::memory::FieldViewType = FieldView< typename TField::element_type, TField::F_SIZE, typename TField::memory_tag >

Enumeration Type Documentation

◆ MemcpyKind

Enumerator
HostToHost 
HostToDevice 
DeviceToHost 
DeviceToDevice 
Default 

Function Documentation

◆ bufferCpy()

template<IBufferView TBViewDst, IBufferView TBViewSrc>
void walberla::v8::memory::bufferCpy ( const TBViewDst & bViewDst,
const TBViewSrc & bViewSrc )

◆ deviceAlignment()

size_t walberla::v8::memory::deviceAlignment ( )
constexpr

◆ fieldCpy()

template<IFieldView TFViewDst, IFieldView TFViewSrc>
void walberla::v8::memory::fieldCpy ( const TFViewDst & fViewDst,
const TFViewSrc & fViewSrc )

◆ FieldView() [1/2]

template<typename FieldType>
walberla::v8::memory::FieldView ( const FieldType & ,
const IBlock &  ) -> FieldView< const typename FieldType::value_type, FieldType::F_SIZE, typename FieldType::memory_tag >

◆ FieldView() [2/2]

template<typename FieldType>
walberla::v8::memory::FieldView ( const FieldType & ,
IBlock &  ) -> FieldView< typename FieldType::element_type, FieldType::F_SIZE, typename FieldType::memory_tag >

◆ hostAlignment()

size_t walberla::v8::memory::hostAlignment ( )
constexpr