In this post we introduce the essentials of programming for systems with several CPU cores. We start with an explanation of software threads and synchronization, two fundamental building blocks of multithreaded programming. We explain how these are implemented in hardware, and finally, we present several multithreading APIs you can use for parallel programming.
All posts tagged parallelization
Crash course introduction to parallelism: SIMD Parallelism
Posted on Author Ivica BogosavljevićPosted in Computational Performance, Low Level Performance, Parallelization, PerformanceLeave a Reply
This is the first article about hardware support for parallelization. We talk about SIMD, an extension almost every processor nowadays has that lets you speed up your program.
Crash course introduction to parallelism: the algorithms
When it comes to performance, there are two ways to go: one is to improve the usage of the existing hardware resources, the other is to use the new hardware resources. We already talked a lot about how to increase the performance of your program by better using the existing resources, for example, by decreasing…
2-minute read: the Magic Touch of Parallel Algorithms
We investigate a simple way to speed up std::sort from the standard library