Skip to content

Examples of usage of Fortran OSS used in the lecture of HPFPC 6th Parallel Fortran Symposium

License

Notifications You must be signed in to change notification settings

degawa/hpfpc_fortran_oss

Repository files navigation

Examples of Fortran OSS for efficiency improvement of desktop development environment

第6回並列Fortranシンポジウムでの発表「Fortran向けOSSを活用したデスクトップ開発環境効率化」(pdf)で紹介したFortran OSSの使用例.

発表内では,下記のOSSの使用例を紹介した.

  • Fortran stdlib
  • JSON-Fortran
  • VTKFortran
  • fypp
  • fprettify

応用例として,JSON-Fortranから設定ファイルを読み込み,距離関数を計算し,VTKFortranを用いてvtr形式で出力するプログラムも紹介した.ロギングやエラーチェックにはstdlibを用いている.

リポジトリ内容の取得

--recursiveオプションを付けてクローンする.

git clone --recursive https://github.com/degawa/hpfpc_fortran_oss

--recursiveオプションを付けずにクローンした場合は,git submoduleコマンドを利用して,参照するリポジトリの内容も取得する.

git clone https://github.com/degawa/hpfpc_fortran_oss
cd hpfpc_fortran_oss
git submodule update --init --recursive

このリポジトリ内でまとめてクローンする必要はなく,使用例を個別にクローンしてもよい.

要求ソフトウェア

fpmの学習について

発表の中ではfpmの利用方法について,その利用方法の詳細な導入は行わなかった.しかし,fpmの学習についても考慮しており,使用例の中で様々な機能を活用している.

下記の順番で作業をしていくと,fpmに躓くことなく一定の使い方を学習できると考えている.ただし,fpmが標準コンパイラとして参照するgfortranを利用する場合であり,Intel Fortranを用いる場合はいくつか手順が省略される.

  1. fpm newで新しくプロジェクトを作り, fpm build, fpm run, fpm testを実行する.
  2. stdlibの使用例(ex_stdlib)あるいはJSON-Fortranの使用例(ex_jsonfortran)を実行する.
    • 依存プロジェクトの参照方法
  3. VTKFortranの使用例(ex_vtkfortran
    • ビルドの際に,コンパイラにオプションを渡す方法
    • 依存プロジェクトがさらに別のプロジェクトを参照している際の挙動
    • ビルドだけでなく,実行の際にもコンパイル時と同じオプションが必要であること
  4. ex_io
    • 複数の依存リポジトリの参照方法
  5. fyppの使用例(ex_fypp
    • exampleの使用方法
    • 複数の実行ファイルのビルド
    • 実行可能な実行ファイルの確認方法,選択して実行する方法

言及したOSS

使用例を紹介する時間はなかったが,下記OSSに言及した.

  • FORD
    • ドキュメント生成ツール
  • TOML-Fortran
    • FortranでTOMLファイルを取り扱うためのAPIを提供
  • M_CLI2
    • コマンドラインオプションの取り扱いを改善
  • vegetables
    • BDDスタイルのテストフレームワーク
  • GTK-Fortran
    • GIMP ToolkitのFortranバインディング
  • Quickstart Fortran on Windows
    • Windows用のFortran環境のインストーラ
      • gfortran, fpm OpenBLAS, make
      • intelコンパイラの環境変数を設定するためのバッチファイル
      • stdlibをインストールするためのバッチファイル

About

Examples of usage of Fortran OSS used in the lecture of HPFPC 6th Parallel Fortran Symposium

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published