AdamNiederer / AdamNiederer/faster

Faster and std::simd

Aperta
#53 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Rust
Stelle
1.6k
Fork
52
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Opening another ticket since this is a separate discussion from #47 and might be more controversial:

The more I look into the upcoming `std::simd`, the more I wonder if `faster` should not become a thinner "SIMD-friendly iteration" library that neatly plugs into `std::simd` and is really good at handling variable slices, zipping, ... instead of providing a blanket implementation over `std::arch`.

Right now it seems that many common intrinsics and operations faster provides on packed types are or might be implemented in `std::simd` (compare [coresimd/ppsv](https://github.com/rust-lang-nursery/stdsimd/tree/master/coresimd/ppsv)).

At the same time, for things that won't be in `std::simd` (and will be more platform specific), faster will have a hard time providing a consistent performance story anyway.

By that reasoning I see a certain appeal primarily focusing on a more consistent cross-platform experience with a much lighter code base (e.g., imagine faster without `arch/` and `intrin/` and using mostly `std::simd` instead of `vektor`).

Faster could also integrate `std::arch` specific functions and types, but rather as extensions and helpers (e.g., for striding) for special use cases, instead of using them as internal fundamentals.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Start by reading the related discussion in #47 and comparing the arch/, intrin/, and vektor areas named here with the stdsimd coresimd/ppsv reference. Done means reaching an agreed architecture and implementation scope for std::simd integration; this issue does not name a specific test or entry point to run.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
rust
Ambito
performance
Tipo di issue
Refactoring
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.