没有合适的资源?快使用搜索试试~ 我知道了~
计算机体系结构Lab5 - CodiMD1
需积分: 0 0 下载量 119 浏览量
2022-08-04
12:32:37
上传
评论
收藏 129KB PDF 举报
温馨提示
试读
2页
计算机体系结构Lab5 - CodiMD1
资源详情
资源评论
资源推荐
计算机体系结构Lab5
Exercise 1: 熟悉 SIMD intrinsics 函数
Four floating point divisions in single precision
__m128 _mm_div_ps (__m128 a, __m128 b)
Sixteen max operations over unsigned 8-bit integers
__m128i _mm_max_epu8 (__m128i a, __m128i b)
Arithmetic shift right of eight signed 16-bit integers
__m128i _mm_srli_epi16 (__m128i a, int imm8)
Exercise 2: 阅读 SIMD 代码
观察 sseTest.s 文件的内容 ,哪些指令是执行 SIMD 操作的?
movapd,movsd,addpd,mulpd,unpckhpd
Exercise 3: 书写 SIMD 代码
sum_vectorized 函数代码如下:
static int sum_vectorized(int n, int *a)
{
int sum = 0;
int sum_vect[4];
__m128i _sum = _mm_setzero_si128();
for (int i = 0; i < n / 4 * 4; i += 4)
_sum = _mm_add_epi32(_sum,_mm_loadu_si128((__m128i*)(a+i)));
_mm_storeu_si128((__m128i*)sum_vect,_sum);
for(int i = 0;i<4;i++)
sum += sum_vect[i];
for (int i = n / 4 * 4; i < n; i++)
sum += a[i];
return sum;
}
运行结果如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
吹狗螺的简柏承
- 粉丝: 14
- 资源: 313
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0