3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

FortranAdvent Calendar 2024

Day 22

【lFortran】JupyterでFortranを使う

Last updated at Posted at 2024-12-22
1 / 16

私個人の話で恐縮ですが、「ギークハウス新宿」というエンジニア中心のシェアハウスの運営に関わっています。

勉強会・懇親会等のイベントを開催しております。内見等興味ある方はお気軽にこちらまでご連絡ください。

JupyterLabでlFortranを使ってインタラクティブにFortran開発を始めよう


はじめに

Fortranは科学技術計算の分野で長年使われている言語ですが,従来のワークフローではコンパイル・実行のサイクルが必要で,試行錯誤が少し面倒でした.lFortranとJupyterLabを組み合わせることで,PythonのようにインタラクティブにFortranのコードを実行できる環境を構築できます.

この記事では,lFortranをJupyterLabで使用するための環境構築から基本的な使い方まで,実践的なガイドを提供します.


lFortranとは?

lFortranは現代的なオープンソースのFortranコンパイラで,以下の特徴があります:

  • インタラクティブなFortran実行環境(REPL)を提供
    • LLVMをコンパイラ基盤として利用することでJITコンパイルによって実現
  • Jupyter対応のカーネルを搭載
  • モダンなFortran機能をサポート
  • 高速なコンパイルと実行

環境構築

ここでは,JupyterLabを使ってlFortranを動作させる方法について説明します.
(lFortranをインストールすればVSCodeのJupyter拡張機能をつかって,VSCode上でも動作させることが可能なはずです.)


必要なツール

以下のツールを準備します。

  • JupyterLab: インタラクティブなノートブック環境
  • lFortran: Fortranのインタラクティブ実行を可能にするオープンソースのコンパイラ
  • mambaまたはconda: 環境構築と依存関係の管理ツール

手順

lFortranをJupyterLabで使えるようにする手順を説明します.


1. mamba/condaのインストール

まず,condaをインストールします.Miniforgeを使うのがおすすめです.

インストール手順に従ってMiniforgeをインストールします.

# UNIX系の場合
curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).sh

# Homebrewの場合
brew install miniforge

インストール後、以下のコマンドでmambaが正しくインストールされていることを確認します。

mamba --version

2. 新しい環境の作成

次に、JupyterLabとlFortran用の環境を作成します。

mamba create -n lf jupyter lfortran -c conda-forge

このコマンドは以下を行います.

  • lfという名前の新しい仮想環境を作成
  • JupyterとlFortranをインストール
    • lFortranをインストールすると自動的にlFortranカーネルがJupyterに登録される
  • conda-forgeチャンネルから必要なパッケージを取得

環境を有効化します。

mamba activate lf

3. JupyterLabの起動

以下のコマンドでJupyterLabを起動します。

jupyter lab

ブラウザが自動的に開き、JupyterLabのLauncherページが表示されます。

問題なくiFortranカーネルが登録されていれば,下図のようにFortran(lFortran)のノートブックが選択できるようになっているはずです.

JupyterLabのLauncher画面

これでFortranコードをインタラクティブに実行できる環境が整いました.


Fortranコードの実行例

以下に,簡単なFortranコードを実行する例を示します.


基本的な計算

以下のコードをノートブックのセルに入力し,実行します.

print *, "Hello, Fortran!"
end

出力:

 Hello, Fortran!

配列操作

次に,配列の操作を試します.

program array_example
    implicit none
    integer, dimension(5) :: array
    integer :: i

    ! 配列に値を代入
    do i = 1, 5
        array(i) = i * i
    end do

    ! 配列の内容を表示
    print *, "Array values:", array
end program array_example

出力:

 Array values:  1  4  9  16  25

数値計算

次の例では数値積分を計算します.

program integration_example
    implicit none
    real :: result

    result = 0.0
    result = result + (1.0 / 3.0) ! Integral of x^2 from 0 to 1

    print *, "Integral of x^2 from 0 to 1:", result
end program integration_example

出力:

Integral of x^2 from 0 to 1: 0.33333334

トラブルシューティング

lFortranカーネルが見つからない場合は下記の点を確認してみてください.

  • conda環境が正しく有効化されている。
  • jupyter --pathsを実行して、カーネルのディレクトリにlfortranが含まれていることを確認。

まとめ

この記事では,JupyterLabでlFortranを使ってFortranコードをインタラクティブに実行する方法を解説しました.この環境を利用することで,Fortranのコードを効率的に試行錯誤したり,科学技術計算に応用することが可能になります.Fortranの学習やプロトタイピングにぜひ活用してみてください.


参考リンク

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?