Building 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 plenty of motivation for finding ways to keep the interface and implementation easy to use and difficult … Continue reading Building a C++ SIMD Abstraction (4/N) – Type Traits Are Your Friend

Building a C++ SIMD abstraction (2/N) – Status Quo (My Perspective)

Before looking at what SIMD abstraction I've come up with (that, by the way, isn't super novel), I think it's important to look at the status quo of existing methods for vectorizing C++ code. If you haven't yet, have a look at my previous post for motivation on why vectorizing code is useful. In my … Continue reading Building a C++ SIMD abstraction (2/N) – Status Quo (My Perspective)

Building 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. Recent developments in OSPRay since the summer have marked several deep changes and additions of our infrastructure, including some rewrites … Continue reading Building a C++ SIMD abstraction (1/N) – Motivation

Thread 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 Part 2. This post is going to briefly look at performance of my last post's parallel_for() wrapper inside OSPRay. I do recognize … Continue reading Thread Parallelism (Part 3): A Very Brief Look at Performance

Thread 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 watch the associated talk which helped inspire it from Sean Parent ("no synchronization primitives"). In this post, … Continue reading Thread Parallelism (Part 2): A Simple Parallel-For Wrapper