首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

有没有人来帮小弟我运行一个SIMD的简单程序。谢谢了

2013-11-08 
有没有人来帮我运行一个SIMD的简单程序。多谢了!SIMD代码:#include testfun.h#include intrin.h #inclu

有没有人来帮我运行一个SIMD的简单程序。多谢了!
SIMD代码:

#include "testfun.h"
#include <intrin.h> 
#include <iostream>
using namespace std; 

#define dataLen  8000

void testfun()
{
    __m256 *buf1 = new __m256[dataLen/8];
__m256 *buf2 = new __m256[dataLen/8];

for(int i=0; i<dataLen/8; i++)
{
buf2[i] = _mm256_set1_ps(i);
        cout<<buf2->m256_f32[0]<< endl;
}
 
}


这段代码在buf2[i] = _mm256_set1_ps(i);赋值时会出现问题,一直不知道为什么
奇怪的是如果将buf2放到buf1之前去new,则不会出现问题,此时buf1赋值会出问题!
[解决办法]
要求操作的内存地址从16的整数倍开始?

热点排行