英特尔多核编程大赛优化报告

英特尔多核编程大赛优化报告

ID:9081908

大小:83.00 KB

页数:19页

时间:2018-04-16

英特尔多核编程大赛优化报告_第1页
英特尔多核编程大赛优化报告_第2页
英特尔多核编程大赛优化报告_第3页
英特尔多核编程大赛优化报告_第4页
英特尔多核编程大赛优化报告_第5页
资源描述:

《英特尔多核编程大赛优化报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、英特尔多核编程大赛优化报告蒋黎首先要感谢CSDN和Intel为我们提供了这么好的学习机会。在比赛的过程中,我对多核体系有了更多的了解,对优化也有了更深的认识。希望能多跟大家讨论,共同进步。我优化的最终结果:单核:0.562s(Celeron3.06G)双核:0.375s(AMDAthlon64X2Dual3800+)为了方便阅读,我把优化报告分成了几个部分:概要篇(简述优化思路和方法)源码篇(最终版本的源码)算法篇(分析主要的算法)大赛公布的原始代码:(组织者后来要求计算和输出精度到小数点后7位,这里的输出代码做了相应的调整。)//* compute the 

2、potential energy of a collection of *///* particles interacting via pairwise potential    */ #include #include #include #include #include  #define NPARTS 1000#define NITER 201#define DIMS 3 int rand( void );int computePot(void);void init

3、Positions(void);void updatePositions(void); double r[DIMS][NPARTS];double pot;double distx, disty, distz, dist;int main() {   int19 i;   clock_t start, stop;   initPositions();   updatePositions();    start=clock();   for( i=0; i

4、  if (i%10 == 0) printf("%5d: Potential: %10.7f ", i, pot);      updatePositions();   }   stop=clock();   printf ("Seconds = %10.9f ",(double)(stop-start)/ CLOCKS_PER_SEC);}  void initPositions() {   int i, j;    for( i=0; i

5、] = 0.5 + ( (double) rand() / (double) RAND_MAX );}  void updatePositions() {   int i, j;    for( i=0; i

6、or( j=0; j

7、优化版本运行时间:单核:0.562s(Celeron3.06G)双核:0.375s(AMDAthlon64X2Dual3800+2.01GHz)//////////////////////////////////////////////////////////////////优化步骤和执行时间测试系统主要使用使用Celeron3.06G。每一步优化后均使用VTune分析主要函数的运行情况。多核测试使用AMDAthlon64X2Dual3800+2.01GHz。1原始代码(4.39s)使用VS2005转化原始的工程文件,编译并运行。用VTune分析,可以看出,性

8、能主要损失在computePot函数以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。