4 ms·
as an amateur rust admirer , looking at https://rise-lang.org/ https://rise-lang.org/ .... i think its maybe possible. because their language / tools Rise + Ele
by fatneckbeard 4y ago
as an amateur rust admirer , looking at https://rise-lang.org/ https://rise-lang.org/ .... i think its maybe possible. because their language / tools Rise + Elevate looks like its starting out with a chain of iterators, something we see often in Rust, like zip, reduce, map.
if i understand it, they then automatically analyze the iterator chain and rewrite some of it using parallel versions of the code, for example they change Map to MapPar
"In Rise, low-level implementation choices such as performing
a computation in parallel are encoded with low-level patterns.
For example, the map pattern that applies a function to each
element of an array might be performed in a data-parallel
fashion as indicated by the mapPar variant of the pattern"
https://arxiv.org/pdf/2002.02268.pdf https://arxiv.org/pdf/2002.02268.pdf
This reminds me a bit of how the Rayon crate in Rust works, where you can take an iter() and change it to par_iter() and instantly get parallelism in your program (depending on various details). but it seems like they have taken it "to the next level" and can output a CUDA program automatically , starting from their basic iterator chain.
- synergy20 4y agoGood to know Rise, it does not look like it is under active development since last May though.