前言
2006年,当第一台双核计算机出现的时候,对大多数人来说,“双核”是一个新鲜事物。在同一块CPU内集成两个或多个计算引擎的单元,无论是从理论上还是直观感觉上似乎能数倍提高计算机的运行速度,但实际上并非如此。根本的原因是软件的开发速度已经远远滞后于硬件的发展,当前还没有完全支持多核平台的操作系统,要想充分利用多计算引擎带来的实惠,掌握软件开发的理论和提高实践能力迫在眉睫。本书正是在这种背景下酝酿而成。本书的写作是基于“长安大学-Intel多核技术联合实验室”所提供的多核平台,并得到学校质量工程的资助。
本书共分为三个部分。第一部分包括第1章到第3章,详细阐述了多核系统的组成、软件的性能评估方法和并行程序设计模型。作为并行程序设计的主要途径之一,在第3章论述了多线程的基础知识和设计方法。
第二部分包括第4章到第8章,是多核平台程序设计的核心部分,主要内容包括自动并行化程序设计、Intel的IPP性能原语用于信号处理、线程构建模块的基本算法和高级算法,以及基于任务分解和函数分解的并行程序设计及调试方法。通过本部分的学习,读者应改变传统的程序设计思想,逐步建立并行程序设计的基本理论和方法,为提高就业竞争力打下坚实基础。
第三部分包括第9章到第11章,本部分的主要内容是基于Intel在2009年6月份推出的全新并行程序设计parallel studio来展开的,包括线程和内存检测工具Inspector的原理和使用、以及热点分析工具 Amplifier 的原理和应用等。通过本部分的学习,读者应掌握并行套件的原理和使用,能自主开发出高性能的并行程序。
本书第3章由王平编写,第4章由茹锋博士编写,第5章由博士生陈金平编写,其余部分由林继鹏编写。研究生龚结龙、秦海兵参与了第7~11章的调试与整理工作。本书编写过程中,还得到巨永锋教授、张启水研究员和汪贵平教授的指导,博士生李刚对本书的编写也付出诸多汗水,在此对他们表示衷心的感谢。
本书的特点是基本理论与实践环节结合,重在实践能力的培养。书中有大量的源代码供参考,图文并茂,易于学习。
作者