Singularity — CAE用语解释

分类:词汇表 | 2026-01-15
CAE visualization for singularity - technical simulation diagram

Singularity

🧑‍🎓

老师,我在超级计算机上运行CAE计算时被告知要"使用Singularity",这与Docker有区别吗?


🎓

Singularity(现在改名为Apptainer)是针对HPC环境专门优化的容器技术。与Docker最大的区别是可以在没有root权限的情况下运行。因为超级计算机通常不会给普通用户root权限,所以Docker根本无法启动。


🧑‍🎓

确实,超级计算机上无法使用sudo。但使用容器有什么好处呢?为什么不直接在超级计算机上安装求解器呢?


🎓

超级计算机上安装的库版本与你的求解器所需的版本经常不匹配。例如,你想使用OpenFOAM v2312,但超级计算机的gcc太老,无法编译。使用Singularity,你可以将整个环境打包到镜像中,这样就不会出现这些问题。


🧑‍🎓

我明白了!这样可以保证环境的可重现性。那实际上怎么使用呢?


🎓

首先在本地PC或编译服务器上创建.sif文件(Singularity Image Format),然后将其传输到超级计算机。之后在作业脚本中调用singularity exec myimage.sif mpirun -np 128 solver即可。它还支持InfiniBand和GPU直通。


🧑‍🎓

MPI并行计算在容器中也能正常工作吗?性能会下降吗?


🎓

Singularity直接使用主机内核,没有Docker那样的开销。通过MPI绑定模式与主机端的MPI协同工作,性能与本地执行基本相同。实际上,富岳等超级计算机上也使用Apptainer。


🧑‍🎓

在富岳上也使用过吗!这就令人信服了。能从Dockerfile转换过来吗?


🎓

可以通过singularity build myimage.sif docker://myimage:latest直接从Docker镜像创建Singularity镜像。研究室使用Docker开发→在超级计算机上使用Singularity执行的工作流程正在成为当今HPC×CAE的标准做法。


对CAE用语的准确理解是团队沟通的基础。— Project NovaSolver也重视实务人员的学习支持。

在实际工作中使用Singularity时遇到的问题,请告诉我们

Project NovaSolver目标是解决CAE工程师日常面临的课题——设置的复杂性、计算成本、结果的解释——的问题。你的实务经验将成为开发更好工具的动力。

联系我们(准备中)
本文评分
感谢您的反馈!
有参考
价值
需要更
详细
内容有
有参考价值
0
需要更详细
0
内容有误
0
由NovaSolver贡献者编写
匿名工程师与AI — 网站地图
查看个人资料