内容へ移動
Applied Mechanics wiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
fortran:ifort
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== ifort ====== * スパコンで使うことが前提 * [[http://web.kudpc.kyoto-u.ac.jp/manual/ja/compiler/intel|kudpc]] を参照. ===== コンパイラオプション ===== [[http://accc.riken.jp/HPC/training/text.html ]] [[http://www.k.mei.titech.ac.jp/~stamura/NumericalComputation-Tips.html]] これくらいオプションをつけて実行すれば,だいたいエラーは検出されそう. <code bash> ifort -check all -warn declarations -CB -fpe0 -traceback </code> [[fortran#コンパイラオプション]]も参照のこと ===== デフォルトのスタックサイズが小さすぎる ===== デフォルトのスタックサイズが小さすぎて、-openmpをやるときはスタックサイズを増やしてあげないと、頻繁にセグ落ちする。 <code fortran> !$OMP parallel write(*,*) KMP_GET_STACKSIZE_S() !$OMP end parallel </code> とやると、各スレッドのスタックサイズを返す。これを増やす場合は、最初の!$OMPの前に、 <code fortran> CALL KMP_SET_STACKSIZE_S(size) </code> とやれば良い。sizeは整数型の変数。所望のスタックサイズ(byte)を書けばよい。 ===== 改行の抑制 ===== ifortでは出力時に勝手に改行する仕様になっている。 改行を抑制するためには、Format文を使用すればよい。 適当なやり方。 <code fortran> write(*,'(100f)') a(:) </code> きちんとしたやり方。以下2chより引用。 [[http://pc12.2ch.net/test/read.cgi/tech/1163319215/532]] <code> 532 名前:デフォルトの名無しさん [sage]: 2009/03/27(金) 05:59:41 亀だけど、Ifortなら<>がお勧め。 多次元配列の最初の数を入れることが多いです 例 program main implicit none integer,parameter :: num = 9 integer :: ii,jj real :: arry(num,num) do ii=1,num do jj = 1,num arry(ii,jj) = ii*jj enddo enddo write(6,'(<num>F)') arry end program </code> ====== MKL ====== [[http://web.kudpc.kyoto-u.ac.jp/manual/ja/library/mkl|kudpc]] に記載あり. <code bash> module load mkl </code> してから,コンパイル.お手軽. <code bash> ifort sample.f90 -mkl </code> ====== pardiso の使い方====== pardisoを用いた連立一時方程式の解き方. スパコンの <code> /opt/app/intel/composer_xe_2013.5.192/mkl/examples/solverf/source/ </code> に入っているサンプルデータを参考に,走らせたいプログラムを作成する. 中身はこんな感じ 配列の設定に注意が必要,詳しくは以下を参照 [http://www.pardiso-project.org/manual/manual.pdf] コンパイラオプションは <code> -mkl </code> でお手軽♪
fortran/ifort.1414042314.txt.gz
· 最終更新: 2017/10/03 12:55 (外部編集)
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