FreeBSD 9.0-R での Fortran 試用
備忘録。
FreeBSD の ports で利用できる Fortran コンパイラ(fortran95対応)
- lang/g95
- lang/gcc* (gfortran* コマンド)
g95
インストール
# portinstall -PP g95
実行
$ export LIBRARY_PATH=/usr/local/lib $ g95 -o hoge hoge.f95
補足
g95 コマンド実行時に下のように表示された場合は,exportされていない可能性大。
ld: cannot find -lf95
gcc* (gfortran* コマンド)
今回はgcc46。gcc42などでも同じ。
インストール
# portinstall -PP gcc46
実行
$ gfortran46 -o hoge hoge.f95
比較
おまけ。
環境
CPU | Core 2 Duo T7200 @ 2.00[GHz] |
Memory (avail memory) | 2929 [MB] |
OS | FreeBSD 9.0-RELEASE amd64 |
FreeBSD 用に新しい機材がほしいところ。
ファイルサイズ
定番の Hello World プログラム。
program hello print *, 'Hello World!' end program hello
コマンド名 | サイズ [B] |
---|---|
g95 | 739333 |
gfortran46 | 7592 |
g95 で生成したバイナリのサイズが大きすぎる。
readelf コマンドで見てみると .symtab のシンボルが 705個。
必要ないものも含めてリンクされている様子。
ベンチマーク
理化学研究所で提供されいている「姫野ベンチマーク」を利用。
http://accc.riken.jp/HPC/HimenoBMT.html
クラスタでもなんでもない,単一マシンでの計測なので不適切な選択だろう。
計算サイズは XS 。最適化オプションはどちらも -O3 のみ。
コマンド名 | MFLOPS(3回の平均) |
---|---|
g95 | 507.4465 |
gfortran46 | 846.0841 |
この場合,個別の性能値にはあまり意味はない。
ただ,両者の結果を比較すると,gfortran46 でコンパイルしたバイナリの方が 1.67 倍高い性能を出している。
他のベンチマークなら違う結果かもしれない。