差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
openmp [2009/06/24 09:29]
10.249.202.217
openmp [2009/12/24 22:29]
isakari
ライン 3: ライン 3:
   * 使い方は以下の文献を参考に   * 使い方は以下の文献を参考に
     * [[http://​download.intel.com/​jp/​business/​japan/​pdf/​527J-002.pdf|インテル® Fortran コンパイラー OpenMP* 活用ガイド]]が分かりやすい.     * [[http://​download.intel.com/​jp/​business/​japan/​pdf/​527J-002.pdf|インテル® Fortran コンパイラー OpenMP* 活用ガイド]]が分かりやすい.
-    * OpenMPによる並列プログラミングと数値計算法牛島省(著)を参考に+    * OpenMPによる並列プログラミングと数値計算法牛島省(著)も良い 
 + 
 +===== コンパイル方法 ===== 
 +  * gfortran -openmp file.f90 
 +  * ifort -openmp file.f90 
 +  * frt -KOMP -Am file.f90 ​ (thinの場合) 
 + 
 + 
 +===== 基本的なこと ===== 
   * !$ use omp_lib を最初に宣言.**!$とuseの間にはスペースが必要.**   * !$ use omp_lib を最初に宣言.**!$とuseの間にはスペースが必要.**
 <code fortran> <code fortran>
ライン 64: ライン 73:
 end program hoge end program hoge
 </​code>​ </​code>​
 +
 +  * doループが入れ子になっている場合,外側で回すのが一般的らしいFIXME.ただし,MPIとのハイブリッドの場合は外をMPI,内をOpenMPとするのが良いらしいFIXME.
 +<code fortran>
 +!$OMP do 
 + do i=1,n
 +   do j=1,m
 +     ​実行文
 +   end do
 + end do
 + !$OMP end do
 +</​code>​
 +
 + ===== threadprivate =====
 +moduleなどで、グローバル変数を定義している場合に、thread間ではその変数を共有しないで欲しいときに。
 +<code fortran>
 +module common
 +  implicit none
 +  real(8) a,b,c
 +!$OMP threadprivate(a,​b,​c)
 +end module common
 +</​code>​
 +
openmp.txt · 最終更新: 2011/02/21 15:58 by saito
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0