平衡点
2009/07/02
_ configure --with-netcdf-include が効いていない
なんと. spml の configure では--with-netcdf-include が有効になってなかった.
...これは困るな. ちょっと弄ろう
(追記)
done. cvs commit した.
_ 某所の ssl-verify-error
某所の Mail サーバ に spam フィルタ(bsfilter)を仕込んで撃墜した後に gmail へ転送していて, 偶に誤爆を check しています.
久々に誤爆の check の為に Mew の pop over ssl で接続したところ
Creating an SSL/TLS connection...FAILED (cert verify failure)
...おやー? 試しに openssl で接続してみた.
SSL-Session: Protocol : TLSv1 Cipher : AES256-SHA Session-ID: ---- Session-ID-ctx: Master-Key: ---- Key-Arg : None Start Time: 1246544403 Timeout : 300 (sec) Verify return code: 21 (unable to verify the first certificate)
確かに verify failuer です.mew には ssl-verify-level が設定できるので
(setq mew-ssl-verify-level 0)
としてみたら接続はできた.(( ちなみに, Mew が起動した mewstunnel は Mew を終了(Q) しても生きつづけるんだ. こういうモンかなぁ...))
lenny の機械で試しに接続したら
SSL-Session: Protocol : TLSv1 Cipher : AES256-SHA Session-ID: ---- Session-ID-ctx: Master-Key: ---- Key-Arg : None Start Time: 1246544879 Timeout : 300 (sec) Verify return code: 0 (ok)
あら, 接続できましたよ.
/usr/share/ca-certificates 以下を比較してみたらEquifax_Secure_Global_eBusiness_CA.crt が無い.
調べてみたら ca-certificates の Bug 報告にありました
というわけで upgrade して dpkg-reconfigure ca-cetificates したら元に戻る.
...ca-cetificates の debconf. 「All」って選択肢欲しいなぁ, とかちょっと思った.
2009/07/08
_ 某所のパッケージを ITP する話, その 2
メモ書き
肝となる DCL -- 地球流体電脳ライブラリについて, 神代さんからメールを頂いた(感謝).
結局のところ, 認識は間違っていない(GPL 準拠)が, 明記していないのでちょっと困っている, で正しいのか.
- GPL 準拠, と書いているのはココ.
単に GPL, にすると困っちゃうかもしれない, というのはボスの以下のメール, かな.
ただし安直にやると企業(あるいは正確には卒業生等)が困ることになる. なのでできるだけ緩くしたいのだが, ちょうど良いのがない...
- ちなみに「GPL 準拠」だけでは多分不十分で, GPL の ver. どれに準拠なのかを明記する必要があるのでは無いだろうか.
- はてさて.
神代さん, ご連絡, 重ね重ねありがとうございました.
ちなみにパッケージングの現状もメモ
- ソース名
- dcl-f77, dcl-c
- パッケージ
- dcl-f77, dcl-c: metapackage
- libf77dcl5, libcdcl5: shared library and database
- libf77dcl-dev, libcdcl-dev: static library, header files, scripts and command
- dcl-f77-docs, dcl-c-docs: sample scripts, demo programs
- dcl-f77-utils, dcl-c-utils: post-processing awk scripts
- 同じモノなので統一しても良いかなぁ, とか思っている.
そして lintian の warning は
- binary-without-manpage
- csh-considered-harmful
の二つ.
binary-without-manpages は英語版ドキュメントあれば「ソコを見ろ」程度のページを書こうと思ったけれど,気力が...(笑).
csh-considered-harmful はまあ, 中身見ると別に sh で良いから, 適当に書いてしまおうか.
はてさて.
(追記)
csh-considerd-harmful 用にでっち上げる.dclfrt はこんなモンで良いでしょ.
#!/bin/sh # # Copyright (C) 2000-2009 GFD Dennou Club. All rights reserved. # set -e DCL_LDFLAGS=`dclconfig --ldflags` DCL_LDLIBS=`dclconfig --ldlibs` DCL_FC=`dclconfig --fc` DCL_FFLAGS=`dclconfig --fflags` NEW_ARGV="$DCL_FC $DCL_FFLAGS "$@" $DCL_LDFLAGS $DCL_LDLIBS" echo $NEW_ARGV $NEW_ARGV
あと dclcc はこんな塩梅で.
#!/bin/sh # # Copyright (C) 2000-2009 GFD Dennou Club. All rights reserved. # set -e DCL_LDFLAGS=`dclconfig --ldflags` DCL_LDLIBS=`dclconfig --ldlibs` DCL_CC=`dclconfig --cc` DCL_CFLAGS=`dclconfig --cflags` NEW_ARGV="$DCL_CC $DCL_CFLAGS "$@" $DCL_LDFLAGS $DCL_LDLIBS" echo $NEW_ARGV $NEW_ARGV
あと grph2/g2pack/g2pk{01,02} が segmentation fault だってのは多分解決しているハズ.
(追記) copyright 修正しました.
2009/07/09
_ HDF5EOS の debian パッケージ作成中
install script があんまりなのでクラクラする.
_ MPICH2 と OpenMPI
そういえば, どっち使うのが良いんだろう.
_ gtool5 の OpenMP 非対応?
一晩寝かせてから投げることにして. とりあえずメモ
環境
- OS:
- Debian GNU/Linux sqeeze/sid
- Compiler:
-
- gfortran 4.3.3 with or without MPI (OpenMPI 1.3.2)
- Fujitsu Fortran 64bit ver.1 with or without MPI (OpenMPI 1.3.2)
- NetCDF:
- netcdf 3.6.2
- gtool5
- gtool5-20090704
現状
Fujitsu でも gfortran でも OpenMP を有効にするとテストで転ぶ.
症例 1
- Compiler:
- Fujitsu Fortran, without MPI.
OpenMP を有効(-KOMP)にすると以下のテストで転ぶ
$ make test-installed ... make[3]: `histtest' は更新済みです make[3]: ディレクトリ `/home/uwabami/work/GFD/gtool5-20090704/test' から出ます *** PutLine test ** #<GT_HISTORY:: @initialized=no> *** MESSAGE [HistoryCreate3] *** "xhisttest/xhisttest1.nc" is created (origin=0. [s]) *** MESSAGE [HistoryCreate3] *** "xhisttest/xhisttest9.nc" is created (origin=0. [s]) *** ERROR (Code -117) [GTVarGetPointerReal1] *** invalid allocated size histtest.sh: line 45: 10560 アボートしました./histtest 2> xdifs.log Error: stderr is output to xdifs.log . make[2]: *** [test] エラー 1
- OpenMP を有効にしない場合には, テストは通る(このエラーは出ない).
- gfortran では OpenMP を有効にした場合(-fopenmp)でも, テストは通る.
- MPI を有効にしても同様
症例 2
- Compiler:
-
- gfortran with MPI
- Fujitsu Fortran with MPI
OpenMP を有効(-fopenmp, -KOMP) にした場合に, test-mpi-installed で以下のエラー.
$ make test-mpi-installed ... make[3]: `histtest_mpi' は更新済みです make[3]: ディレクトリ `/home/uwabami/work/GFD/gtool5-20090704/test' から出ます *** MESSAGE [HistoryCreate3] *** "xhisttest_mpi/xhisttest_mpi1_rank000001.nc" is created (origin=0. [sec.]) *** MESSAGE [HistoryCreate3] *** "xhisttest_mpi/xhisttest_mpi1_rank000003.nc" is created (origin=0. [sec.]) *** MESSAGE [HistoryCreate3] *** "xhisttest_mpi/xhisttest_mpi1_rank000000.nc" is created (origin=0. [sec.]) ... *** MESSAGE [HistoryClose] *** "xhisttest_mpi/xhisttest_mpi10.nc" is closed making CDL files from original data files ................ done. making CDL files from generated data files ................ done. testing xhisttest_mpi1_rank000000.nc ...9a10,11 > lon:topology = "circular" > lon:modulo = 360.f Error: stderr is output to xdifs.log .
- gfortran, Fujitsu Fortran ともOpenMP を有効にしない場合にはテストは通る(エラーは出ない)
まとめ
というわけで, OpenMP + MPI のハイブリッド並列を実行しようとしても, 動作しない(かもしれない)のが現状.
I/O ライブラリが OpenMP に対応していないからと言って,本チャンのモデルが走らない, って事は無いとは思うんですがね.
要望
以下, 非常にどうでも良い(?)こと
- テスト実行後にテスト用の original な NetCDF が更新されるのはちょっと嫌. original な奴は更新しない or 更新されるモンはテスト時に自動生成して, 配布物には同梱しない方が良いと思ったりする.
mpiexec の指定(--with-mpiexec) が効かない事があるのですが, 何故?
- まあ configure の自動判定がちょっとアレなんだろうから,適当に書けば良いのですけれど.
... configure: error: "/usr/local/stow/openmpi-ffc/bin/mpif90" compiler does not support MPI. Specify MPI fortran compiler to "$FC"
- mpiexec 指定時に prefix にまで -mpi を付けるのはやりすぎだと思います.
- prefix の意味無いじゃん. 住みわけの為にそうしているのかな?
- にしても, なんか嫌.
(追記)
そういや OpenMP 有効にした際にはスレッド数指定していなかった. 関係無いと思うけれど.
(追記2)
OpenMPI と OpenMP が混乱しそうだったので修正.
(追記3)
OpenMP 有効にした時に test に転ぶのって, gt4f90io の頃からだった.エラーも同じ. むーん.
(追記4)
20090704 の更新で MPI 有効時に test に転ぶエラーは無くなりました.対応早い. さすが.
2009/07/15
_ ITP ふたつ
RubyNetCDFを ITP するために.
既にNarrayMissは ITP しているので, libdapとlibnc-dapを ITP してみた.
ものが NetCDF 関連だから debian-science あたりに聞いてみた方が良いのかな.
2009/07/25
_ gtool5 の OpenMP 非対応?
パッケージ作成も佳境に入ってきましたが...
Fortran diagnostic messages: program name(HistoryGetDouble1) jwd2408i-i "historyget.F90", line 585: Overflow or underflow occurred during calculation of iteration count, or iteration count 0 or negative. Fortran diagnostic messages: program name(HistoryGetReal1) jwd2408i-i "historyget.F90", line 2811: Overflow or underflow occurred during calculation of iteration count, or iteration count 0 or negative. Fortran diagnostic messages: program name(HistoryGetInt1) jwd2408i-i "historyget.F90", line 4983: Overflow or underflow occurred during calculation of iteration count, or iteration count 0 or negative.
...さて?
_ 明日 10:00 の飛行機で札幌行きます.
目的は惑星科学フロンティアセミナー なのですが, 前日入りします(( いつのまにか, 惑星科学会の SSL, ヲレヲレ証明書になってるな )).
土曜の夜暇な人は連絡を来れたら良いと思うよ.