GCCでNPBをコンパイル

NPB(Nas Parallel Benchmark)をGCCを内部で使うMPICHでコンパイルする方法がやっとわかった。乱数生成機をデフォルトのrandi8からranddpに変えればいいだけ。randdpに変えると遅くなるらしいけど。
オレってバカだなぁ。前々から乱数生成機のコンパイルに失敗しているのはわかってたけど、NPBのオプションで乱数生成機を変えることができることを知らなかったなんて。それを知らずに、今までずっとIntelコンパイラを使ってたよ。いろいろとめんどくさい思いしながら。まぁ、いまだにFTのコンパイルはできないんだけど。普通にmakeすると同じ名前の変数が2回宣言されちゃうのはわかってて、それを直してみたんだけど、やっぱりダメ。Intelコンパイラならそこだけ直せばOK。暇なときに調査してみよう。
ちなみに、乱数生成機がrandi8のときにGCCコンパイルできないのは、raid8iでは一部にFortran90の機能を使っているから。一方で僕の使っているGCC2.95と3.3ではFortran77の文法しかサポートしていない。GCC4になるとどうだか知らないけど。