Improving Performance with SIMD Intrinsics

Authors

DOI:

https://doi.org/10.35925/j.multi.2022.1.7

Keywords:

SIMD, optimization, SSE, AVX

Abstract

Computer application development has a long history. With the continuous development of hardware, both the software and the programming languages and frameworks that make application development possible have also changed. As we move forward in time, as more and more powerful computers become available, the level of programming languages has also risen to a higher level. Increasingly high-level APIs and languages have become available, pointers, memory allocations and releases have slowly disappeared from the area of the programming. However, with the transition to high-level languages, the optimization of programs or the possibility of it has been relegated to the background, because some efficiency-enhancing options are not available in high-level languages. This paper therefore delves deeper into the benefits of SSE/AVX based SIMD concurrency capabilities that are “forgotten” in everyday programming. The presented tests will show that there are reserves in the CPU that can be used to push certain performance limits further away.

Downloads

Published

2022-07-30