标签: vector-class-library

为什么与 AMD Ryzen 7 3800X 相比,在许多 256 字节数组上这个最大索引函数的性能在 Intel i3-N305 上如此缓慢?

我在 Intel i3-N305 3.8GHz 和 AMD Ryzen 7 3800X 3.9GHz PC 上运行了使用 gcc-13 ( https://godbolt.org/z/qq5WrE8qx )编译的相同二进制文件。此代码使用 VCL 库(https://github.com/vectorclass/version2):

int loop_vc_nested(const array<uint8_t, H*W> &img, const array<Vec32uc, 8> &idx) {
  int sum = 0;
  Vec32uc vMax, iMax, vCurr, iCurr;

  for (int i=0; i<H*W; i+=W) {
    iMax.load(&idx[0]);
    vMax.load(&img[i]);

    for (int j=1; j<8; j++) {
      iCurr.load(&idx[j]);
      vCurr.load(&img[i+j*32]);
      iMax = select(vCurr > vMax, iCurr, iMax);
      vMax = max(vMax, vCurr);
    }

    Vec32uc vMaxAll{horizontal_max(vMax)};
    sum += iMax[horizontal_find_first(vMax == vMaxAll)];
  }

  return sum;
}
Run Code Online (Sandbox Code Playgroud)

完整的基准源位于:https://github.com/pauljurczak/simd-benchmarks/blob/main/main-5-vcl-eve.cpp …

c++ benchmarking simd avx2 vector-class-library

28
推荐指数
1
解决办法
1393
查看次数

提高处理速度的矢量类库

我正在研究并行处理算法以提高处理速度。\n我想测试Agner Fog\ 的矢量类库 VCL

\n\n

我想知道如何选择不同的向量类,例如Vec16c(SSE2 指令集)和Vec32c(AVX 指令集)。

\n\n

我使用的是 Intel\xc2\xae Atom\xe2\x84\xa2 x5-Z8350 处理器,根据规格,它支持 SSE4.2 指令集。

\n\n

如何在硬件支持方面有效选择向量类?\n对于我的处理器,我可以使用 AVX 指令集推荐的 Vec32c 吗?

\n

c++ sse simd avx vector-class-library

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

标签 统计

c++ ×2

simd ×2

vector-class-library ×2

avx ×1

avx2 ×1

benchmarking ×1

sse ×1