cyqlone develop
Fast, parallel and vectorized solver for linear systems with optimal control structure.
Loading...
Searching...
No Matches
cyqlone::TreeBarrier< CompletionFn, PhaseType >::Storage Struct Reference

Detailed Description

template<typename CompletionFn = EmptyCompletion, class PhaseType = uint32_t>
struct cyqlone::TreeBarrier< CompletionFn, PhaseType >::Storage

Storage for small values used in reductions and broadcasts.

Definition at line 68 of file barrier.hpp.

Public Member Functions

template<class T>
void store (T t) noexcept
template<class T>
load () const noexcept

Public Attributes

std::array< std::byte, cache_line_sizepayload

Static Public Attributes

template<class T>
static constexpr bool is_compatible

Member Function Documentation

◆ store()

template<typename CompletionFn = EmptyCompletion, class PhaseType = uint32_t>
template<class T>
void cyqlone::TreeBarrier< CompletionFn, PhaseType >::Storage::store ( T t)
inlinenoexcept

Definition at line 71 of file barrier.hpp.

◆ load()

template<typename CompletionFn = EmptyCompletion, class PhaseType = uint32_t>
template<class T>
T cyqlone::TreeBarrier< CompletionFn, PhaseType >::Storage::load ( ) const
inlinenoexcept

Definition at line 77 of file barrier.hpp.

Member Data Documentation

◆ payload

template<typename CompletionFn = EmptyCompletion, class PhaseType = uint32_t>
std::array<std::byte, cache_line_size> cyqlone::TreeBarrier< CompletionFn, PhaseType >::Storage::payload

Definition at line 69 of file barrier.hpp.

◆ is_compatible

template<typename CompletionFn = EmptyCompletion, class PhaseType = uint32_t>
template<class T>
bool cyqlone::TreeBarrier< CompletionFn, PhaseType >::Storage::is_compatible
staticconstexpr
Initial value:
=
sizeof(T) <= sizeof(payload) && std::is_trivially_copyable_v<T>
std::array< std::byte, cache_line_size > payload
Definition barrier.hpp:69

Definition at line 85 of file barrier.hpp.


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