下面是我感兴趣的开放课题,欢迎同学们和同事们与我联系,合作探索和创造。课题涉及中微子实验、暗物质实验和自由软件等。

尚未开始

SCIM Qt5 移植(续本达)

项目标题
SCIM Qt5 移植
项目描述
SCIM 历史悠久的输入法框架,早期为 GNU/Linux 系统的中文本土化立下了汗马功劳,然而近年来 SCIM 的开发团队已经不再活跃,开发停滞,项目处于维护状态。当前 SCIM 依旧可以在各大发行版上顺畅使用,唯一缺失的功能是对 Qt5 的支持。本项目计划把 SCIM 移植到 Qt5。
项目难度
项目社区导师
续本达 orv _AT_ debian DOT org
项目产出要求
  • 运行于 Qt5 的 SCIM
  • 修复 bugs.debian.org 上的其它 SCIM bug
所需知识和技能
有 SCIM 使用经验,C++ 编程能力,Qt编程经验。有一年以上 Debian 使用经验。
相关的开源软件仓库列表

Gentoo Android App(续本达)

项目标题
Gentoo Android App
项目描述
Gentoo on Android 可以在 Android 上运行 Gentoo Prefix,实现无性能损耗的完整的 GNU 环境。然而,当前的 Gentoo on Android 一方面需要 root 权限,另一方面需要手动安装,亟需一个不需 root 的 Android App 完成安装,更方便地把手机转换成开发和生产工具。在 Android 的系统中,每个 App 有一个专有的用户 uid 和一个保留的空间存放数据,适合嵌入一个这个 uid 下的 Gentoo Prefix 实例,解决当前 Gentoo on Android 的两个问题。
项目难度
项目社区导师
续本达 heroxbd _AT_ gentoo DOT org
项目产出要求
自由开源的 Gentoo Android App。
所需知识和技能
具有 Android App 开发能力,有一年以上 Gentoo 和 Android 使用经验,熟练使用 Git。
相关的开源软件仓库列表

Debian inadyn 更新(续本达)

项目标题
Debian inadyn 更新
项目描述
inadyn 是动态 DNS 工具,新版本支持了动态 IPv6 地址,适配 DHCPv6 网络环境。由于 inadyn 在 Debian 疏于维护,你需要把 inadyn 软件包更新至最新版。
项目难度
项目社区导师
续本达 orv _AT_ debian DOT org
项目产出要求
完成符合 Debian 要求的更新版 inadyn 包,并被 Debian 官方采纳。
所需知识和技能
有一年以上 Debian 使用经验,熟练使用 Git,了解 Debian 包管理器原理
相关的开源软件仓库列表
Debian inadyn 包

Debian CernVM-FS 软件包制作(续本达)

项目标题
Debian CernVM-FS 软件包制作
项目描述
CernVM-FS 是欧洲核子中心研发的基于 http 的只读文件系统,它优秀的缓存性能令它成为软件分发的优秀载体,被大科学仪器如江门中微子实验采用。CernVM-FS 的官方创建了 Debian 软件包,但是不符合 Debian 社区的官方标准。你的任务是制作符合 Debian 官方标准的 CernVM-FS 软件包。
项目难度
项目社区导师
续本达 orv _AT_ debian DOT org
项目产出要求
完成符合 Debian 要求的 CernVM-FS 包,并被 Debian 官方采纳。
所需知识和技能
有一年以上 Debian 使用经验,熟练使用 Git,了解 Debian 包管理器原理
相关的开源软件仓库列表
CernVM-FS 主页

球的三维小波分解与线性顶点重建(续本达)

在液闪探测器中,经典的重建方法是把事例看成点源,建立模拟后使用非线性的优化算法如共轭梯度进行最似然函数估计。这一做法的局限在于点源假设:

这几个液闪探测器事例重建的根本问题,都有可能通过将问题线性化解决。思路是将点源看成粒子能量沉积在空间的概率分布,对此分布进行函数正交基分解,将非线性寻找顶点问题转化为线性寻找系数的问题。小波函数可以作为保持局域性质的正交基底,若能推广到三维球内,则可提供天然的正交分解基。

