小编Jen*_*r Q的帖子

对于非阻塞发送和阻塞接收是否仍然需要等待

我知道如果双方都是非阻塞发送和接收,那么就需要MPI_Waitor 。MPI_Test但我想知道如果我们混合非阻塞发送和阻塞接收,MPI_Wait考虑到阻塞接收可以确保通信完成,我还需要调用吗?

communication distributed-computing mpi

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

没有编译器优化的 SSE 内在函数

我是 SSE 内在函数的新手,并尝试通过它来优化我的代码。这是我的程序,用于计算等于给定值的数组元素。

我将代码更改为 SSE 版本,但速度几乎没有改变。我想知道我是否以错误的方式使用SSE......

此代码用于不允许我们启用编译器优化选项的分配。

无 SSE 版本:

int get_freq(const float* matrix, float value) {

    int freq = 0;

    for (ssize_t i = start; i < end; i++) {
        if (fabsf(matrix[i] - value) <= FLT_EPSILON) {
            freq++;
        }
    }

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

上交所版本:

#include <immintrin.h>
#include <math.h>
#include <float.h>

#define GETLOAD(n) __m128 load##n = _mm_load_ps(&matrix[i + 4 * n])
#define GETEQU(n) __m128 check##n = _mm_and_ps(_mm_cmpeq_ps(load##n, value), and_value)
#define GETCOUNT(n) count = _mm_add_ps(count, check##n)

    int get_freq(const float* matrix, float …
Run Code Online (Sandbox Code Playgroud)

c sse simd compiler-optimization

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