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

“Over-engineered” code? I think you really mean “under-engineered”…

In the world of software development, the term "over-engineering" gets used more that I like. In my experience "over-engineering" is a label often used to characterize a negative opinion toward code which has an undesirable amount of complexity. In this case, I agree with the sentiment, but very much disagree with the choice in wording … Continue reading “Over-engineered” code? I think you really mean “under-engineered”…

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