sse / sse2双矩阵浮点向量乘法
我必须使用sse / sse2实现矩阵向量乘法。
矢量和矩阵很大。
矩阵是双,矢量是浮点数。
重点是我必须对浮点数进行所有计算 - 当我从矩阵中获取数据时将其提升为浮点数,进行计算并获得浮点向量(稍后在浮点数上进行一些额外的计算后,我必须添加一些浮点值(浮点数)矩阵)加倍值(双矩阵)。
我的问题是如何使用SSE / SSE2来做到这一点 - 问题在于双打 - 我有指向双*的指针我必须以某种方式将4个双打转换为4个浮点数以适应__mm128 ...是否有任何指示要做到这一点?
没有找到相关结果
已邀请:
2 个回复
苛肠倒俱
(
)得到两个单精度浮点向量,每个向量包含两个你原来的双精度值,然后将这两个浮点向量合并成一个向量,例如,
(
)。
冕偷淮款
变为
会降低精度水平,而不会增加精度。为了更准确,你应该在
s上进行计算(将向量提升为该类型),然后可能将结果重新强制转换为
。转换所需的说明是
(
至
)和/或
(
至
)。那些只能一次转换两个值(因为只有两个ѭ4适合SSE寄存器),所以你需要分两部分进行转换。