とりあえず、以下のコードを実行すればテキスト出力が4スレッド並列に実行されると思います。
visual studio なら、プロジェクトの設定 -> プロパティー -> Fortran -> 言語 -> OpenMP識別子の処理を、並列化コードを出力などへ変えておきます。
PROGRAM program1
USE lib_omp
WRITE(6,*) "Thread ID =" , omp_get_thread_num()
END
実行されない場合、上記コードが確実に正しいとは限りませんがもう一度見直してみてください。
実は、並列化で必要なプログラムコードはこれだけです。↑にあったコードのうち、
omp_get_thread_num()
が、現在自分が実行されているスレッド番号を取得する関数になります。0から始まるインデックスです。つまり、
スレッド番号を使って実行すべきサブルーチンを場合分けする。
あるいはサブルーチンに渡す引数を変えれば良いのです。これでそれぞれのサブルーチンは並列に実行されます。