Thread Parallelism (Part 1): Don’t Write a Tasking System
Seriously, it's probably not your best use of your time...
View ArticleThread Parallelism (Part 2): A Simple Parallel-For Wrapper
Last week I wrote about how you should think about using an existing solution for a tasking system before you embark on building one. If you have not read that post yet, I encourage you to do so and...
View ArticleThread Parallelism (Part 3): A Very Brief Look at Performance
This is the final of my 3 part series looking at thread parallelism, specifically at existing solutions providing a generic parallel-for abstraction. In case you missed it, have a look at Part 1 and...
View ArticlePlain Pointers Considered Harmful
It's all in title: I argue that the use of a plain pointer should be avoided as I believe they are generally harmful. Before an army of disagreeing C++ programmers come at me angry with torches and...
View ArticleBuilding a C++ SIMD abstraction (1/N) – Motivation
Howdy everyone out there! After a bit of a hiatus from writing, CppCast recently had Jonathan Boccara on as a guest to talk about blogging which has inspired me to get back to expository writing again....
View ArticleBuilding a C++ SIMD Abstraction (4/N) – Type Traits Are Your Friend
In this post I want to share with you how type traits can be an asset to C++ template code. Given that tsimd is based on a core template over a collection of values stored in a SIMD register, there's...
View Article