差分

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

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

Both sides previous revision Previous revision
Next revision
Previous revision
openmp [2009/06/24 09:18]
10.249.202.217
openmp [2011/02/21 15:58] (現在)
saito
ライン 1: ライン 1:
-====== OpenMPについて ====== +[[fortran:​openmp]]へ移動しました
- +
-  * 使い方は以下の文献を参考に +
-    * [[インテル® Fortran コンパイラー OpenMP* 活用ガイド|download.intel.com/​jp/​business/​japan/​pdf/​527J-002.pdf]が分かりやすい. +
-    * OpenMPによる並列プログラミングと数値計算法牛島省(著)を参考に. +
-  * !$ use omp_lib を最初に宣言 +
-<code fortran>​ +
-progaram hoge +
- +
- +
- +
- ===== 注意点 ===== +
-  * !$の後にOMPが続く場合は!$OMPと続けて書く.!$の後にOMPが続かない場合はスペースを入れる. +
-<code fortran>​ +
-program hoge +
-  !$ use omp_lib +
-  !$OMP parallel default(none) private(j) +
-  !$ j=omp_get_num_threads() +
-  !$ write(*,*) j +
-  !$ j=omp_get_thread_num() +
-  !$ write(*,*) j +
-  !$  +
-  !$OMP end parallel +
-end program hoge +
-</​code>​ +
-  * defaultの後は(none)が無難?FIXME +
-  * doループの制御変数はいわゆる定義済み変数になるので共有属性節((sharedとかprivateとかfirstprivateとか))に記述する必要はない.書くとすればprivateかfirstprivateのいずれか. +
-<code fortran>​ +
-program hoge +
-  !$ use omp_lib +
-  implicit none +
-  integer i,j,k +
-  !$OMP parallel default(none) private(j) +
-  !$OMP do +
-  do i=1,4 +
-     !$ j=omp_get_thread_num() +
-     !$ write(*,*) i,j +
-  end do +
-  !$OMP end do +
-  !$OMP end parallel +
-end program hoge +
-</​code>​ +
-  * !$OMPのついた文を改行するときは改行した文にも!$OMPが必要 +
-<code fortran>​ +
-program hoge +
-  !$ use omp_lib +
-  implicit none +
-  integer i,j,k +
-  k=-1 +
-  !$OMP parallel default(none) private(i,​j)&​ +
-  !$OMP & shared(k) +
-  !$ i=omp_get_thread_num() +
-  !$ j=omp_get_num_threads() +
-  !$ write(*,*) i,j,k +
-  !$OMP end parallel +
-end program hoge +
-</​code>​+
openmp.1245802719.txt.gz · 最終更新: 2009/06/24 09:18 by 10.249.202.217
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