Skip to content

Latest commit

 

History

History

simd_in_cxx20__eve_of_a_new_era-joël_falcou

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

SIMD in C++20 - EVE of a new Era

Joël Falcou

In those days and ages of GPGPU, Cloud Computing, and other bleeding-edge large-scale computing architectures, peoples often forget that 150% of their CPU comes with a layer of Instruction Level Parallelism: their SIMD computing unit. If writing code using SIMD systems was less of a nightmare then, yeah, people would use it. So, obviously, we had to write a library for it.

Writing SIMD wrapper libraries is not a new idea and a bunch exists already. What we want to showcase here is EVE : a C++20 library giving access in a uniform way across both ARM (neon) and x86 (from sse2 to avx-512)..

Its main advantages over similar libraries include:

  • STL like algorithm support, including zip to operate on multiple ranges.
  • ARM support (many libraries only support x86)
  • A very comprehensive math library.It is liberally licensed and intended to be production quality.

This talk will include a collection of demos (like https://godbolt.org/z/n6Pds78s6) for different library features and benchmarks, as well as practical advice on using EVE in your projects.

Slides

https://denisyaroshevskiy.github.io/eve_2021_presentation/

Backup PDF export

SIMD in C++20 - EVE of a new Era - Joël Falcou