Posts

SingleThreadedAdditionEng

My Conclusion: Summation of a Vector in three Variants

/
After I've calculated in three different ways the sum of a std::vector I want to draw my conclusions.   The…
localVariable

Multithreaded: Summation with Minimal Synchronization

/
Until now, I've used two strategies to summate a std::vector. First, I did the whole math in one thread…
gcc

Thread-Safe Initialization of a Singleton

/
There are a lot of issues with the singleton pattern. I'm aware of that. But the singleton pattern is…
sukzessiveOptimierungSequenzielleKonsistenzEng

Ongoing Optimization: Sequential Consistency with CppMem

/
With atomic data types, you can tailor your program to your needs and optimize it. But now we are in…
FullFence

Fences are Memory Barriers

/
The key idea of a std::atomic_thread_fence is to establish synchronization and ordering constraints between…
criticalRegion

Acquire-Release Semantic

/
With the acquire-release semantics, the memory model gets very thrilling. Because now, we do not have…
producerConsumer

Sequential Consistency applied

/
I have introduced In the post Sequential Consistency the default memory model. This model, in which all…
atomicOperationsReadWriteEng

Synchronization and Ordering Constraints

/
In this post, our tour through the c++ memory model goes one step deeper. Until now, the posts were only…
fetch mult

Atomics

/
In addition to booleans, there is atomics for pointers, integrals, and user-defined types. The rules…
twoAtomics

Sequential Consistency

/
The atomics are the base of the C++ memory model. Per default, sequential consistency is applied. The…