此外,将空间与时间线性化,有望借助统计学、运筹学等领域成熟的线性优化算法从根本上解决点源优化中的局域最优解问题。其丰富的输出系数有望为粒子鉴别提供丰富的输入。

参考文献:

Standalone Gentoo Chromebook (续本达)

The fact that Google Chromebooks are built by portage is an evidence of flexibility and power of portage. However, portage and other Gentoo tools are invisible to end-users because portage is only used to cross compile and build the filesystem image. The resulting image does not have portage or toolchain, and becomes a feature-limited ChromeOS compared to a standard Gentoo system. ChromiumOS, the community counterpart of ChromeOS, is an open operating system that is straightforward to build and hack. In this project, we will make a full-featured Gentoo-like ChromiumOS combining the innovative Chromebook experience with flexibility of portage and software packages from Gentoo.

Required Skills:

JUNO上的反应堆中微子 Δm212 测量(续本达)

1, 2 代中微子振荡与太阳中微子密切相关,同时它又是长基线反应堆中微子的测量对象。然而,当前的由 KamLAND 给出的反应堆中微子的 Δm212,与 SuperK 给出的结果有一定的矛盾。JUNO 将是继 KamLAND 之后有能力通过反应堆中微子测量 Δm212 的实验,同时又有潜力通过太阳中微子完成独立的 Δm212 测量。因此 JUNO 实验将有望终结这一学术争议。

所需知识和技能:

参考文献:

SuperK中子俘获信号研究(续本达)

中子由反中微子的带电流过程产生,是 SuperK 鉴别反中微子的主要方法,是寻找超新星弥散中微子的关键。中子氢俘获信号的2.2MeV能量,在SuperK的单触发阈以下,只能通过每个事例后设定的无触发的额外取数窗口来获取,它的重建是信号微弱寻找的一大挑战。

SuperK升级到 Gd 阶段,同样是从中子俘获信号入手。因此本研究也为即将开始的 SuperK 新阶段做好物理目标分析的准备。

所需知识和技能:

参考文献:

实验数据实时在线分析平台(续本达)

Apache Spark 是优秀的大数据和分布式计算平台。它的流处理框架不仅性能优异,而且容错性高,提供了理想的实验数据实时在线分析平台方案。

本课题将考查 Apache Spark,并与锦屏中微子实验现有的分析程序结合,完成整套的流数据分析方案。

参考文献:

马尔可夫链蒙特卡罗方法事例拟合 BAPPE (徐蔚然)

马尔可夫链蒙特卡罗方法(MCMC)常用来模拟后验概率密度分布,并且已在金融学等领域得到了广泛应用。在高能物理分析当中,MCMC 方法可基于一定的先验概率密度分布进行贝叶斯分析。

近年哈密顿蒙特卡罗方法(HMC)得到了快速的发展,这种方法通过将马尔可夫链过程转化为哈密顿动力学过程,极大的提高了马尔可夫链的收敛速度,具有很高的有效样本率。与传统的梯度算法相比,HMC算法提供了更多的样本,允许先验信息的输入,同时有更高的效率,因而能够在一些复杂的拟合当中表现更好。

本课题希望将马尔可夫链蒙特卡罗方法应用在锦屏中微子实验中事例的顶点与方向重建,并与传统的频率统计结果进行对比。

参考文献:

SuperK圆柱液体切伦科夫探测器的非参数模型(续本达)

在球形液闪探测器的光学(散射、吸收、折射)研究中,非参数模型的有效性已经得到了证明。纯水的光学本质上与液闪相同,该方法也适用。若要推广到 SuperK,需要探索两个新的问题。其一是切伦科夫光子具有方向性,需要额外考虑光子的动量,增加了模型的维度;其二是SuperK为圆柱形,对称性较球形低,有不同的函数基底。

达到研究目标,还需要进行探测器的模拟和较准。然而 SuperK 历史悠久,软件库的版本较旧,需要对程序与数据格式进行整理和设计。

