Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何处理SIGSEGV、分段故障。使用Avx2时 如何处理SIGSEGV、分段故障。使用Avx2时(_mm256_load_pd)(_mm256_store_pd) (已解决) _mm256\u负载\u局部放电_C_Avx2 - Fatal编程技术网

C 如何处理SIGSEGV、分段故障。使用Avx2时 如何处理SIGSEGV、分段故障。使用Avx2时(_mm256_load_pd)(_mm256_store_pd) (已解决) _mm256\u负载\u局部放电

C 如何处理SIGSEGV、分段故障。使用Avx2时 如何处理SIGSEGV、分段故障。使用Avx2时(_mm256_load_pd)(_mm256_store_pd) (已解决) _mm256\u负载\u局部放电,c,avx2,C,Avx2,我接到威尔的电话 \u mm256\u加载\u pd 用法是一样的 double*Val=malloc(sizeof(double)*4); __m256d向量=_mm256_load_pd(&Val[0]); gdb节目 程序接收信号SIGSEGV,分段故障。 0x00007FF7FC5017英寸(毫米256英寸)负载(毫米P=0x559370) at/usr/lib/gcc/x86_64-linux-gnu/9/include/avxintrin.h:862 862返回*(uuum256

我接到威尔的电话

\u mm256\u加载\u pd
用法是一样的

double*Val=malloc(sizeof(double)*4);
__m256d向量=_mm256_load_pd(&Val[0]);
gdb节目

程序接收信号SIGSEGV,分段故障。
0x00007FF7FC5017英寸(毫米256英寸)负载(毫米P=0x559370)
at/usr/lib/gcc/x86_64-linux-gnu/9/include/avxintrin.h:862
862返回*(uuum256d*)uup;
(gdb)第1帧
#1 gemv_d_lineProduct_4_avx2(Val=0x559370,indx=0x5592F0,
向量_X=0x5592c0,向量_Y=0x559340)
c:114
114 uuum256d vecv=mm256 uLOAD_pd(&Val[0]);
(gdb)
_mm256_商店_pd 我把瓦尔弄大了

double*Val=malloc(sizeof(double)*4);
我发现\u mm256\u load\u pd工作正常,但会导致

程序接收信号SIGSEGV,分段故障。
0x00007FF7FC50E3在存储区中(\uuuuuuuu A=…,\uuuuuu P=0x559390)
at/usr/lib/gcc/x86_64-linux-gnu/9/include/avxintrin.h:868
868*(m256d*)P=;
(gdb)第1帧
#1个gemv_d_lineProduct_4_avx2(Val=0x5593E0,indx=0x559310,
向量_X=0x5592c0,向量_Y=0x559390)
c:122
122 mm256 store pd(向量Y,向量Y);
完整项目

mkdir构建;光盘制作
克马克。。
制作
cd../bin
/行
#然后可能会出现seg故障
求解方法 将内存分配功能更改为

void*aligned\u alloc(大小对齐,大小对齐);
第一个参数应该是1024或其他值

由于

根据,
\u mm256\u load\u pd()
需要32字节对齐的指针


请使用
aligned\u alloc()
分配具有正确对齐方式的内存块。

可能存在对齐问题?尝试使用对齐的alloc()。谢谢,我尝试了对齐的alloc(1024,xx)并获得了正确的结果
解决方法
请将其作为答案发布。或者使用
\u mm256\u loadu\u pd()
,它可以处理未对齐的数据。