多核程序设计.pptVIP

  • 17
  • 0
  • 约8.35千字
  • 约 30页
  • 2017-03-13 发布于湖北
  • 举报
多核技术 OpenMP多线程编程基础 共享内存多线程应用程序的Fork-Join模型如图 主线程运行中,遇到并行编译指导语句,根据环境变量派生出线程 某个派生线程遇到另一个编译指导语句,又派生出另外一组线程。 新线程组在通过一个隐含的同步屏障后,汇合成原有的线程。 OpenMP多线程编程基础 OpenMP同时支持C/C++语言和Fortran语言,可选择任意一种语言及支持OpenMP的编译器编写OpenMP程序。 OpenMP应用程序的三个组成部分 编译指导语句 运行时库函数 环境变量:通过环境变量的方式可以灵活控制程序的运行。 例如:通过环境变量OMP_NUM_THREADS值控制运行的线程的数目 OpenMP多线程编程基础 运行时库函数 使用运行时函数库所包含的函数,必须在相应的源文件中包含OpenMP头文件,即#include “omp.h” 四个最常用的OpenMP库函数 int omp_get_num_threads(void)返回当前使用的线程个数。 int omp_set_num_threads(int NumThreads)在进入并行区域前,该函 数设置将要使用的线程个数。 int omp_get_thread_num(void)返回当前线程号,值在0(主线程)到线 程总数减1之间。 int omp_get_num_procs(void)返回可用的处理核(处理器)个

文档评论(0)

1亿VIP精品文档

相关文档