所需知识和技能:

参考文献:

SuperK核子衰变的一般化寻找(续本达)

作为世界最大的纯水探测器,SuperK在多数核子衰变模式的实验寻找都是最灵敏的。即便如此,依旧有很多理论预言的可能的核子衰变模式没有被实验所研究。这些繁杂的核子衰变的潜在模式可能通过一般化模型统一研究。在 SuperK 上开展此研究,将核子衰变的诸多理论提供首次的实验证伪。

所需知识和技能:

参考文献:

正在进行

JUNO offline 持续集成系统(王宇逸、续本达)

JUNO 即将成为世界最大的液闪探测器。它的离线分析与模拟系统经过长久的演化,多人的贡献,已经变得比较复杂。保证软件质量的挑战日益突出。

在软件工程中的敏捷开发中,持续集成是保证软件质量的有效方法。本课题将为 JUNO 的离线软件库建造一个持续集成系统,使得每一个修订都触发编译,模拟,分析和绘图的过程,并自动将绘制基本物理量的分布发布在 JUNO 合作组的网站上。此外,使用统计方法自动检测物理量分布的显著变化,及时报错帮助合作组及时发现代码库的缺陷。

所需知识和技能:

参考文献:

基于IPv6自组织网络的科学计算网格研究(邓旭、郑鈜壬、申奥、曹隽诚、续本达)

本项目意在利用云服务商的良好连通性,发展一个基于IPv6的自组织网络,从而为网格计算提供基础设施。对于计算量较大的的任务,由于一些限制,高性能的计算资源不得不分布在各处,它们之间的互联质量也就成了一个关键问题。以往的解决方式是在各计算资源间建立昂贵的专线,而这往往只有大规模数据中心可以承担。如今云服务的良好的连通性提供了优质链路,同时IPv6也对此类网络提供了新的特性。

SRT: PMT 读出波形的小波压缩 (唐如麟、翁俊、陈嘉杰、张卓婧、续本达、邢宇翔)

随着数据采集技术的发展和 Flash DC (Analog-Digital Converter) 的广泛应用, 1 Gsps 的 PMT 输出电压采样已经十分常见。这样的连续输出电压被称为“波形”。相比时间阈值积分电路,波形采集可以给出更丰富的探测器原始信息,从而有大幅提升探测器分辨率的潜力。但是波形数据的空间占用也比积分电路多至少100倍,例如 1 ms 长度的时间采样就要占用 1 KiB 的空间。

与此同时,波形中有很多的冗余信息,比如它在基线附近的抖动等等。PMT 的波形数据具有被高效压缩的潜质。小波在数据压缩领域有着广泛的应用,比如著名的 JPEG 图像格式。小波可以为压缩提供一个局部的正交基底。在下图中,基于离散小波变换和阈值选择的试验表明,PMT 的波形适合使用小波进行压缩。下图中是 PMT 波形中选取的 120ns 有信号部分,约为 3 个光电子,只需要六个小波系数就可以保留原波形的主要信号待征。

denoise.png

在中微子实验中,我们计划从信息论中的 Minimal Description Length(MDL) 原理出发,客观地选择小波的类型、系数的个数和系数的阈值,保证大型中微子实验能够使用有限的存储空间,最大限度为后续的分析工作提供丰富的数据。

此外,小波变换等价于一系列滤波器,可以直接采用数字电路实现。若能以数据存储为目标发展出成熟的小波分析方案,类似的压缩算法有望直接在前端电子学中应用,从而降低数据采集的传输带宽。这将有助于压低触发的阈值扩展中微子实验观测的能量窗口。

参考文献:

PMT 集光器的实验测试 (赵林、徐大成、续本达)

在中微子实验中,集光器可以降低PMT使用数量,以降低成本;提高光收集效率,增加能量相应的均匀性。本课题对已设计好的集光器进行实验测试,比较其真实实验指标和设计指标,探索可能的改进方案。

参考文献:

基于 GPU 光线追踪的中微子探测器建模 (郭子溢、张爱强、刘学伟、续本达)

