Clone wiki

blaze / Shared Memory Parallelization

For all possible operations Blaze tries to achieve maximum performance on a single CPU core. However, today's CPUs are not single core anymore, but provide several (homogeneous or heterogeneous) compute cores. In order to fully exploit the performance potential of a multicore CPU, computations have to be parallelized across all available cores of a CPU. For this purpose, Blaze provides four different shared memory parallelization techniques:

When any of the shared memory parallelization techniques is activated, all arithmetic operations on dense vectors and matrices (including additions, subtractions, multiplications, divisions, and all componentwise arithmetic operations) and most operations on sparse vectors and matrices are automatically run in parallel. However, in addition, Blaze provides means to enforce the serial execution of specific operations:

Previous: Logical OR ---- Next: OpenMP Parallelization