首页 新闻 论坛 小组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 第二书店 程序员

logo

您的位置:CSDN 首页−>新闻频道−>正文

英特尔工程师告诉您如何快速掌握多线程代码优化

2006.12.29  来自:CSDN      共有评论(0)条 发表评论    收藏

1.多线程设计由于多核技术的发展,多线程程序的调优会越来越为重要. 所有我们要求参赛网友对原有程序进行多线程设计. 程序多线程化是通过我们测试的一个条件.一般来说, 多线程设计主要有两种方法: 使用本地线程(Nativ

随着英特尔多核平台编程优化大赛的进行,我们收到了不少网友的优化报告,其中许多网友取得非常好的优化成绩。但是也许多网友通过各种渠道给我们反馈,由于平时没有接触太大优化相关的工作,一时间对于提供的代码难以入手,希望我们针对大赛,提供一些学习的资源,掌握优化方面的内容以便参加比赛。所以我们提供了下面一些链接,希望对一些没有太多优化经验的网友提供一些帮助。

1.多线程设计
由于多核技术的发展,多线程程序的调优会越来越为重要。所有我们要求参赛网友对原有程序进行多线程设计。程序多线程化是通过我们测试的一个条件。一般来说,多线程设计主要有两种方法:使用本地线程(Native Threading), OpenMP Threading.在大赛中,这两种方法都可以使用。

关于Windows本地的线程,大家可以去MSDN* 网站去学习。下面一个链接,提供提供一个简单的介绍http://www.codeproject.com/threads/sync.asp

OpenMP threading 一些详细内容可以参考OpenMP的网站(www.openmp.org)。下面一篇开始学习的文章:Getting Started with OpenMP*:  http://www3.intel.com/cd/ids/developer/asmo-na/eng/20365.htm

如果是使用OpenMP threading,需要用Intel C++ Compiler 或 Microsoft .Net 2005* 编译器。

对程序的多线程化,需要要选择关键的代码(费时间的代码)进行多线程设计。如果大家不能确定程序主要的计算部分, Intel® VTune™ Analyzers 可以帮助分析程序。

多线程化后,下一步主要是对多线程的程序进一步优化。

2.优化工具
学习英特尔的相关工具使用方法也是我们大赛的一个主要目的。在大赛的参赛的主页上,大家可以下载到相关的工具。这里我们简单对每个工具进行说明:

Intel® C++ Compiler: 我们建议使用Intel C++ 编译器进行编译程序, 安装完Intel C++ 编译器后, 大家可以在命令行下, 或在Microsoft .Net 2005* 编译环境中选择Intel C++ 编译器. Intel C++ 编译器提供不同的编译开关. 如果大家需要进一步学习这方面的内容可以去 Intel 软件学院在线学习网站:
Enhancing Performance with the Intel® Compiler: http://or1cedar.cps.intel.com/softwarecollege/CourseDetails.asp?courseID=105

Intel® Math Kernel Library (Intel MKL).  Intel MKL 函数库中提供了VML 函数, 这些函数可以对超越函数(sin, cos, exp, log等)进行优化, 有关这方面的讨论,大家可以参见以前的一些帖子, 不少网友讨论VML函数的使用.

Intel Threading Checker & Intel Threading Profiler: Thread Checker 用于查找线程错误, 能够检测资源竞争、线程死锁等问题. 大家程序在多线程后,可以用Threading Checker 检测一下有没有多线程相关的错误. Thread Profiler是线程性能检测工具,多线程化有, 可能会有负载比平衡, 同步开销过大等等线程相关的性能问题。Thread Profiler 能够帮助定位这些问题的原因.
一些可以学习网站:
Getting Started with the Intel® Thread Checker: http://or1cedar.cps.intel.com/softwarecollege/CourseDetails.asp?courseID=178
Getting Started with the Thread Profiler: http://or1cedar.cps.intel.com/softwarecollege/CourseDetails.asp?courseID=179

这些只是是一个初步的介绍,大家遇到什么问题, 欢迎一起来讨论. 一些网友在优化方面也非常有经验,可以一起来交流学习.

关于本次大赛:

由英特尔软件网络部主办,CSDN协办的“英特尔多核平台编程优化大赛”于2006-12-6日拉开帷幕,得到了广大网友的关注和支持。本次比赛要求参赛者使用大赛提供的样品代码,利用推荐的一个或多个英特尔® 软件开发工具对代码进行调优。参赛者可以在大赛网站上提交作品。参赛的作品将在大赛推荐的硬件平台上进行统一的评测,并在大赛网站上公布最终结果。所有通过测试的作品,选手都可以获得由英特尔提供的技术工具书一本和U盘一个。

更多大赛相关信息,请前往大赛官方网站

更多精彩话题,请前往CSDN技术社区-英特尔多核计算技术讨论区

发表评论 0条】
其他文章
相关文章
最近评论
正在载入评论列表...
热点评论

     
    网站简介广告服务网站地图帮助联系方式诚聘英才English问题报告
    北京百联美达美数码科技有限公司  版权所有  京 ICP 证 020026 号
    Copyright © 2000-2006, CSDN.NET, All Rights Reserved