在粒子物理实验的研究中,因为探测器很复杂,要精确定量地理解探测的信号与数据,Monte Carlo 模拟是关键一步。

大型的液体闪烁体或切伦科夫探测器,都是在液体容器表面安装光电倍增管来检测单光子级别的微弱光信号。光在液体介质中的传播,在这类大型液体探测器的模拟中是最耗时的部分。

近二十年来,随着电子游戏的虚拟现实技术的发展,光线追踪技术在场景渲染上应用广泛,也成为游戏显卡的标准配置。而光线追踪的模型包括了大型液体探测器中闪烁光或切伦科夫光传播中的所有物理过程,包括折射、散射、吸收和重发射。游戏显卡的光线追踪功能可以更高效地胜任探测器的光学模拟。

本课题的目标是把锦屏中微子实验的模拟程序中的光子传播部分通过 GPU的光线追踪实现,提升模拟效率和速度。

参考文献:

PMT 波形分析 (徐大成、王笑晗、武益阳、张翔宇、陶嘉燊、张爱强、郭子溢、续本达)

以竞赛形式呈现,详见 https://ghost-hunter.net9.org/。开始全面总结。

已完成

Hackers' DV for Students' Festival at Tsinghua(In Chinese)

aMath mode: Emacs minor mode to create ASCII math formula using Maxima

KamLAND documents(Collaborators Only)

Cross Toolchain on Gentoo Prefix

manifold: suggested procedures for new nodes in manifold

Thinkpad: an attempt to repair my X41 Tablet by myself

port linux to virtex2p based xsp-016

port OpenRC to Gentoo Prefix

Gentoo on Android: ideas for having native Gentoo on Android

Gentoo ROCm HIP GPGPU 方案(武益阳、续本达)

项目标题
Gentoo ROCm HIP GPGPU 方案
项目描述
ROCm 是 AMD 显卡的自由开源的科学计算系统,HIP 是 ROCm 的 CUDA 兼容层,提供类似于 CUDA 的 API。然而 ROCm 和 HIP 的文档校为缺乏,除了官方指定的个别平台之外,安装和部署较为困难。Gentoo Linux 是一个元发行版,是各发行版中进行科学计算相关开发的良好选择。当前,Gentoo 中的 ROCm 相关的软件包已经成熟,但是 HIP 及与之相关的 rocBLAS 等高级库尚未完成,依旧有许多难点。本项目将完成 Gentoo 的 HIP 软件包,并为 PyTorch, Tensorflow 提供 AMD 设备上的进行方案。完成发行版上开源 GPGPU 框架的布局。
项目难度
项目社区导师
续本达 heroxbd _AT_ gentoo DOT org
项目产出要求
Gentoo 的 HIP 软件包,PyTorch-ROCm 软件包,Tensorflow-ROCm 软件包。
所需知识和技能
有一年以上 Gentoo 使用经验。Gentoo portage/ebuild 理解和写作能力,shell 编程能力,熟练使用 Git
相关的开源软件仓库列表

Stabilize Gentoo Prefix (周默、续本达)

Gentoo Prefix is Gentoo installed into a directory offset and administrated by normal users. That brings universal Gentoo user experience to shared high performance computing facilities and mobile handholds. Gentoo Prefix has been developed for more than 10 years with its feature set solidified. Since 2016, with the introduction of prefix-standalone, the whole userspace from libc up can be managed by Gentoo Prefix for Linux-based systems. That made implicit keywording possible for Gentoo Prefix.

The next step is to migrate Gentoo Prefix profiles from "exp" to "dev", and consequently from "dev" to "stable". That will set Gentoo Prefix to be the 1-class flavor in the Gentoo ecosystem, and benefit Gentoo Prefix users with advanced production-level Gentoo features and quality assurance. In 2018, Sam Pfeiffer initiated continuous integration (CI) effort for Gentoo Prefix, making the stabilization of Gentoo Prefix more feasible.

