地球流体データ解析・数値計算ワークショップ 04/01 午前ミーティング議事録

dennou ruby 周辺現状報告・議論: 堀之内

今年度の進捗

  • Ruby-DCL は最新版に対応済み (2022.3 版 by 乙部さん)
    • 最新 DCL が近々 update の予定 (PDF が出力されない問題への対応 by 乙部さん). その update を待って gem で update するのがおすすめ
  • Ruby-NetCDF が Ruby 2.x の場合 (x が大きい場合) に warning が出る問題に対処

来年度以降の課題

  • Ruby 3 対応
    • Ruby-NetCDF: テストがこける (Ruby 2 では問題なし)
    • Ruby 3.0.3: dup のテストで SEGV.
    • Ruby 3.1.1: allocator undefined で止めてくれる
    • この問題への筋のいい対処法が知りたい
      • dup/clone 関連
      • Ruby 拡張ライブラリ作成の手引きには情報がない

質疑・コメント

  • dup 問題について
    • 見なかったことにするのもありか? (佐々木)
    • dup をエリアスで clone にすればよいかも (乙部)
    • dup 本家に聞いてみないとわからない (佐々木)
    • taint は Ruby 3.2 から削除予定 (樫村)
    • ユーザとして使う分には dup がエラーしても問題ない (堀之内)
  • Ruby 開発関係者に講演してもらうか? (林)

debian package: 佐々木

今年度の進捗

  • 各パッケージについて Ruby 3 対応途中

来年度以降の課題

  • ISPACK3, spml2 を公式に入れる
  • ISPACK3 は用途に応じて rebuild できるようにする
    • デフォルトでパッケージインストールされる ISPACK3 は高速化されていないものが入る

質疑・コメント

  • Jenkins でパッケージ管理しているので参加したい人募集中
    • ただし, 最近では Docker でビルドするのが主流になりつつある
    • 今後はどうするの? (石渡)
      • GitHub 上でパッケージビルドするのもありかも
      • 学生さんを巻き込むなら Docker を触れるというメリットから巻き込めるかも

Windows installer/Ubuntu: 乙部

今年度の進捗

  • Ubuntu
    • LTS のみパッケージ作成 (直近では 20.04, 22.04)
    • 多くが debian に取り込まれたため, Ubuntu 単独で作業が必要なパッケージは数個
      • dcl は入っていないように見える
  • Windows
    • MinGW 版はリクエストがあるので作成している
    • IntelFortran 版, PGI 版はリクエストがあれば作成してもよい (あまりメリットはないかも)
    • WSL2
      • WSLg でよい場合も多い

質疑・コメント

  • Ubuntu で最新の Ruby 関連製品が出た場合はどうするか? (西澤)
    • Ruby 関係は gem でインストールすればよいのでは
    • debian パッケージで入れたい (西澤)
      • gem と重複を避けるため, パッケージインストールはあまり推奨されない
  • Ubuntu 20.04 の Ruby のバージョンはいくら?先述の Ruby 関連のワーニングが出ていないか? (堀之内)
    • 20.04 でワーニングが大量に出る (西澤)
  • WSL インストールは Windows Store から行うのでは? (西澤)
    • 結局はコマンドプロンプトによるインストールに案内されたはず
  • mobaXterm だけでできないことは何か? (はしもと)
    • X 関連の機能を使うだけなら特に何も問題ない
  • WSL/WLS2 のスピードはいかが? (林)
    • WSL2 はほとんど気にならない, ネイティブな Linux と同じ (石岡)
    • WSL2 で学生さんが DCPAM を動かしている (石渡)
    • Windows の機能を利用しない分, Windows より速い場合がある (佐々木)
    • 日本語の IME を利用できない (別途設定) のが不便かな

macOS: 樫村

今年度の進捗

  • ARM ネイティブへの対応
    • MacPorts, Homebrew とも ARM ネイティブ動作
    • gcc/gfortran v12
      • 4 倍精度 OK
      • DCL, ISPACK1/3, gtool, spml, DCPAM まで OK
    • 電脳 Ruby 製品も OK
  • 注意
    • Homebrew の gtk は非 X window
    • MacPorts の netcdf 4.8.1 で HDF エラー (4.8.0 は OK)
    • ARM 版は DCL-gtk3 でエラー (Homebrew の gtk3 は問題なし)

