お知らせ+活動記録+たわごと

HP と Twitter を補完するとともに、互いの密接な連携を図るため、本ブログを開設した。三位一体を目指す。情報提供、広報活動、教育・啓蒙活動の一環として、肩の力を抜き、冗長性を廃し、簡にして要を得た文章を書くよう心がける。
<< December 2017 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>
 
MOBILE
qrcode
PROFILE
無料ブログ作成サービス JUGEM
 
OS X 用 RIETAN-FP のビルドについて
現在配布中の OS X 用 RIETAN-FP, lst2cif, MADEL は Apple の開発環境 Xcode 3.2.6とコンパイラー Intel Fortran Composer XE 2011 (Update 12: sp1.13.380) という旧バージョンペアでビルドした。ただし Xcode は Makefile に記述した指示に従ってコンパイル・リンクするために UNIX ユーティリティー make を使うためにインストールしたに過ぎず、その本体である GUI 開発環境は利用していない。ちなみに Xcode 4.2 以前は黙っていても make が /usr/bin にインストールされていたのに対し、Xcode 4.3 からは Command Line Tools をインストールしなければならなくなった。以下、一世代前のコンパイラーで開発せざるを得なくなった経緯をメモ代わりに記しておく。

8月初旬に三重大学の次世代型電池開発センターを訪問したとき、最新版のペア、すなわち Xcode 4.6.3+Intel Fortran Composer XE 2013 (update 5) でビルドした RIETAN-FP が OS X 10.7上では異常終了してしまうというトラブルを指摘された。その前に、別な方から Mac OS X 10.6上でも動かない('452 Segmentation fault' のエラーが発生)という報告も受けていた。原因は不明だが、OS X 10.8を OS とする MacBook Pro Retina でビルドしたためかもしれない。

そこで、Xcode 3.2.6 + XE 2011の組み合わせにより再ビルドしたところ、Mac OS X 10.6以降の OS で実行できるようなった。その過程で、リンクオプション -L なしでもビルドでき、生成したコードは OS X 10.6以降の OS 上で動くことがわかった。購入以来5年経った古参 MacBook Pro (Core 2 Duo, Mac OS X 10.6) が大いに役立った。

MacBook Pro Retina+Xcode 4.6.3+XE 2011の組み合わせでビルドした RIRTAN-FP は MacBook Pro では実行できなかった。もちろん MacBook Pro Retina では動く。Xcode 4.6.3+XE 2013 でビルドしたコードより高速だった。

摩訶不思議なことに、Xcode 4.6.3+XE 2013でビルドした RIETAN-FP を OS X 10.8上で実行すると、Xcode 3.2.6+XE 2011でビルドしたプログラムに比べ、かえって遅くなってしまう。毎年、高価なライセンス料を払っているにもかかわらずこの有様では、立つ瀬がない。インテルの技術力を疑う。Intel Fortran Composer XE のライセンス更新は、もう止めたくなってきた。

演算幅が156 bit の拡張命令 AVX (Intel Advanced Vector eXtentions) するために、コンパイラーオプションを
FCFLAGS=-O3 -arch AVX -axAVX -march=corei7-avx -xAVX -assume buffered_io -inline-level=2 -ipo -fixed -warn nogeneral
に変更してビルドしたバージョンも作成し、RIETAN-FP_OS_X_AVX.zip という圧縮ファイルで配付し始めた。AVX命令を実装した第二世代 Core i7以降の CPU を装着した PC で実行できる。AVX 対応プロセッサでは SSE レジスターが256 bitに拡張されており、浮動小数点演算が高速化する。RIETAN-FP_OS_X_AVX.zip を解凍して得られるバイナリーファイル rietan を /Applications/RIETAN_VENUS/rietan と置き換えれば、RIETAN-FP が多少高速化する。後に64ビット版 Windows で実行可能なコードのアーカイブファイル RIETAN-FP_Windows_AVX.zip もアップロードした。

余談だが、Xcode 3.2.6を OS X 10.8の Mac (Mac Pro と MacBook Pro Retina) にインストールして、惨憺たる目にあった。インストール中に OS が壊れてしまったのである。Xcode 3.2.6は Mac OS 10.6専用だと知ったのは、Mac が立ち往生し、再起動もできなくなった後だった。とりあえずルーターにより無線 LAN 接続できる自宅で Command-R を押しながら MacBook Pro Retina を起動し、OS X 10.8 を再インストールした。アプリケーション、ユーティリティー、データなどが無傷で残っていたのは不幸中の幸いだった。液晶ディスプレイが故障している上、鈍重さが目立ってきた Mac Pro には見切りを付け、OS X を再インストールせずに放置している。

これほど手間暇かけて旧 OS 用のプログラムを提供しようとする駆動力は何なのか。今や公共的ソフトウェア資産とみなされている RIETAN-FP という重荷を一人で背負い、精一杯期待に応えていこうとする強固な意志なのだと思う。長年にわたり育んできた Mac を愛でる心も、明らかに背中を押している。
コメント
コメントする









 

(C) 2017 ブログ JUGEM Some Rights Reserved.