在OpenMP的Runtime Library中有一些常用的函数,有些函数已经在前面的例子中使用过,现在集中说明这些常用的函数以及用法。
1、设置线程数目
其定义如下:
voidomp_set_num_threads(int num_threads);
通过该函数来指定其后用于并行计算的线程数目,其中参数num_threads就是指定的线程数目。
2、获取线程数目
其定义如下:
intomp_get_num_threads();
通过该函数可以获取当前运行组中的线程数目,如果是在并行结构中使用该函数,其返回的就是现在并行计算中的所有的线程总数,如果是在串行中使用该函数,其返回值就为1。
3、获取最多线程数目
其定义如下:
intomp_get_max_threads();
该函数将返回最多可以用于并行计算的线程数目。
4、返回线程ID
其定义如下:
int omp_get_thread_num();
通过该函数可以返回当前线程的ID,如果使用该函数时处于并行结构中,它返回的就是这个并行线程的ID,如果在串行中,就是返回主线程的ID。
5、获取程序可用的处理器数目
其定义如下:
int omp_get_num_procs();
该函数将返回可用于程序的处理器数目(其实是线程数目)。
6、获取时间
其定义如下:
doubleomp_get_wtime();
该函数返回为时钟运行的时间,单位为s,如果现在时刻为11:40:30.8,则该值为11*3600+40*60+30.8=42030.8。在程序运行开始和即将结束时使用调用这个函数可以用于计算程序运行的时间。
7、是否处于并行中
其定义如下:
intomp_in_parallel();
该函数返回值为0表示现在处于串行程序中,值为1表示现在处于并行程序中。
关于这些常用函数的具体用法及含义如下例所示:
运行程序,其结果如下:
主线程中:
线程数目:1
最多线程数目:8
当前线程ID:0
程序可用的处理器数目:8
程序开始运行时间:42747.9s
程序是否处于并行:0
是否允许并行嵌套:0
程序开始并行:
程序是否处于并行:1
线程数目:8
当前线程ID:0
程序是否处于并行:1
线程数目:8
当前线程ID:1
程序并行结束!
程序结束时间:42747.9s
程序运行时间:0.0105584s
分享到:
相关推荐
摘要:本教程涵盖了OpenMP 3.1的大多数主要功能,包括其用于指定并行区域,工作共享,同步和数据环境的各种结构和指令。还涵盖了运行时库函数和环境变量。本教程包括C和Fortran示例代码以及实验室练习。 本教程对于...
一部经典教材的ppt的补充,本人自己做的,很辛苦!
1.分别实现梯形积分法的Pthread、OpenMP版本,熟悉并掌握OpenMP编程方法,探讨两种编程方式的异同。
在OpenMP中使用task子句,把循环处理并行化,提高执行性能
练习openmp
很不错OpenMP入门资料,中文的 从qq空间转载过来的,已经转成pdf 图文并茂
八、OpenMP中的常用函数 33 1、设置线程数目 33 2、获取线程数目 33 3、获取最多线程数目 33 4、返回线程ID 33 5、获取程序可用的处理器数目 33 6、获取时间 34 7、是否处于并行中 34 九、同步 35 1、互斥同步 39 2...
openmp 实现矩阵乘法的并行化加速,采用八线程
OpenMP 4.5版本官方手册,OpenMP Application Programming Interface version 4.5
多核并行编程中,openmp作为一个不错的选择,此文档对openmp的特点,编程特性跟据例子进行讲解,有助于快速掌握openmp的编程
openmp快速入门,简单的介绍了openmp的用法,一目了然
OpenMP并行计算例子,主要包括简单例子、并行循环、常用函数、分段并行、嵌套并行、求π以及同步这些例子。所有例子都已经过测试。
作为在桌面系统上兴起的技术,OpenMP在PC平台上已经非常成熟,但是在嵌入式领域,尤其是Android的开发...Google推出的NDK R9提供了对OpenMP函数库的支持,本文介绍了OpenMp在Android上的运用,并对存在的问题进行了修正。
详细讲解eclipse下配置OpenMP的过程及相关资源下载。
openMP学习
openmp是针对C,C++,Fortran的开源并行计算支持头文件,openmp速查表便于快速查阅命令。
OpenMP计算Pi的值
openmp, 在http中,镜像的官方openmp库位于 如何构建 LLVM* OpenMP*库这里知识库要求 CMake v2.8.0或者更高版本。 LLVM和Clang需要一个最新版本,它同样适用于树构建。 有关这里文档的详细信息,请参阅llvm文档和...
包含常用的源码例子,不错;并行循环,常用函数,分段并行,嵌套并行,求Pi,同步
java openmp的一些论文 java openmp的一些论文 java openmp的一些论文 java openmp的一些论文 java openmp的一些论文