小编DBE*_*DBE的帖子

Rust target-cpu=native 的 SIMD 执行速度变慢

我正在对 x86 内在函数的 Rust 包装器进行简单测试:莱布尼茨级数的 PI 近似值:

#[cfg(target_arch = "x86_64")]
use std::arch::x86_64::*;

fn main() {
    let mut n: u64 = 0;
    let pi4 = std::f64::consts::PI / 4.0;
    unsafe {
        let mut dens = _mm256_set_pd(1.0f64, -3.0f64, 5.0f64, -7.0f64);
        let adder = _mm256_set_pd(8.0f64, -8.0f64, 8.0f64, -8.0f64);
        let ones = _mm256_set1_pd(1.0f64);
        let mut rsum = _mm256_set1_pd(0.0f64);
        let mut quotients: __m256d;
        loop {
            quotients = _mm256_div_pd(ones, dens);
            rsum = _mm256_add_pd(rsum, quotients);
            dens = _mm256_add_pd(dens, adder);
            n = n + 1;
            let vlow = _mm256_extractf128_pd(rsum, …
Run Code Online (Sandbox Code Playgroud)

simd intrinsics avx rust

4
推荐指数
1
解决办法
4325
查看次数

标签 统计

avx ×1

intrinsics ×1

rust ×1

simd ×1