OpenMP程序设计基础
首先,我们说了OpenMP在Linux下的编译/运行方法
g++ -fopenmp -o hello.o hello.cpp
./hello.o
接着,我们聊到了OpenMP程序结构,与C语言相同,由main函数开始,return 0为结束(整体来看为串行)
我们在串行区,通过编译指导语句#pragma omp parallel [字句] {语句块},来构造并行区
换言之,OpenMP程序结构:
串行→并行→串行
指令parallel构造并行区:(此处开始由多个线程并行执行)
#pragma omp parallel[字句]
{
代码块(此处开始写并行区的代码)
}
当然,我们还可以在构造并行区前,去指定并行区内线程个数。
omp_set_num_threads(8);
OpenMP常用函数
我们可以通过get_wtime来获取系统时间
omp_get_wtime()
如果我们建立两个变量,start_time和end_time,在程序开始时获得start_time,在程序结束时获得end_time,两时间相减就是程序运行时间。
注:如果程序运行时间较短,可以将时间用do