`
cloudeagle_bupt
  • 浏览: 539075 次
文章分类
社区版块
存档分类
最新评论

POSIX标准, PThread和OpenMP

 
阅读更多


POSIX 表示可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX 是为了读音更像 UNIX)。

电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)最初开发 POSIX 标准,是为了提高 UNIX 环境下应用程序的可移植性。具体的说 POSIX 是 IEEE 为要在各种 UNIX 操作系统上运行的软件定义 API 所规定的一系列互相关联的标准的总称,而 X 则表明其对 Unix API 的传承。

Linux 基本上逐步实现了 POSIX 兼容,但并没有参加正式的 POSIX 认证。当前的 POSIX 文档分为三个部分:POSIX Kernel API,POSIX 命令和工具集,及 POSIX 一致性测试。Posix 线程(POSIX threads,又称 Pthreads)是负责 POSIX 的 IEEE 委员会开发的一套线程接口。

PThread和OpenMP的关系:

当运行在更多处理器可用的平台上时,使用这些 API 编写的软件如何扩充线程的数量?一种方法一直是使用线程池(threading pool),其中在程序启动时创建一束线程,将工作分配到线程上。然而,这种方法需要相当多的线程指定代码,而且不能保证能够随着可用处理器的数量而合理地进行扩充。通过 OpenMP,不需要指定数量。OpenMP 非常方便,因为它不会将软件锁定在事先设定的线程数量中。


参考: http://www.ibm.com/developerworks/cn/linux/theme/posix_thread/

http://software.intel.com/zh-cn/articles/threading-models-for-high-performance-computing-pthreads-or-openmp


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics