Rayon看起来非常适合集合的算法并行化,Faster非常适合 x86 平台上的矢量化 (SIMD),例如Vec<f32>
. 我试图将它们结合起来,迭代器似乎彼此不喜欢。有没有办法将这两个库用于可以同时受益于矢量化和并行化的算法?就像 Faster 示例中的这个:
let lots_of_3s = (&[-123.456f32; 128][..]).iter()
.map(|v| {
9.0 * v.abs().sqrt().sqrt().recip().ceil().sqrt() - 4.0 - 2.0
})
.collect::<Vec<f32>>();