1 ポイント 投稿者 GN⁺ 2024-06-02 | 1件のコメント | WhatsAppで共有

√-1ROOT: 大規模データ分析と可視化のためのソフトウェア

ROOT 概要

  • ROOTは、大規模データの統計解析と可視化を可能にする高性能ソフトウェア。
  • 主に**C++**で書かれており、LinuxmacOSWindowsで利用可能。
  • オープンソースソフトウェアとして、自由に利用・修正・貢献できる。

主な機能

  • 高速プロトタイピングのための強力な C++ インタープリターを提供。
  • Pythonとのシームレスな統合により、Python と C++ 間の動的バインディングが可能。
  • Jupyter ノートブックでも利用可能。

RNTuple: 現在と未来

  • RNTupleTTreeの後継として開発中で、Run 4で使用される予定。
  • 新しいシステムの必要性と現在の状況、最初のプロダクションリリース前の作業内容、そして今後の計画について説明。
  • すでに RNTuple を試せる方法も提供。

Webベースのキャンバスのデフォルト設定

  • Webベースの TCanvas 実装が ROOT のマスターバージョンでデフォルト設定に変更された。
  • 2017年から ROOT に存在しており、Webベースの TBrowser でも使用されている。

新しいクラス TScatter

  • 新しいクラス TScatter を紹介。

ROOT 開発環境の改善

  • QtCreatorを使って ROOT の開発およびデバッグ環境を改善する方法を提案。
  • Eclipse IDEで CERN ROOT スクリプトおよび ROOT ベースのプログラムをデバッグ可能。

最新リリース

  • Release 6.32/00 - 2024年5月28日
  • Release 6.30.06 - 2024年4月3日
  • Release 6.30.04 - 2024年1月31日
  • Release 6.30/02 - 2023年11月28日
  • Release 6.30/00 - 2023年11月7日

GN⁺の見解

  • ROOTは大規模データ分析に最適化されたツールで、特に科学研究で有用。
  • Pythonとの統合のおかげで、C++ に不慣れなユーザーでも容易に利用できる。
  • Webベースのキャンバスのデフォルト化は、ユーザー体験を大きく向上させる可能性がある。
  • RNTupleの導入により、性能と機能の向上が期待できる。
  • QtCreatorEclipse IDEを活用した開発環境の改善は、生産性向上に役立つ。

1件のコメント

 
GN⁺ 2024-06-02
Hacker Newsのコメント
  • 昔の思い出: 粒子物理学でROOTをよく使っていた。技術的負債や癖は多かったが、ヒストグラムや構造化データ処理など特定の作業ではROOTのほうが簡単だった。オブジェクト指向APIも直感的だった。
  • 変化の過程: 5年前に離れたが、ROOTは変化の途中だった。CINTインタープリターを取り除き、Clangベースのコードへ移行し、今ではJupyterでC++またはPythonによる解析が可能になっている。
  • 新しい解析ツール: 新しい解析では、ROOTの代わりにuprootのような、より使いやすいツールを使うほうがよい。一部ではレガシーなワークフローのためにROOTを使い続けるかもしれない。
  • 興味深い404ページ: ROOTの404ページは面白い。(部屋番号404とは無関係)
  • 科学的発見: 大規模なソフトウェアプロジェクトが科学的発見に使われるのはすばらしい。たとえば、LIGOでは重力波をGStreamerで発見した。
  • ROOTの問題点: ROOTは多機能だが、API設計がよくなく、ライブラリとプログラムの分離も不十分だ。ROOT 6ではいくつかの問題を解決しようとしていたが、時間がかかっている。
  • 入出力形式の問題: 古いROOTの入出力形式は十分に文書化されていなかった。今ではgrootやuprootのおかげで、ROOTデータを簡単に読み書きできる。
  • ROOT 6への感謝: 毎日ROOT 6以降のバージョンを使えることに感謝している。
  • デバッグの思い出: コンピューターサイエンスの背景がない優秀な物理学者たちが書いたコードを、夜通しデバッグしていた記憶がよみがえる。
  • 粒子物理学の中枢: ROOTは実験粒子物理学における多くの作業の中枢だが、新しい大学院生にとっては悪夢だ。
  • Clingの使用: JupyterノートブックでC++インタープリターのClingとXeusを使っている。Python 3よりはるかに速い。Clingは主にC++にコンパイルされる言語のJITとして使っている。
  • ソースコード: ROOTプロジェクトのソースコードはGitHubで確認できる。
  • デバッグの悪夢: CERN ROOTのスクリプトやプログラムをEclipse IDEでデバッグするのは悪夢だった。しかし、ひどい環境でも驚くべきものを作れることを示している。