什么是 OpenHPC?

基于社区的努力提供工具、文档等,以加速创新并扩大 HPC 的访问。
278 位读者喜欢这个。
3 mistakes to avoid when learning to code in Python

Opensource.com

高性能计算 (HPC)——将计算机聚集成集群以提高计算速度和能力——严重依赖于连接和管理集群中各个节点的软件。Linux 是主要的 HPC 操作系统,许多 HPC 站点通过不同的科学应用、库和其他工具扩展操作系统的功能。

随着 HPC 开始发展,HPC 站点在编译 HPC 软件时存在相当大的重复和冗余变得显而易见,有时不同软件组件之间的依赖关系使安装变得繁琐。OpenHPC 项目是为了响应这些问题而创建的。OpenHPC 是一项基于社区的努力,旨在通过提供文档和构建模块来解决 HPC 环境中的常见任务,HPC 站点可以根据自己的需求组合这些模块。

该项目的使命和愿景是

使命:提供开源 HPC 软件组件和最佳实践的参考集合,降低部署、改进和使用现代 HPC 方法和工具的门槛。

愿景:OpenHPC 组件和最佳实践将通过在一致的环境中扩大对最先进的开源 HPC 方法和工具的访问,并在由全球 HPC 用户、开发人员、研究人员、管理员和供应商组成的协作社区的支持下,实现并加速创新和发现。

OpenHPC 历史

OpenHPC 起始于国际超级计算大会 2015 (ISC'15),在一次关于社区努力构建 HPC 软件仓库和管理框架的优点的 birds of a feather (BoF) 讨论中。在超级计算大会 2015 (SC'15) 上,OpenHPC 1.0 发布,Linux 基金会宣布了 Open HPC 协作项目的技术领导层、创始成员和正式治理结构。

自那时以来,越来越多的 OpenHPC 项目成员 合作定期更新 OpenHPC 的软件包和文档,v1.1.1 版本于 2016 年 6 月在 ISC'16 发布。最新的 v1.3.2 版本于 2017 年 9 月发布。

什么是 OpenHPC?

OpenHPC 提供了一系列 HPC 环境中常见的预构建软件组件,例如配置工具、资源管理器、I/O 库、开发工具和各种科学库。它支持不同的 Linux 发行版和架构,并为 CentOS 7 和 SUSE Linux Enterprise Server (SLES) 12 提供软件包仓库。

该项目的一个关键原则是,没有人被要求安装整个 OpenHPC 堆栈;相反,用户可以选择与他们的 HPC 需求相关的组件。

OpenHPC v1.2 及更高版本包括为 x86_64 和 aarch64(技术预览)构建的版本;v.1.3.2 添加了 CentOS 7.3 和 SLES 12 SP2 构建版本。除了提供的软件包外,OpenHPC 还包括不同配置系统(Warewulf, xCAT)以及不同资源管理器(Slurm, PBS Professional)的安装指南。

软件和文档由 OpenHPC 项目成员和外部合作者在 GitHub 托管的 Git 仓库 中维护。为了确保软件和文档按描述工作,OpenHPC 拥有一个 持续集成系统,该系统使用裸机安装和集成测试套件来验证软件。

OpenHPC 考虑到 HPC 站点通常依赖于多个编译器,这些编译器可能具有部分兼容甚至不兼容的 应用程序二进制接口 (ABI)消息传递接口 (MPI)。通过采用分层构建配置,OpenHPC 为每个所需的编译器/MPI 排列交付独特的软件包构建版本。具有特定编译器和 MPI 依赖关系的软件包在软件包名称中添加了这些依赖关系,方式如下

package-<compiler>-<mpi>-ohpc

通过使用 environment modules 加载相应的编译器和 MPI 族,环境变量将指向用户的编译器和 MPI 选择。

支持的编译器族是不同版本的 GNU 编译器套件 或 Intel 编译器,支持的 MPI 族是 Open MPI, MPICH, MVAPICH2 和 Intel MPI。使用这些选项,生成的软件包名称可能是

fftw-gnu7-openmpi-ohpc

OpenHPC 软件包

OpenHPC 将其软件包划分为不同的功能区域,每个区域都包含多个组件

  • 配置:Warewulf, xCAT
  • 资源管理:Slurm, Munge, PBS Professional
  • 运行时:OpenMP, OCR, Singularity
  • 数值/科学库:GSL, FFTW, Metis, PETSc, Trilinos, Hypre, SuperLU, Mumps, OpenBLAS, Scalapack
  • I/O 库:HDF5, NETCDF, Adios
  • 编译器:GCC, LLVM
  • MPI 族:MVAPICH2, Open MPI, MPICH
  • 性能工具:PAPI, IMB, mpiP, pdtoolkit, TAU, Scalasca, ScoreP, SIONLib

下一个版本 (1.3.3) 计划于 2017 年 11 月发布。与每个新版本一样,将添加新软件包并更新现有软件包。最新版本始终可以从 openhpc.community/downloads/ 获取。

其他资源

OpenHPC 是一项协作的社区努力,欢迎贡献。如果您想了解有关 OpenHPC 的更多信息以及如何贡献,请访问以下资源

标签
User profile image.
Adrian 是 Red Hat 的高级软件工程师,并且至少自 2010 年以来一直在迁移进程。他开始在高性能计算环境中迁移进程,在某个时候他迁移了如此多的进程,以至于他为此获得了博士学位,自从加入 Red Hat 以来,他开始迁移容器。

评论已关闭。

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.