In this project, you are going to upgrade Gentoo Prefix profile from "exp" to "dev" and to "stable", and set up additional CI needed for quality assurance purposes. Finally, you are going to work with the Gentoo community to propose new workflows for arch-testers to test Gentoo Prefix installations before stabilizing packages.

Required Skills

Gentoo PyPI ebuild 生成器(陈嘉杰、续本达)

项目标题
Gentoo PyPI ebuild 生成器
项目描述
在 Gentoo 上使用 PyPI 包一种做法是先把 PyPI 的软件打包成 Gentoo 的 ebuild,其缺点是更新需要由人工完成,效率较低。另一种做法是使用 PyPI 的 pip 来绕过 Gentoo 的包管理系统 portage 直接安装,其缺点是容易与 portage 冲突,导致 Python 子系统的混乱。本项目计划采两家之长,通过一个 PyPI ebuild 生成器自动生成一个 PyPI 的 portage overlay,为 Gentoo 用户提供最新 Python 软件仓库。项目可以借鉴现已无人维护的 gs-pypi 代码。
项目难度
项目社区导师
续本达 heroxbd _AT_ gentoo DOT org
项目产出要求
自动生成并持续更新的 Gentoo PyPI Overlay。
所需知识和技能
有 Gentoo 使用经验,有系统管理经验,熟练使用 Git。
相关的开源软件仓库列表

Maven Java overlay (张宗煜, Andrew Savchenko, 续本达, Miroslav Šulc)

Although being one of the most popular computer languages, Java has not been adopted smoothly into GNU/Linux distributions. The packaging of Java software are considered difficult by the GNU/Linux community (e.g. Debian, Archlinux, Fedora). At the same time, the Java community has its own set of repositories like maven, functionally similar to packages in GNU/Linux distributions.

The Gentoo Java Project has done a good job laying out the framework of the Java ecosystem in Gentoo. Nevertheless, there are still thousands of useful Java packages to be packaged and maintained. The project will parse the metadata of maven packages and automatically write ebuilds compatible with the Java build system used in Gentoo. We are going to set up and maintain an automatically updated maven overlay every Gentoo user can use. The overlay will at least contain spark and hadoop. We aim to make Gentoo an attractive choice for Java developers, users and system administrators, as well as data scientists.

A preliminary tool, java-ebuilder is available as app-portage/java-ebuilder. A proof-of-concept overlay is also made.

Required Skills

卷积神经网络的中微子探测(董正、续本达)

大型液体中微子探测器的读出信号来自于探测器的表面,若要将中微子能量和位置还原,需要的进行数据分析过程被称为“重建” (reconstruction)。

重建本质上是一个统计学问题,但由于探测器的响应,尤其是光子的产生和传播过程十分复杂,把完整的概率模型写下来十分不易。机器学习系统方法,是对未知的概率模型的非常有效的工具。在本课题中,我们将采用深度卷积神经网络对中微子信号进行重建,只输入基本的探测器模型,把细节响应交给神经网络训练。

参考文献

完善 Gentoo ROCm GPGPU 框架(武益阳、续本达)

项目标题
完善 Gentoo ROCm GPGPU框架
项目描述
ROCm 是 AMD 显卡的自由开源的科学计算系统,HIP 是 ROCm 的 CUDA 兼容层,提供类似于 CUDA 的 API。然而 ROCm 和 HIP 的文档校为缺乏,除了官方指定的个别平台之外,安装和部署较为困难。Gentoo Linux 作为一个元发行版,已经率先完成了对 ROCm 的支持。但是其构建系统仍有一系列问题不能满足 Gentoo 社区的官方要求。本项目将完善 Gentoo 的 ROCm 软件包,并为 PyTorch, Tensorflow 提供 AMD 设备上的进行方案,完成发行版上开源 GPGPU 框架的布局。
项目难度
项目社区导师
续本达 heroxbd _AT_ gentoo DOT org
项目产出要求
修复 Gentoo 的 ROCm 软件包,PyTorch-ROCm 软件包和Tensorflow-ROCm 软件包的构建系统 bug。
所需知识和技能
有一年以上 Gentoo 使用经验。Gentoo portage/ebuild 理解和写作能力,shell 编程能力,熟练使用 Git
相关的开源软件仓库列表

