




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机系统院系 学号 姓名 授课教师 密封线一、 单项选择题(每小题1分,共20分)1. 二、 填空题 ( 每空1 分,共 10 分 )1. 3. 三、 判断对错(每小题1分,共10分,在题前打 X 符号)1.2. 四、简答题2. 列举几种程序优化的方法,并简述其原理。至少2种,每种2.5分1) 代码移动,通过将代码从循环中移出减少计算执行的频率(编译优化)2) 用简单方法替代复杂操作,如移位、加替代乘法/除法(编译优化)3) 共享共用子表达式,重用表达式的一部分(编译优化)4) 减少过程调用(编译优化)5) 消除不必要的内存引用(编译优化)6) 循环展开,局部变量累积(编译优化,CPU指令并行优化)7) 减少分支,如可以用条件表达式替代if-else(防止流水线PC取错造成的影响)8) 调整循环次序,充分利用缓存(Cache优化)9) 利用速度更快的CPU指令,如浮点数计算指令SIMD六、综合设计题(每小题10分,共20分)1. 程序优化: 矩阵cn,n = an,n * bn,n ,采用 48题 I7 CPU。块64B。 for(int i=0;in;i+) for(int j=0;jn;j+) ci,j=0; for(int k=0; kn;k+)ci,j+=ai,k*bkj; 请针对该程序进行速度优化,写出优化后的程序,并说明优化的依据。代码优化,三个思路:编译优化、CPU优化、缓存优化编译优化:尽量用局部变量,减少不必要的内存访问;循环展开,减少循环边界检查CPU优化:尽量制造指令并行(流水),方法也是循环展开,多路累积 for(int i=0;in;i+) for(int j=0;jn;j+) acc1=0; acc2=0; for(int k=0; klen;/* 获取向量中指定下标的元素值,保存在指针参数val中*/int get_vec_element(*vec v, size_t idx, float *val)if (idx = v-len)return 0;*val = v-dataidx;return 1;/*计算向量元素的和*/void vector_sum(vec *v, float *sum) long int i; *sum = 0;/初始化为0 for (i = 0; i vec_length(v); i+) float val;get_vec_element(v, i, &val);/获取向量v中第i个元素的值,存入val中*sum = *sum + val; /将val累加到sum中 编译优化:1. 代码移动(移出循环),vec_length(v)2. 减少函数调用,get_vec_element(v,i,&val)3. 减少不必要的内存引用,指针*sum = *sumCPU优化:1. 使用循环展开,多路累积采用任一种优化方法都10分void vector_sum(vec *v, float *sum) long int i; long int length = vec_length(v); float *d = get_vec_start(v); float t = 0; for (i = 0; i length; i+) t = t + di; *dest = t;把函数vec_length移到循环外 避免每个循环的边界检查 用临时/局部变量累积结果3. 现代超标量CPU X86-64的Cache的参数s=5,E=1,b=5,若M=N=64, 请优化如下程序,并说明优化的方法(至少CPU与Cache各一种)。void trans(int M, int N, int AMN, int BNM) for (int i = 0; i M; i+) for (int j = 0; j N; j+) Bji =Aij; 面向CPU的优化方式:指令级并行,可以用循环展开面向Cache的优化:主要采用矩阵分块的代码优化方式优化的说明合理可行CPU 循环展开void trans(int M, int N, int AMN, int BNM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版摄影师职业发展规划聘用合同范本
- 河北省博野县2025年上半年事业单位公开遴选试题含答案分析
- 2025年度高端医疗设备研发及授权使用合同
- 海南省屯昌县2025年上半年公开招聘村务工作者试题含答案分析
- 2025年版店铺转让附带装修权合同范本
- 2025版速记服务保密正本与知识产权保护合同
- 2025年度城乡统筹发展三旧改造合作开发协议
- 2025版体育产业融资合作保密协议
- 2025年度影视作品宣发推广服务合同
- 2025版石材行业产品质量检测服务合同范本
- 2025年郑州人才公司面试题及答案
- 2025年跨境电子商务测试题及答案
- IT项目管理进度计划及其保证措施
- 休克的诊断和治疗课件
- 广东省湛江市2024-2025学年高一下学期期末调研测试政治试卷(含答案)
- 2025-2030中国汽车玻璃水行业竞争优势与前景趋势洞察报告
- 厨房刀具安全培训课件
- 私密抗衰培训课件
- 2025年全国高中物理竞赛试题及答案
- 2024风电项目开工管理办法
- 供热企业运营管理制度
评论
0/150
提交评论