ROOT CERN

简介

CERN ROOT,简称ROOT,是一个由欧洲核子研究组织(CERN)开发的开源软件框架,专为高能物理实验数据分析设计。ROOT的核心是模块化设计,提供了包括输入输出、数据分析框架、图形用户界面、统计分析工具和网络服务在内的多种功能组件。它能够高效处理大数据,包含统计分析、可视化工具,并支持与其他编程语言如Python和R的集成。ROOT的文件格式特别适合存储和处理大规模数据集。ROOT在科学研究领域扮演着关键角色,尤其是在粒子物理学中。

安装环境

序号

集群

平台

版本

位置

安装方式

1

hpckapok1

cpu

6.32.06

/public/software/software-docker/images

编译安装&容器

2

hpckapok2

cpu

6.32.06

/share/install_packages/singularity/

编译安装&容器

使用方法

  1. 集群1

    # 申请资源
    salloc -N 1 -p cpuXeon6458 -t 60:00 --cpus-per-task=32
    # 登录到计算节点
    ssh -Y <主机名>
    # 激活环境
    module load singularity
    # 启动容器,并自动进入容器环境(shell)
    singularity shell /share/install_packages/singularity/root-cern-noroot.sif
    # 激活容器内root的环境变量
    source /opt/root_install/bin/thisroot.sh
    # 软件启动
    root
    
  2. 集群2

    # 申请资源
    salloc -N 1 -p cpuXeon6458 -t 60:00 --cpus-per-task=32 -x comput[185-196]
    # 登录到计算节点
    ssh -Y <主机名>
    # 激活环境
    module load apps/singularity
    # 启动容器,并自动进入容器环境(shell)
    singularity shell /public/software/software-docker/images/root-cern-noroot.sif
    # 激活容器内root的环境变量
    source /opt/root_install/bin/thisroot.sh
    # 软件启动
    root
    

编译指导

  1. 参考以下内容创建root-cern.def文件

    Bootstrap: docker
    From: centos:8
    
    %post
    
        sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*
        sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*
    
        yum install git make cmake gcc-c++ gcc binutils \
            libX11-devel libXpm-devel libXft-devel libXext-devel openssl-devel  python39 -y
    
        # 下载并安装ROOT(最新版本)
        cd /opt
        git clone --branch latest-stable --depth=1 https://github.com/root-project/root.git root_src
        mkdir root_build root_install && cd root_build
        cmake -DCMAKE_INSTALL_PREFIX=../root_install ../root_src
        cmake --build . -- install -j10 # -j10为10个核心同时编译,按需改或直接删掉用单核心编译
        rm -rf /opt/root_build /opt/root_src
    
  2. 激活singularity 并进行编译

    # 集群2(选择对应集群执行,二选一)
    module load apps/singularity
    # 集群1(选择对应集群执行,二选一)
    module load singularity
    # 进行编译,时间可能会比较久
    singularity build --fakeroot root-cern.sif root-cern.def
    

参考资料

root-cern 依赖关系

root-cern 源码编译指导

singularity 使用方法

Contributor:rkwu


最后更新: 2025 年 06 月 30 日