放弃

Emacs Jupyter client(已有替代方案)

项目标题
Emacs Jupyter Client
项目描述
Emacs 是久负盛名的编辑器,以其高度的可编程扩展性闻名于世。Jupyter 是基于 HTTP 的远程异步运行系统,在科学计算有广泛的应用。EIN 项目为 Emacs 提供 Jupyter 客户端,可以弥补 Jupyter 网页上输入功能薄弱的劣势,把 Emacs 的强大编辑功能与 Jupyter 异步执行功能有机结合,成为 literate programming 的最强方案之一。但是,EIN使用的 HTTP 框架由基于 callback 的异步编程框架,维护较为困难,本项目将使用 coroutine 的函数式编程模型重写 EIN,完成现代的 Emacs Jupyter 客户端。
项目难度
项目社区导师
续本达 heroxbd _AT_ gentoo DOT org
项目产出要求
使用函数式 coroutine 重写 EIN 的异步模块,提升 EIN 的稳定性。
所需知识和技能
有一年以上 Emacs 使用经验,有 Emacs LISP 编程经验,熟练使用 Git
相关的开源软件仓库列表
EIN -- emacs-ipython-notebook

Debian singularity-container 更新(已由他人完成)

项目标题
Debian singularity-container 修复
项目描述
Singularity 是用于科学计算的容量系统,被我国江门中微子实验采用。Debian 上的软件包名为 singularity-container,因为有严重的 bug 而被从 Debian 11 移除了。你的任务是把这些 bug 修复,并将 singularity-container 更新到最新版。
项目难度
项目社区导师
续本达 orv _AT_ debian DOT org
项目产出要求
完成符合 Debian 要求的更新版 singularity-container 包,并被 Debian 官方采纳。
所需知识和技能
有一年以上 Debian 使用经验,熟练使用 Git,熟练使用 Linux 容器,了解 Debian 包管理器原理
相关的开源软件仓库列表
Debian singularity-container 包

JUNO纯水阶段太阳B8中微子研究(实验条件不再具备)

JUNO拥有2万吨的容积,它80%的超高PMT覆盖率,使它即使在线水的调试阶段会拥有 SuperK 所不具有的优势,比如更低的阈值,这对B8中微子观测有利,特别是对中微子振荡的物质效应到真空的过渡规律的探索意义重大。JUNO 的埋深700m,相比其它实验较浅,要对中微子单事例进行有效观测,必须把握好宇宙线缪子和期次级粒子的测量,它是太阳中微子观测的重要前提。

所需知识和技能:

参考文献:

PMT QE 随光电面位置的变化趋势 (由其它项目替代)

光电倍增管(photomultiplier tube,PMT)是可以用于探测极其微弱光信号的探测仪器,广泛的应用于粒子物理探测器中。对所使用的PMT性质的研究,是探测器研究的关键步骤。

光电倍增管通过光阴极上的光电效应将光子转化为电子,之后将电子倍增,得到最终的电子学信号。其中,光电效应的转换效率称为量子效率(Quantum Efficiency,QE)。光电倍增管光阴极不同位置的量子效率是不一样的,本课题需要测量其变化趋势,以便更好地了解光电倍增管的性质。

注:实际测量中,还应考虑到光电子的收集效率 Collection Efficiency,CE。

参考文献:

PMT 光电面的反射与折射 (已由他人完成)

在粒子物理实验的研究中,光电倍增管(PMT)是用于将中性的光子转换成为可观测粒子(电子)的重要的实验仪器。但是PMT探测光子时并不能 100% 获取到我们的信息,因此我们需要对PMT的效率进行定标,定标主要分为以下几个方面:

  1. 光子从不同入射角入射时的探测效率(以及表面反射率) ,\eta_\theta
  2. 光子从不同距离入射时的探测效率(以及表面反射率), \eta_d
  3. 建一个近乎解析的公式来拟合出 \eta_{d,\theta} 的函数变化,并实际建模比较

参考文献: