第一届(2020)高能物理计算暑期学校上机练习

第一届(2020)高能物理计算暑期学校上机练习一,作业提交及使用1, 作业准备2,作业提交3,作业查询4,作业删除5,查看作业结果二,容器使用1 容器技术介绍1.1 容器的特点1.2 容器与虚拟机区别1.3 容器引擎2 hep_containerHep_container的特点2.1 命令说明2.2 查看支持镜像2.3 查看支持用户组/实验组2.4 进入容器环境2.5 容器内执行命令3 镜像制作3.1 通过定义文件制作镜像3.2 使用自制镜像3.3 其他镜像制作方法三,Git 使用1 git本地配置2 准备本地代码仓库3 工作目录操作4 暂存操作5 提交操作6 远程仓库操作7 分支操作8 标签操作四,ROOT 分析作业1,生成数据样本1.1 定义分布函数1.2 生成数据样本,填tree,写入root文件2. 读取root文件,填直方图,画出直方图3. 拟合直方图

一,作业提交及使用

1, 作业准备

    

注意,username需替换为你的用户名

    
    
    
  1. 复制下列内容
    
  1. 按快捷键 i 进入编辑模式
  2. 快捷键shift+insert粘贴内容至脚本文件中(或鼠标右键粘贴)
  3. esc键退出编辑模式
    
    

2,作业提交

    

如果成功,显示内容如下:

    

其中,13代表作业id,作业id为作业最重要的身份信息,可利用作业id进行作业查询和删除等操作。

3,作业查询

    

4,作业删除

    

5,查看作业结果

    

找到 .out 和 .err 文件:

    

查看结果文件:

    

输出如下,说明作业正常运行结束

    

其中,accap059.ihep.ac.cn 为作业执行节点,该节点名会根据实际执行的节点,有所变化

二,容器使用

1 容器技术介绍

容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行。

1.1 容器的特点

跨环境、可移植、资源和应用隔离性、安全性。

1.2 容器与虚拟机区别

1.3 容器引擎

Singularity是目前在高性能计算平台上被大量应用的轻量虚拟化容器技术,能够提供操作系统级的虚拟化。

2 hep_container

Hep_container是基于singularity容器管理命令开发的适用于高能所计算集群的容器客户端工具,满足用户使用多种操作系统版本及环境的需求。说明:本文涉及的命令均需要登陆节点上运行,所用命令在以下目录,建议将该目录加入用户个人环境变量 PATH 中。

    
Hep_container的特点

2.1 命令说明

Hep_container的容器命令主要有以下操作images、shell、exec等。可以在命令行中通过help参数查看各个命令的使用说明和样例

    

2.2 查看支持镜像

命令格式:hep_container images 该指令可以查看当前提供的操作系统容器镜像。

    

2.3 查看支持用户组/实验组

命令格式:hep_container groups 该指令可以查看容器命令当前支持提供的用户组或者实验组。通过 -g 参数指定用户组或实验组,容器内会挂载对应用户目录和实验目录。不指定-g参数默认采用主组作为用户组或实验组。

    

2.4 进入容器环境

命令格式:hep_container shell [container image] 该指令可以在容器内启动一个shell,因此可以在容器外部与容器内部进行交互操作。运行exit则可以退出该shell。 下例为运行启动一个SL5操作系统镜像后,用户当前为SL5的系统环境.

    

2.5 容器内执行命令

命令格式:hep_container exec [container image] [command] 该指令可以在外部主机上将指定的command运行在指定的容器内。 下例为在lxslc7上以SL5的环境运行SL5命令,并得到结果。

    

3 镜像制作

3.1 通过定义文件制作镜像

    
    

3.2 使用自制镜像

    

3.3 其他镜像制作方法

参考https://sylabs.io/guides/3.5/user-guide/build_a_container.html

三,Git 使用

1 git本地配置

    
    
    
    
    

2 准备本地代码仓库

    

3 工作目录操作

    

4 暂存操作

    

5 提交操作

    

6 远程仓库操作

    

7 分支操作

    

8 标签操作

    

四,ROOT 分析作业

查看练习示例脚本

    

1,生成数据样本

1.1 定义分布函数

Lorentzian Peak function:

    

1.2 生成数据样本,填tree,写入root文件

    

操作练习

    

2. 读取root文件,填直方图,画出直方图

    

操作练习

    

单击菜单栏中 View 下拉菜单选中 Editor 选项可以调出编辑面版,可以手动编辑图片属性,如坐标轴标题,添加网格,直方图颜色等。尝试用鼠标单击图像不同位置,如直方图,坐标轴,标题处,观察编辑面板编辑选项的变化。尝试手动编辑图像属性。

3. 拟合直方图

    

操作练习

    

得到拟合结果:

可以在输出 log 里面找到函数参数的拟合值:

    

也可以通过以下方式拿到单个参数值及其误差:

    

附加练习

尝试将本例中的朗道分布替换为高斯分布,完成 root 文件生成,root 文件读入,画直方图,拟合直方图。

Baidu
map