AVX编程:浮点计算与矩阵处理的深入探索
1. 标准差计算
在计算标准差的过程中,有如下代码实现:
vsubsd xmm1,xmm0,xmm4 ;xmm1 = x[i] - mean
vmulsd xmm2,xmm1,xmm1 ;xmm2 = (x[i] - mean) ** 2
vaddsd xmm5,xmm5,xmm2 ;update sum_sqs
sub rdx,1 ;n -= 1
jnz Loop4 ;repeat until n == 0 is true
; Calculate standard deviation
CalcSD: sub r9,1 ;r9 = n - 1
vcvtsi2sd xmm0,xmm0,r9 ;convert n - 1 to SPFP
vdivsd xmm1,xmm5,xmm0 ;var = sum_sqs / (n - 1)
vsqrtsd xmm2,xmm2,xmm1 ;sd = sqrt(var)
vmovsd [rdi],xmm2 ;save sd
mov eax,1 ;set success code
vzeroupper ;clear upper YMM/Z
AVX编程:浮点与矩阵处理实战
超级会员免费看
订阅专栏 解锁全文
78

被折叠的 条评论
为什么被折叠?



