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, find min_element, search (subject to change).
In the second half, armed with that knowledge, we will go through different problems and their possible solutions, along with their tradeoffs, 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.