容器技术 — CAE术语解释
容器技术
老师,Docker和Kubernetes在CAE中也会用到吗? 我的印象中它们更多用于网络开发…
最近CAE工作流程管理中也开始使用容器。原因是"环境再现性"。在OpenFOAM 7上运行的分析切换到OpenFOAM 9后结果会改变,这是常见的困扰。将"OpenFOAM 7 + 特定库集合"封装在Docker容器中,即使过了1年,也能用同一版本重新计算。容器在确保论文再现性和长期项目连续性方面发挥了价值。
定义
用Docker运行CAE不会很难吗?
基本操作并不太难。可以用docker run -it openfoam/openfoam9-paraview56命令启动OpenFOAM容器。OpenFOAM的Docker镜像在DockerHub官方发布,无需自己构建。困难之处在于GPU计算的直通(需要NVIDIA Docker)和MPI并行计算的网络配置。在集群计算机上进行多节点并行时,通常不用Docker而是用Singularity(HPC容器)。
HPC与云的协作
Singularity是第一次听说。它和Docker有什么区别呢?
Singularity(现在改名为Apptainer)是为HPC设计的容器,最大的区别是可以在没有root权限的情况下运行。超级计算机通常不会给普通用户sudo权限,所以Docker往往无法使用。Singularity可以把容器存储为.sif单一文件,放在NFS共享磁盘上供多个节点访问。当想在某超级计算机上运行OpenFOAM但又不想麻烦管理员安装软件时,在自己的home目录中使用Singularity就很实用了。
CI/CD与CAE结合会怎样呢?
可以实现"CAE的持续集成"——每次代码改变都自动运行CAE分析并验证结果。比如在GitHub上提交修改OpenFOAM调优参数的PR时,GitHub Actions会在Docker容器上自动执行腔体流基准测试,检查结果与Ghia 1982参考值的误差是否在1%以内——这样的机制。大规模求解器开发项目和设计自动化管道中确实在实际应用这样的CI/CD。
关联术语
原来环境再现性是容器最大的价值。我能想象出容器在CAE中的应用场景了!
准确理解CAE术语是团队内部沟通的基础。 — Project NovaSolver也着眼于支持实务工作者的学习。
Project NovaSolver — 直面CAE实务课题的研究开发
"能否更高效地利用容器技术进行分析?"——我们倾听实务工作者的声音,致力于改进既有工作流程,推进下一代CAE项目的开发。虽然具体功能还未公开,但我们会定期分享开发进展。
获取进展通知 →相关话题
帮助
更详细
错误