我正在做成两万维的内在产品,成千上万.值只能是0,1或2.因此可以将它们存储为字符.如果要在具有avx标志的CPU上进行矢量化计算,我预计它会快〜32倍.但问题是乘法会自动将字符转换为整数,即4个字节.因此,可以获得仅速度的最大8倍.可以达到32倍的速度吗?
顺便说一句,我使用的是Linux(Fedora 22迄今为止)和g ++ 5.1.
c++ simd avx
avx ×1
c++ ×1
simd ×1