迈若网站建设,网站一次性链接怎么做的,拓者设计吧课程,wordpress主题启用后SIMD (Single Instruction Multiple Data)
SIMD#xff0c;也就是单指令多数据计算#xff0c;一条指令可以处理多个数据。通过向量寄存器存储多个数据元素#xff0c;并使用单条指令同时对这些数据元素进行处理#xff0c;从而提高了计算效率。 代码示例#xff1a;
fl…SIMD (Single Instruction Multiple Data)
SIMD也就是单指令多数据计算一条指令可以处理多个数据。通过向量寄存器存储多个数据元素并使用单条指令同时对这些数据元素进行处理从而提高了计算效率。 代码示例
float a[4] { 1.0, 2.0, 3.0, 4.0 };
float b[4] { 5.0, 6.0, 7.0, 8.0 };
float c[4];// 常规写法用循环实现数组相乘
for (int i 0; i 4; i)
{c[i] a[i] * b[i];
}// 使用SIMD指令的内联汇编
__asm
{movups xmm0, [a]; // 将a所指内存的128位数据放入xmm0寄存器movups xmm1, [b]; // 将b所指内存的128位数据放入xmm1寄存器mulps xmm0, xmm1; // 计算xmm0 * xmm14个32位单精度浮点数对位相乘结果放入xmm0movups[c], xmm0; // 将xmm0的数据放入c所指内存
}SPMD(Single Program Multiple Data) 图1 SPMD数据并行(左)与流水线并行(右)示意图 SPMD数据并行原理
启动一组进程他们运行的相同程序(程序包含多个任务)把待处理数据切分把切分后数据分片分发给不同进程处理每个进程对自己的数据分片进行3个任务T1、T2、T3的处理
总结数据切片之间是并行的但切片要执行的多个任务是串行的。
流水线并行原理
启动一组进程对数据进行切分每个进程都处理所有的数据切片对输入数据分片只做一个任务的处理
总结数据切片之间是串行的但切片要执行的多个任务是并行的。
参考链接https://www.cnblogs.com/moonzzz/p/17806496.html 参考链接https://bbs.huaweicloud.com/blogs/412456