




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SSE编程,华南理工大学陈虎博士tommychen74,什么是SIMD,SIMD(SingleInstructionMultipleData):单指令流多数据流)用一个控制器对一组数据(又称“数据向量”)中的每一个分别执行相同的操作来实现空间上的并行性典型实例:Intel的MMX或SSEAMD的3DNow!,Intel的SSE技术,SSE指令集出现在PentiumIII处理器中包括了70条指令,其中50条SIMD浮点运算指令、12条MMX整数运算增强指令、8条内存连续数据块传输指令。SSE2指令集:使用了144个新增指令从64位扩展到了128位提供双精度操作支持,Intel的SSE技术,SSE3指令集增加13条指令超线程性能增强指令可以提升处理器的超线程处理能力SSE4指令集共包括16条指令AVX(AdvancedVectorExtensions),预计2010年发布数据宽度从128位扩展为256位操作数从两个增加到三个,SSE2的寄存器结构,IA32BasicArchitecture:图10-1,SSE1、2的数据类型,数据总宽度为128位,可以表示成:四个单精度浮点数两个双精度浮点数16个字节整数8个16位整数4个32位整数2个64位整数,SSE指令,SSE指令按功能可以分成四组:封装和标量单精度浮点指令64位的SIMD整数指令状态管理指令缓存控制,预取和内存命令指令,浮点指令,数据移动指令(标量、成组)寄存器到存储器存储器到寄存器寄存器之间算术运算指令(标量、成组)加、减、乘、除、平方根、最大、最小比较指令(标量、成组)混洗指令转换指令逻辑操作指令,整数指令,算术指令最大、最小、平均值数据移动指令混洗指令MXCSR管理指令Cache和存储器控制指令,使用SSE指令的四种方法,编译器的自动矢量化使用C+类库使用编译器的内嵌原语(Intrinsics)嵌入汇编语言,四种方式的比较,VC8.0的内嵌原语(intrinsics),什么内嵌原语:一条或一组汇编指令内嵌原语格式_mm_:指令类别(add、sub):指令操作数的类型,内嵌原语的数据类型,p:紧密,指令对寄存器中的每个元素进行运算ep:扩充紧密s:标量,只将寄存器中的第一个元素参与运算,其他说明数据类型的关键字有:s单精度浮点数d双精度浮点数i128带符号128位整型i64带符号64位整型u64无符号64位整型i32带符号32位整型u32无符号32位整型i8带符号8位整型u8无符号8位整型,内嵌原语的类别,矩阵变换读写控制寄存器混洗Cache控制数据整型操作存储操作,置位运算读取运算转换运算比较操作逻辑运算算术运算,矩阵变换例:_MM_TRANSPOSE4_PS(row0,row1,row2,row3)作用:转置一个44的单精度或双精度元素矩阵,混洗操作例:_MM_SHUFFLE(z,y,x,w)(z6)|(y4)|(xdm02);/x(i)=x(i)*m00+y(i)*m01+z(i)*m02+m03/x(i+1)=x(i+1)*m00+y(i+1)*m01+z(i+1)*m02+m03mx0=_mm_add_pd(mx0,_mm_add_pd(mx1,_mm_add_pd(mx2,WM-dm03);/写入结果x(i),x(i+1)_mm_store_pd(vertex.x+i,mx0);,/计算y(i)和y(i+1)mx0=_mm_mul_pd(tx,WM-dm10);/tx,ty,tz已经事先读入mx1=_mm_mul_pd(ty,WM-dm11);mx2=_mm_mul_pd(tz,WM-dm12);mx0=_mm_add_pd(mx0,_mm_add_pd(mx1,_mm_add_pd(mx2,WM-dm13);_mm_store_pd(vertex.y+i,mx0);/计算z(i)和z(i+1)mx0=_mm_mul_pd(tx,WM-dm20);mx1=_mm_mul_pd(ty,WM-dm21);mx2=_mm_mul_pd(tz,WM-dm22);mx0=_mm_add_pd(mx0,_mm_add_pd(mx1,_mm_add_pd(mx2,WM-dm23);_mm_store_pd(vertex.z+i,mx0);/计算z(i)和z(i+1)mx0=_mm_mul_pd(tx,WM-dm30);mx1=_mm_mul_pd(ty,WM-dm31);mx2=_mm_mul_pd(tz,WM-dm32);mx0=_mm_add_pd(mx0,_mm_add_pd(mx1,_mm_add_pd(mx2,WM-dm33);_mm_store_pd(vertex.w+i,mx0);,SSE程序实例,技巧:一次完成两个矩阵变换SoA的数据结构有利于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 咖啡线下活动策划方案(3篇)
- 清除路肩杂草施工方案(3篇)
- 培训机构声乐活动策划方案(3篇)
- 员工进场考试题库及答案
- 安全专项考试题库及答案
- 北京市门头沟区2023-2024学年九年级上学期第一次月考历史题目及答案
- 北京市昌平区2024-2025学年八年级下学期第二次月考英语考试题目及答案
- 新村干面试题目及答案
- 写作大赛考试题目及答案
- 七夕节传说初中作文800字14篇
- 危险化学品(储存、生产、使用)企业安全风险辨识分级管控清单
- 【食品零食】桂格燕麦食品抖音账号运营方案
- 食材供应服务投标方案(完整技术标)
- 焊接工艺规程(WPS)PQR
- 松桃县太平营乡三合水电站工程项目环评报告
- 幼儿园劳务分包合同范本
- 乌海市小学四年级数学【下册】能力检测试卷(附答案)
- 绿色建筑课件-绿色建筑设计
- 中华人民共和国土地管理法课件
- 核工程与核技术毕业设计(论文)闪烁探测器探测效率与γ射线能量关系的数值模拟
- 期货交易基础知识测试题库
评论
0/150
提交评论