- Feature Name: stdsimd_project_group
- Start Date: 2020-08-28
- RFC PR: rust-lang/rfcs#2977
- Rust Issue: rust-lang/rust-libs#4
This is a project group RFC version of
This RFC establishes a new project group, under the libs team, to produce a portable SIMD API in a new
rust-lang/stdsimd repository, exposed through a new
core::simd) module in the standard library in the same manner as
stdarch. The output of this project group will be the finalization of RFC 2948 and stabilization of
The current stable
core::arch module is described by RFC 2325, which considers a portable API desirable but out-of-scope. The current RFC 2948 provides a good motivation for this API. Various ecosystem implementations of portable SIMD have appeared over the years, including
wide, each taking a different set of trade-offs in implementation while retaining some similarities in their public API. The group will pull together a “blessed” implementation in the standard library with the explicit goal of stabilization for the 2021 edition.
- Determine the shape of the portable SIMD API.
- Get an unstable
core::simdAPI in the standard library. This may mean renaming
stdsimdand working directly on it, or creating a new repository and pulling in chunks of code as needed.
- Produce a stabilization plan to allow portions of
std::simdto be stabilized when they’re ready, and coordinate with other unstable features.
- Respond to user feedback and review contributions to the API.
- Update RFC 2948 based on the final API and stabilization plan.
- This group isn’t directly attempting to build out more
- Group membership is open, any interested party can participate in discussions, repeat contributors will be added to appropriate teams.
Support scaffolding a space to work and integrating
libcore and input from engineers who are familiar with this space.
Community efforts have already produced libraries that are in use, but pulling those together in the standard library needs a group with permissions to get things merged.
The project group will regularly update libs on how things are going, whether there are any blockers
Until the 2021 edition, which is probably mid 2021.
The project group will interact with:
There will be lots of feedback to gather from users and input from compiler developers on how to approach implementation.