小编Mar*_*sen的帖子

将__m256i设置为两个__m128i值的值

因此,AVX有一个函数from immintrin.h,它应该允许将两个__m128i值的串联存储到一个__m256i值中.功能是

__m256i _mm256_set_m128i (__m128i hi, __m128i lo)
Run Code Online (Sandbox Code Playgroud)

但是,当我使用它时,如下所示:

__m256i as[2]; __m128i s[4]; as[0] = _mm256_setr_m128i(s[0], s[1]);
Run Code Online (Sandbox Code Playgroud)

我收到编译错误:

error: incompatible types when assigning to type ‘__m256i’ from type ‘int’
Run Code Online (Sandbox Code Playgroud)

我真的不明白为什么会这样.任何帮助是极大的赞赏!

c sse simd avx

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

C++主要使用〜20%的时间说gprof

我尝试用gprof分析我的C++程序.程序本身运行了大约53秒,所以我不明白为什么它说,主要只运行了大约8.29秒.对此有何解释?

这是一段摘录:

index % time    self  children    called     name
                                                 <spontaneous>
[2]     20.5    0.00    8.29                 main [2]
                0.00    8.28       1/1           MPQS::start(std::basic_ofstream<char, std::char_traits<char> >&) [3]
                0.00    0.01       1/1           MPQS::MPQS(NTL::ZZ, long) [36]
                0.00    0.00       1/1           MPQS::~MPQS() [78]
-----------------------------------------------
                0.00    8.28       1/1           main [2]
[3]     20.5    0.00    8.28       1         MPQS::start(std::basic_ofstream<char, std::char_traits<char> >&) [3]
                7.15    1.08     801/801         MPQS::sieve() [4]
                0.00    0.04     801/801         MPQS::find_smooth_vals() [23]
                0.01    0.00       1/1           MPQS::try_solutions(NTL::mat_GF2&) [35]
                0.00    0.00     801/801         MPQS::compute_coeffecients() [59]
-----------------------------------------------
                7.15    1.08     801/801         MPQS::start(std::basic_ofstream<char, std::char_traits<char> >&) [3]
[4]     20.4    7.15 …
Run Code Online (Sandbox Code Playgroud)

c++ gprof

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

标签 统计

avx ×1

c ×1

c++ ×1

gprof ×1

simd ×1

sse ×1