次の方法で共有


目次

1. 概要

1.1 目的

1.2 用語の定義

1.3 実行モデル

1.4 準拠

1.5 標準リファレンス

1.6 階層

2. ディレクティブ

2.1 ディレクティブの書式

2.2 条件付きコンパイル

2.3 parallel コンストラクト

2.4 Work-sharing のコンストラクト

2.4.1 for のコンストラクト

2.4.2 sections のコンストラクト

2.4.3 single コンストラクト

2.5 結合された並行 worki-sharing のコンストラクト

2.5.1 parallel for コンストラクト

2.5.2 parallel sections のコンストラクト

2.6 マスター ディレクティブと同期ディレクティブ

2.6.1 master コンストラクト

2.6.2 critical コンストラクト

2.6.3 barrier ディレクティブ

2.6.4 atomic コンストラクト

2.6.5 flush ディレクティブ

2.6.6 ordered コンストラクト

2.7 データ環境

2.7.1 threadprivate ディレクティブ

2.7.2 データ共有属性句

2.7.2.1 private

2.7.2.2 firstprivate

2.7.2.3 lastprivate

2.7.2.4 shared

2.7.2.5 default

2.7.2.6 reduction

2.7.2.7 copyin

2.7.2.8 copyprivate

2.8 ディレクティブのバインディング

2.9 ディレクティブの入れ子

3. ランタイム ライブラリの関数

3.1 実行環境関数

3.1.1 omp_set_num_threads 関数

3.1.2 omp_get_num_threads 関数

3.1.3 omp_get_max_threads 関数

3.1.4 omp_get_thread_num 関数

3.1.5 omp_get_num_procs 関数

3.1.6 omp_in_parallel 関数

3.1.7 omp_set_dynamic 関数

3.1.8 omp_get_dynamic 関数

3.1.9 omp_set_nested 関数

3.1.10 omp_get_nested 関数

3.2 ロック関数

3.2.1 omp_init_lock 関数と omp_init_nest_lock 関数

3.2.2 omp_destroy_lock 関数と omp_destroy_nest_lock 関数

3.2.3 omp_set_lock 関数と omp_set_nest_lock 関数

3.2.4 omp_unset_lock 関数と omp_unset_nest_lock 関数

3.2.5 omp_test_lock 関数と omp_test_nest_lock 関数

3.3 タイミング ルーチン

3.3.1 omp_get_wtime 関数

3.3.2 omp_get_wtick 関数

4. 環境変数

4.1 OMP_SCHEDULE

4.2 OMP_NUM_THREADS

4.3 OMP_DYNAMIC

4.4 OMP_NESTED

A. 例

A.1 単純ループの並列実行

A.2 条件付きコンパイルの指定

A.3 並行領域の使用

A.4 nowait 句の使用

A.5 critical ディレクティブの使用

A.6 lastprivate 句の使用

A.7 reduction 句の使用

A.8 並行セクションの指定

A.9 single ディレクティブの使用

A.10 順番の指定

A.11 固定数のスレッドの指定

A.12 atomic ディレクティブの使用

A.13 リストでの flush ディレクティブの使用

A.14 リストのない flush ディレクティブの使用

A.15 使用されるスレッド数の確認

A.16 ロックの使用

A.17 入れ子にできるロックの使用

A.18 入れ子になった for ディレクティブ

A.19 Work-sharing ディレクティブの正しくない入れ子の例

A.20 barrier ディレクティブのバインディング

A.21 private 句付きのスコープ変数

A.22 default(none) 句の使用

A.23 ordered ディレクティブの例

A.24 private 句の例

A.25 copyprivate データ属性句の例

A.26 threadprivate ディテクティブの使用

A.27 C99 可変長配列の使用

A.28 num_threads 句の使用

A.29 critical コンストラクト内での work-sharing コンストラクトの使用

A.30 再プライベート化の使用

A.31 スレッド セーフなロック関数

B. ランタイム ライブラリ関数のスタブ

C. OpenMP C と C++ の文法

C.1 表記

C.2 規則

D. schedule 句の使用

E. OpenMP C/C++ の実装で定義されている動作

F. Version 2.0 の新機能と説明

参照

概念

OpenMP C および C++ アプリケーション プログラミング インターフェイス