openmp使用隨筆2 獲取openmp命令

2021-09-29 02:51:58 字數 894 閱讀 3902

1、設定執行緒數目

其定義如下:

void omp_set_num_threads(int num_threads);

通過該函式來指定其後用於平行計算的執行緒數目,其中引數num_threads就是指定的執行緒數目。

2、獲取執行緒數目

其定義如下:

int omp_get_num_threads();

通過該函式可以獲取當前執行組中的執行緒數目,如果是在並行結構中使用該函式,其返回的就是現在平行計算中的所有的執行緒總數,如果是在序列中使用該函式,其返回值就為1。

3、獲取最多執行緒數目

其定義如下:

int omp_get_max_threads();

該函式將返回最多可以用於平行計算的執行緒數目。

4、返回執行緒id

其定義如下:

int omp_get_thread_num();

通過該函式可以返回當前執行緒的id,如果使用該函式時處於並行結構中,它返回的就是這個並行執行緒的id,如果在序列中,就是返回主線程的id。

5、獲取程式可用的處理器數目

其定義如下:

int omp_get_num_procs();

該函式將返回可用於程式的處理器數目(其實是執行緒數目)。

6、獲取時間

其定義如下:

double omp_get_wtime();

該函式返回為時鐘執行的時間,單位為s,如果現在時刻為11:40:30.8,則該值為113600+4060+30.8=42030.8。在程式執行開始和即將結束時使用呼叫這個函式可以用於計算程式執行的時間。

7、是否處於並行中

其定義如下:

int omp_in_parallel();

該函式返回值為0表示現在處於序列程式中,值為1表示現在處於並行程式中。

OpenMp使用例子

參考 openmp是由openmp architecture review board牽頭提出的,並已被廣泛接受的,用於共享記憶體 並行系統的多執行緒程式設計 的一套指導性注釋 compiler directive openmp支援的程式語言 包括c語言 c 和fortran 而支援openmp的編...

OpenMP使用方法

本文 1.編譯指導指令 compiler directive 在c c 程式中,openmp的編譯指導指令以 pragma omp開始 例如 pargma omp 指令 子句 子句 子句的型別 2.執行庫函式 runtime library 3.環境變數 environment variables ...

使用Openmp並行化

執行命令 g fopenmp xx.cpp lgomp lpthread o xx.out 用例一 include include include void test int n printf d,n int main int argc,char ar 用例二 include include inc...