|
cyqlone
develop
Fast, parallel and vectorized solver for linear systems with optimal control structure.
|
Atomic counters for each level of the combining tree.
Aligned to avoid false sharing.
Definition at line 91 of file barrier.hpp.
Public Types | |
| using | atomic_byte = std::atomic<unsigned char> |
| using | atomic_word = std::atomic<uint32_t> |
| using | ticket_t = std::conditional_t<only_word_lock_free, atomic_word, atomic_byte> |
Public Attributes | |
| std::array< ticket_t, num_levels > | tickets {} |
Static Public Attributes | |
| static constexpr bool | only_word_lock_free |
| static constexpr size_t | num_levels = cache_line_size / sizeof(ticket_t) |
| using cyqlone::TreeBarrier< CompletionFn, PhaseType >::State::atomic_byte = std::atomic<unsigned char> |
Definition at line 92 of file barrier.hpp.
| using cyqlone::TreeBarrier< CompletionFn, PhaseType >::State::atomic_word = std::atomic<uint32_t> |
Definition at line 93 of file barrier.hpp.
| using cyqlone::TreeBarrier< CompletionFn, PhaseType >::State::ticket_t = std::conditional_t<only_word_lock_free, atomic_word, atomic_byte> |
Definition at line 98 of file barrier.hpp.
|
staticconstexpr |
Definition at line 94 of file barrier.hpp.
|
staticconstexpr |
Definition at line 99 of file barrier.hpp.
| std::array<ticket_t, num_levels> cyqlone::TreeBarrier< CompletionFn, PhaseType >::State::tickets {} |
Definition at line 100 of file barrier.hpp.