« 2025年もヴィレッジヴァンガード福袋を購入 | トップページ | CIO製の無線充電 & バンカーリングなものを買った »

2025年1月 4日 (土)

Windows 11でFORTRANをコンパイルしたい!という方への対処法

正月早々、妙な話題。今どきFORTRANなんて・・・と言っても、実際にそういう相談が来たので仕方ありません。
下記を参照しました。

【Fortran】コンパイラ gfortran のインストール(Windows編)【Hello, World!】 - LabCode

で、やり方ですが、思ったよりは簡単でした。

まず、下記より「minigw-builds」を入手します。これは、CやC++、FORTRAN系のコンパイラがまとまったもののようです。

Releases · niXman/mingw-builds-binaries

一覧の中から、Windows用のバイナリである「x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0.7z」を入手すればよさそうです。このファイル名をクリック。
(「14.2.0」や「v12」などは、バージョンアップなどによって変更されている場合があります。ご注意を)

すると圧縮ファイルがダウンロードされるので、右クリックして「すべて展開」で解凍しておいてください。
解凍後、「mingw64」というフォルダができます。

これを「C:\Program Files(x86)」に入れます。

で、そのままでは動かないので、Pathを通します。

下の検索窓で「環境変数」と打ちこむと、「環境変数を編集」という候補が出てくるので、これをクリック。
その中に「Path」というのがあるので、これをダブルクリック。

20250104-113706

一番下にある空白行をダブルクリックすると編集できるので、ここに「C:¥Program Files (x86)¥mingw64¥bin」というのを追加します。
これで、コンパイル環境の構築は完了。

上の元記事のリンク先のように「Hello World」と書かせてもいいんですが、学生時代に動かしていた派手な解析プログラムを持っているので、こいつを動かしてみました。

スタートメニューから「ターミナル」を開き、cdコマンドでプログラムのある場所まで移動します。例えば、「cd c:¥tmp¥TSFLOW」のような感じで入力し、エンターキーを押します。

20250104-113553

そこで、FORTRANコードを上のように「gfortran **.f」(**.f はプログラムコード)と打ちこみ、エンターキーを押します。
すると、コンパイル開始。

20250104-113606

オプションの指定なしだと、「a.exe」というファイルができるはずです。
そのまま、実行してみます。ターミナル上で「.¥a.exe」と入力してエンターキー。
(./a.exe でもいけます)

20250104-113624

すると、プログラムが無事、実行されました。

20250104-113630

コンパイラ自体はFORTRAN 95に対応しているようですが、FORTRAN 77のコードでも動きますね。

にしてもこのプログラム。1998年当時は実行に数十時間かかったはずですが、今や4分で終了。
マルチコア対応でもないので、たった一スレッドで動かしてこの速度。時代を感じますよね。

なんか昔のFORTRANコードを動かしたくなったなぁ・・・とか、未だにFORTRANを使い続けている人は、ご参考まで。


みんなのFortran?基礎から発展まで?

« 2025年もヴィレッジヴァンガード福袋を購入 | トップページ | CIO製の無線充電 & バンカーリングなものを買った »

数値解析系」カテゴリの記事

コメント

わぁ、タイムリーに他の方の記事でFortranの話を
読んでいたので、リアルなんだなと思いました。
私が読んでたのは少し前のスパコンのプログラムで
Fortranで記述した方が最適化されやすく計算時間が
短かったという経験則から古臭いのプログラムに
なっていたと書かれてました。今はコンパイラの
出来も良くなっていると思われますので、Fortran
一辺倒ではないでしょうが、今から勉強する際に
古いコードを読んだりする時は知識としてあった方が
良いのかもしれませんね。

しかし、何に使われるんでしょうかね?その方は。

> mokekyoさん
未だにNASTRANやLS-DYNAはFORTRANで書かれていると、どこかで聞いたことがあります。これがGPUによる分散処理に適用できなかった原因(アルゴリズムによるものがほとんどでしょうが)とも言われてますが、どうなんだか。

あまり詳しくは分からないのですが、昔から使われる統計手法や工程能力などの計算をさせるプログラムがFORTRANで書かれていて、それをずっと使っている方のようです。このため、計算速度はさほどかからないようなので、ともかくコンパイルして動けば何とかなるみたいでした。
以前はデュアルブートでLinux、次いでCygwinと来ましたが、今はこれが一番楽で変な環境設定を伴わない方法ですね。

コメントを書く

(ウェブ上には掲載しません)

« 2025年もヴィレッジヴァンガード福袋を購入 | トップページ | CIO製の無線充電 & バンカーリングなものを買った »

無料ブログはココログ

スポンサード リンク

ブログ村