相关疑难解决方法(0)

什么是IACA以及如何使用它?

我发现了这个有趣且功能强大的工具IACA(英特尔架构代码分析器),但我无法理解它.我能用它做什么,它的局限性是什么?我该怎么做:

  • 用它来分析C或C++中的代码?
  • 用它来分析x86汇编程序中的代码?

c c++ performance assembly iaca

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

x87优于SSE的优点

我知道x87具有更高的内部精度,这可能是人们在它与SSE操作之间看到的最大差异.但我不得不怀疑,使用x87还有其他好处吗?我有-mfpmath=sse在任何项目中自动输入的习惯,我想知道我是否遗漏了x87 FPU提供的任何其他内容.

x86 sse x86-64 fpu x87

24
推荐指数
4
解决办法
6600
查看次数

运行基本的Avx512代码时获取非法指令

我正在尝试学习AVX指令,并且在运行我收到的基本代码时

非法指令(核心已转储)

该代码在下面提到,我正在使用它进行编译

g ++ -mavx512f 1.cpp

问题到底是什么?如何解决?谢谢!

#include <immintrin.h>
#include<iostream>
using namespace std;

void add(const float a[], const float b[], float res[], int n)
{
    int i = 0;

    for(; i < (n&(~0x31)) ; i+=32 )
    {
        __m512 x = _mm512_loadu_ps( &a[i] );
        __m512 y = _mm512_loadu_ps( &b[i] );

        __m512 z = _mm512_add_ps(x,y);
        _mm512_stream_ps(&res[i],z);
    }

    for(; i<n; i++) res[i] = a[i] + b[i];
}

int main()
{
    int n = 100000;
    float a[n], b[n], res[n];
    for(int i = 0;i …
Run Code Online (Sandbox Code Playgroud)

c c++ avx avx2 avx512

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

标签 统计

c ×2

c++ ×2

assembly ×1

avx ×1

avx2 ×1

avx512 ×1

fpu ×1

iaca ×1

performance ×1

sse ×1

x86 ×1

x86-64 ×1

x87 ×1