ベンチマーク

  • ISPACK1/ISPACK3
    • 1 コア性能
      • Intel CPU と同程度
      • S2G: SSE=fx オプションで M1 若干速くなる
    • 最大コア性能

質疑・コメント

  • HDF エラーは大丈夫? (林)
    • NetCDF4 でできた nc ファイルは読めない
    • 同様の問題が多く報告されているので対応されることを期待 (佐々木)

DCL の歴史と発展: 酒井

-> 録画へ

DCL の現状と今後: 乙部

-> 録画へ

今年度の進捗

  • C
    • C インターフェイスも DCL 本体で提供
    • Ruby からも call できるように
    • Ruby-DCL

来年度以降の課題

  • Fortran90 を含むようにする
    • Fortran90 用の C インターフェースと Ruby ラッパーは用意する
  • マニュアル整備 (特に英語版)
  • gtk4 対応
  • できたらいいな
    • インタラクティブ操作
      • 描画後の拡大縮小
      • 線の太さ, カラーマップ変更
    • 高解像地図データ対応
    • ラインの色をグラデーションで指定したい
    • 3D 描画

質疑・コメント

  • F90 版の Ruby ラッパーを用意するご利益は? (堀之内)
    • F77 版のサブルーチン名が短く, わかりにくい (乙部)
    • Ruby-DCL にエリアスを用意するだけでよいのでは? (堀之内)
      • そうすれば, F77 を呼ぶだけでよいように思う (堀之内・乙部)
    • 形状引継ぎ配列を渡せないので, F90 は F90 版で使いたい人向けのみで提供すればよいのでは (西澤・堀之内)
    • F77 版のソース部分にコメントで長い名前を入れるだけでよいかもしれない (乙部)
  • XY 二次元の位置情報 + 物理量を渡して描画する機能がほしい (グラデーションライン関連) (西澤)
    • GPhys で行われているような仕組み (西澤)
  • リポジトリを github にもっていかないですか? (西澤)
    • ご本尊を移す必要はない, 何かあったときのフェールセーフになる (佐々木・林)
    • 要望があればします (乙部)
  • GTK なし (ソケット) の環境実行 (竹広)
    • ホストとローカルでの DCL が読むパスの相違で実行できない場合がある (竹広)
    • 最初は手元のパスで統一することを試みてほしい (乙部)

総合討論

年次更新・整理

  • 各プロジェクトのウェブページや履歴の追加・更新を行いましょう.
    • プロジェクト名: 作業担当者
    • dcmodel: 竹広
      • その他コメント
        • 各モデルライセンスは結局どうなった? (石渡)
          • 各モデルごとに一般的なライセンスを明記するようにした (ライセンスは各プロジェクト依存)
          • ライセンスが整合しないライブラリは同梱せず別々に配布されているものを手元で結合するようにして対応
    • spmodel: 竹広
      • dlgamma は 2 条項 BSD なので別途明記 (佐々木)
    • gtool: 佐々木
    • deepconv: 杉山
    • DCPAM: 高橋
    • DCPOM: 河合 <- 竹広さんからメール
    • GMS: 中島
      • 更新はしない (エントリーは残しておく)
      • 外部利用され, 更新される可能性がある
      • 引用の仕方が明記されているかは確認
      • その他コメント
        • f2003 のどういう機能が有用? (乙部)
        • 構造体が処理を持てるようになった. (佐々木)
    • dcrtm: 石渡
  • 地球流体電脳倶楽部コレクションリスト
    • DCL のキャッチフレーズなど, 見栄えなど注文があれば乙部さんに
    • 主要資源として残すべき or 外してよいものの選定

その他

  • python-DCL 版をラクチンに作るには? (乙部)
    • pip の資料がなく, 正しい作法を知りたい (乙部)
    • 需要はあるか (佐々木)
    • 欠損値ありデータの描画が DCL の売りであった (林)
      • python 描画でほぼできる (はしもと)
      • 京大坂崎さん, 榎本さんが詳しい (石岡, はしもと)
  • ユニバーサルカラーマップをいくつか用意した方がよい (堀之内)
    • HCL カラーで図を作れと査読で言われることも (西澤)
    • Viridis カラーマップを 79 番に追加した (辻野)
  • Red Data Tools (佐々木)