基于OpenMP的多核程序设计
时间:2025-03-09
时间:2025-03-09
2010年第9期
SCIENCE&TECHNOLOGYINFORMATIONOIT论坛。科技信息
基于OpenMP的多核程序设计
周淑贤
(中南林业科技大学信息与计算机工程学院
湖南长沙410004)
【摘要J多核技术的发展正引领软件研发发生基础性的变化。开发人员可以在代码中添加线程来利用系统所提供的多个内核。从而提升PC应用软件的功能和性能。本文介绍了共享存储系统并行编程接口OpenMP的模型、指令和库函数,以厦IntelC++编译嚣9.1和MicrosoftVisualStudio2005等对OpenMP的支持;着重探讨了二雏离散快速傅里叶变换并行算法的设计、实现与优化技术;展望了高性能并行计算软构件库的开发前景。
【关键词】多核计算机;并行计算;多线程;OpenMP
OpenMP-basedProgramming
(College
【Abstract]Softwaredevelopmentwill
to
on
Multi--corePC
ZHoUShu-xian
ofComputer&InformationEngineering,CentralSouthUniversityofForestry&Technology,ChangshaHunan,410004)
receive
a
foundationalinnovation
makefull
USe
ofthenew
processor,thatimprovesbothfunction
requires
all
byreasonofmulti--coretechnology.Programmersaddthreadsintocodes
andperformanceofIntemetapplications.Originatesfromparallelprogrammingon
multi--corecomputers.UsingtheOpenMPprograms
9.1
andMicrosofiVisualStudio2005
design,realizationand
are
Open
MP--eompatiblecompilerandthread--safelibraries.bothIntelC++compiler
perfectchoice,Thenstudiedtwo--dimensionaldiscretefastFouriertechnology.Finally,thoughtthathish
transform(F踊,focused
software
component
on
parallel
a
programoptimization
performanceparallel
computing
librarymustbe
perfectexploitationfieldinthefurtherfuture.
【Keywords】Multi--corecompute;OpenMP
O背景
在现有工艺下.改善CPU性能的传统方法如提升时钟速度和指令吞吐量等在摩尔定律限制下已经难有大的进展。近年来新型芯片性能提升将主要从超线程.多核和缓存三个方面人手,其中最为瞩目的当属多核技术。Intel、AMD等主要的处理器厂商均将提高处理器性能的途径从提高主频转向整合多个处理引擎。多核引领软件研发发生基础性变化。开发人员需要在代码中添加线程来利用系统所提供的多个内核,并将对性能比较敏感的代码分隔在多个内核上,但同时又必须确保代码具有良好的可伸缩性,无论在单核、双核、四核或者更高级别的计算机七,同样的代码都必须能够运行良好。传统程序基本上是为顺序处理器书写的.大部分程序在多处理器上不能直接获得加速。解决这一问题的途径之一是使用多处理器编译器把顺序程序自动转换为并行程序。多核处理器编译器的自动并行化功能能够解决一部分问题,但是依然不能令人满意。解决这一问题的另一途径是手工重写程序库。长期以来.计算机界积累了大量的库程序,尤其是在科学计算领域,经典算法均已收入库程序。如果把程序库中所有程序用适合并行计算的方法莺写。那么用户在写应用程序时就可以直接调用这些并行程序库,从而加速应用程序的运行。目前可选择的多核多线程开发工具有Win32线程库、p111read库以及OpenMP。Win32线程库运行于winNT和win9X平台,拥有完善丽复杂的函数库.目前比较成熟,但对编程人员有较高的要求:pThread库是Linux下最常用的多线程支持库,具有方便移植的特点,但使用难度比较大:OpenMP则针对共享地址空间的并行计算机提供并行计算支持,具有使用简单的特点。 …… 此处隐藏:1534字,全部文档内容请下载后查看。喜欢就下载吧 ……