欢迎来到天天文库
浏览记录
ID:10206061
大小:61.00 KB
页数:0页
时间:2018-06-12
《基于cache的矩阵乘积算法性能改善实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、姓名学号专业班级联系电话Email同组实验者无无实验室名称信息楼301室实验日期2013.7.6课程名称计算机系统结构实验序号七实验项目基于Cache的矩阵乘积算法性能改善实验主讲教师辅导教师指导教师实验心得:(1)通过本次试验,我了解Cache对系统性能的影响;(2)了解了基于系统结构的算法设计思想;学生签名:2013年7月6日成绩评定及教师评语:成绩:教师签名:2013年7月6日1实验目的及要求★了解Cache对系统性能的影响★了解基于系统结构的算法设计思想2实验模块及实验原理2.1实验模块(1)编写两个C语言程序。一个是实现矩阵乘积
2、的一般算法。另一个是基于Cache的矩阵乘积优化算法。(2)采用不同矩阵大小来进行多组测量,使实验的结果更加准确。2.2实验原理本实验采用控制变量的方法。矩阵大小相同时比较两算法的优略。在相同算法中采用改变矩阵大小的方式,使结果更加准确。3实验步骤与结果3.1实验步骤(1)编译并运行程序1,记录相关数据。(2)不改变矩阵大小时,编译并运行程序2,记录相关数据。(3)改变矩阵大小,重复(1)、(2)两步。(4)通过以上的实验现象,分析出现这种现象的原因。3.2实验结果1.用C语言实现矩阵(方阵)乘积一般算法(程序1),填写下表:矩阵大小10
3、050010001500200025003000一般算法执行时间0.156252.6250020.17187573.718750167.93750394.8281251099.31250矩阵大小:100一般算法执行时间:0.15625矩阵大小:500一般算法执行时间:2.62500矩阵大小:1000一般算法执行时间:20.171875矩阵大小:1500一般算法执行时间:73.718750矩阵大小:2000一般算法执行时间:167.93750矩阵大小:2500一般算法执行时间:394.828125矩阵大小:3000一般算法执行时间:1099
4、.312502.程序2是基于Cache的矩阵(方阵)乘积优化算法,填写下表:矩阵大小10050010001500200025003000优化算法执行时间0.156251.56250012.62500042.875000102.171875202.796875360.31250矩阵大小:100优化算法执行时间:0.15625矩阵大小:500优化算法执行时间:1.562500矩阵大小:1000优化算法执行时间:12.625000矩阵大小:1500优化算法执行时间:42.875000矩阵大小:2000优化算法执行时间:102.171875矩阵大
5、小:2500优化算法执行时间:202.796875矩阵大小:3000优化算法执行时间:360.312503.优化后的加速比(speedup)矩阵大小10050010001500200025003000加速比11.681.5981.721.631.633.05矩阵大小:100加速比:0.15625矩阵大小:500加速比:1.68矩阵大小:1000加速比:1.598矩阵大小:1500加速比:1.72矩阵大小:2000加速比:1.63矩阵大小:2500加速比:1.63矩阵大小:3000加速比:3.05加速比定义:加速比=优化前系统耗时/优化后系
6、统耗时;所谓加速比,就是优化前的耗时与优化后耗时的比值。加速比越高,表明优化效果越明显。4实验代码程序1:#include#include#includemain(intargc,char*argv[]){float*a,*b,*c,temp;longinti,j,k,size,m;structtimevaltime1,time2;if(argc<2){printf("tUsage:%s",argv[0]);exit(-1);}s
7、ize=atoi(argv[1]);m=size*size;a=(float*)malloc(sizeof(float)*m);b=(float*)malloc(sizeof(float)*m);c=(float*)malloc(sizeof(float)*m);for(i=0;i8、LL);for(i=0;i
8、LL);for(i=0;i
此文档下载收益归作者所有