OpenMP多核并行框架概述
来源:互联网 发布:淘宝查好在哪里查 编辑:程序博客网 时间:2024/05/23 21:54
OpenMP是由OpenMP Architecture ReviewBoard牵头提出的,并已被广泛接受的,用于共享内存并行系统的多线程程序设计的一套指导性注释 (CompilerDirective)。OpenMP支持的编程语言包括C语言、C++和Fortran;而支持OpenMP的编译器包括SunCompiler,GNU Compiler和IntelCompiler等。OpenMP提供了对并行算法的高层的抽象描述,程序员通过在源代码中加入专用的pragma来指明自己的意图,由此编译器可以自动将程序进行并行化,并在必要之处加入同步互斥以及通信。当选择忽略这些pragma,或者编译器不支持OpenMP时,程序又可退化为通常的程序(一般为串行),代码仍然可以正常运作,只是不能利用多线程来加速程序执行。
OpenMP提供的这种对于并行描述的高层抽象降低了并行编程的难度和复杂度,这样程序员可以把更多的精力投入到并行算法本身,而非其具体实现细节。对基于数据分集的多线程程序设计,OpenMP是一个很好的选择。同时,使用OpenMP也提供了更强的灵活性,可以较容易的适应不同的并行系统配置。线程粒度和负载平衡等是传统多线程程序设计中的难题,但在OpenMP中,OpenMP库从程序员手中接管了部分这两方面的工作。
但是,作为高层抽象,OpenMP并不适合需要复杂的线程间同步和互斥的场合。
OpenMP的另一个缺点是不能在非共享内存系统(如计算机集群)上使用。在这样的系统上,MPI使用较多。
摘自:http://www.oschina.net/p/openmp/
- OpenMP多核并行框架概述
- 多核并行编程之OpenMP
- OpenMP多核并行化编程
- OpenMP系列--初次体验多核并行编程
- python--用 OpenMP 并行多核加速 Python!
- ForkJoin多核并行框架总结
- 我所了解的多核处理器与OpenMP并行计算
- Cython 0.15,用 OpenMP 并行多核加速 Python!
- Cython 0.15,用 OpenMP 并行多核加速 Python!
- 测试树莓派是否支持OpenMP多核并行操作的代码
- OpenMP: OpenMP并行程序设计
- OpenMP: OpenMP嵌套并行
- OpenMP: OpenMP嵌套并行
- 多核并行
- 关于在VC6.0+icc9.0组合下使用openmp进行多核并行运算的总结
- OpenMP: OpenMP概述
- OpenMP: OpenMP概述
- OpenMP多核程序设计
- iOS从info.plist 获取项目的名称及版本号
- Oracle重做日志管理
- [Oracle] Oracle UNDO常用操作
- 估算Undo表空间大小
- oracle本地索引分区、全局索引分区…
- OpenMP多核并行框架概述
- VelocityTracker监控速度
- OpenMP与C++:事半功倍地获得多线…
- 正则表达式常用例子
- OpenMP与C++:事半功倍地获得多线…
- [Linux] Error: no `server’ JVM at … jvm.dll
- 最大子矩阵和(nyist 104)动规
- [Linux] linux中profile与bashrc的区…
- 如何在ubuntu桌面上显示我的电脑、…