Basic std::simd was voted into the working draft in November. But there are active ongoing discussions, with a slew of proposals still coming. One of those proposals is probably a ranges library. In the eve library we already have one. We implemented a lot of algorithms in abstractions not dissimilar to the ones being standardized. We’d like to share our experience.
In the first part of the talk we will go through a few algorithms at a high level: memcmp, reduce, min_element, copy_if.
In the second half, armed with that knowledge, we will go through different problems, their possible solutions and tradeoffs, which arise when designing a SIMD ranges library.
View Slides
Denis is a performance engineer at Meta, working on the folly team. He is one the maintainers for EVE - open source simd library, where he is mostly responsible for the algorithms. He also has a few contributions to libc++, chromium/base and some other open source.