# HPC-Base **Repository Path**: lijian-cug/hpc-base ## Basic Information - **Project Name**: HPC-Base - **Description**: 高性能计算(HPC)相关工具、教学和操作的仓库, 包括:超算系统(软件和硬件)组装、编译器、Linux系统操作、GPU异构并行、计算机图形渲染、并行化编程:MPI、OpenMP\CUDA; PETSc等求解器开发等。技术指导不限于以上内容... - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2024-03-31 - **Last Updated**: 2026-08-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 高性能计算(HPC)基座 本目录是 OpenGeoModeller 的高性能计算基座:编译与容器、并行与加速、线性求解、IO、DSL 与自建集群资料。建议按「运行环境 → 构建 → 并行加速 → 求解 / IO → 高层抽象」阅读。 ## 模块关系 逻辑分层(上层依赖下层,同层可横向协作): ```mermaid flowchart TB cluster[Cluster-DIY
硬件 / SSH / NFS / Slurm] build[Build
编译 / 容器 / Spack] lang[Language
语言与混编] garbage[garbage
运维备忘·非主线] parallel[CUDA / OpenCL / MPI
含 CUDA-aware MPI] solver[Linear_Solver
AmgX / AmgCL / PETSc / Trilinos] io[HPC-IO
HDF5 / NetCDF / VTK · GDS] dsl[DSL / HPX
OP2 · 异步运行时] cluster --> build cluster --> lang cluster --> garbage build --> parallel lang --> parallel parallel --> solver parallel --> io solver --> dsl io --> dsl ``` ASCII 简图: ```text Cluster-DIY(硬件 / SSH / NFS / Slurm) │ ┌────┼────┐ ▼ ▼ ▼ Build Language garbage(运维备忘,非主线) │ │ └────┬──┘ ▼ CUDA / OpenCL / MPI(含 CUDA-aware MPI) ▼ Linear_Solver(AmgX / AmgCL / PETSc / Trilinos …) ▼ HPC-IO(HDF5 / NetCDF / VTK,含 GDS) ▼ DSL / HPX ``` ### 依赖速查 | 模块 | 职责 | 主要交叉链接 | |------|------|----------------| | [Cluster-DIY](./Cluster-DIY/) | 自建集群硬件与配置 | [MPI](./MPI/)、[Build](./Build/)、[garbage](./garbage/) | | [Build](./Build/) | Makefile/CMake/…、编译器、Docker/Singularity/Spack | [Language](./Language/)、[CUDA](./CUDA/)、[Cluster-DIY](./Cluster-DIY/) | | [Language](./Language/) | R/Python/Julia/Java、混编 | [Build](./Build/)、[MPI](./MPI/)(mpi4py) | | [CUDA](./CUDA/) | CUDA 基础、GPUDirect、样例、NVHPC | [MPI-GPUDirect](./MPI/MPI-GPUDirect/)、[HPC-IO](./HPC-IO/)、[AmgX](./Linear_Solver/AmgX/)、[OpenCL](./OpenCL/) | | [OpenCL](./OpenCL/) | 跨厂商 GPGPU | [CUDA](./CUDA/)、[AmgCL](./Linear_Solver/AmgCL/) | | [MPI](./MPI/) | OpenMPI/MPICH、IB、CUDA-aware MPI | [GPUDirect](./CUDA/GPUDirect/)、[Cluster-DIY](./Cluster-DIY/)、[PETSc](./Linear_Solver/PETSc/) | | [Linear_Solver](./Linear_Solver/) | AmgX/AmgCL/PETSc/Trilinos/paralution | [CUDA](./CUDA/)、[OpenCL](./OpenCL/)、[MPI](./MPI/)、[Build](./Build/) | | [HPC-IO](./HPC-IO/) | HDF5/NetCDF/VTK、GDS | [GDS](./CUDA/GPUDirect/GDS/)、[MPI](./MPI/) | | [DSL](./DSL/) | OP2 等特定域语言导读 | [Language](./Language/);父仓库 Firedrake / Devito(见下) | | [HPX](./HPX/) | 异步并行运行时 | [Build](./Build/)、[Language](./Language/) | | [garbage](./garbage/) | Linux/git 等备忘(归档,**非主线**) | [Cluster-DIY](./Cluster-DIY/) | 要点:`MPI-GPUDirect` 依赖 `CUDA/GPUDirect`;`AmgX`↔CUDA,`AmgCL`↔OpenCL,`PETSc`↔MPI;`HPC-IO` 中 GDS 与 GPUDirect Storage 相关。 ### 与上级仓库 `hpc-base` 常作为子模块,为父仓库中的地表水、水文、地球物理、湍流等模式提供编译器、MPI、PETSc、CUDA、容器等基座能力。DSL 导读中的 Firedrake / Devito 等,在 monorepo 完整检出时可参考: - `../../SurfaceWater/Firedrake/` - `../../Geophysics/`(如 spyro / Devito 相关目录) 子模块单独克隆时,以上相对路径可能不可用,请到父仓库 OpenGeoModeller 中查看。 ## 目录索引 - [Cluster-DIY](./Cluster-DIY/) — 自建 Ubuntu 集群的硬件与配置 - [Build](./Build/) — Makefile / CMake / SCons / Meson、编译器、Docker / Singularity / Spack - [Language](./Language/) — R / Python / Julia / Java、混合编程 - [CUDA](./CUDA/) — CUDA 基础、GPUDirect、样例与 NVHPC - [OpenCL](./OpenCL/) — 跨厂商 GPGPU - [MPI](./MPI/) — OpenMPI / MPICH、InfiniBand、CUDA-aware MPI - [Linear_Solver](./Linear_Solver/) — AmgX / AmgCL / PETSc / Trilinos / paralution - [HPC-IO](./HPC-IO/) — HDF5 / NetCDF / VTK - [DSL](./DSL/) — OP2 等特定域语言导读 - [HPX](./HPX/) — 异步并行运行时 - [garbage](./garbage/) — Linux / git 等备忘(归档向,非主线) ## 推荐阅读路径 1. **机器与集群**:先看 [Cluster-DIY](./Cluster-DIY/),运维命令可参考 [garbage](./garbage/) 2. **编译与容器**:看 [Build](./Build/)(尤其 [Docker](./Build/Docker/) / [Spack](./Build/Spack/)) 3. **GPU / 多节点并行**:[CUDA](./CUDA/) → [MPI](./MPI/)(GPUDirect)→ [Linear_Solver](./Linear_Solver/) / [HPC-IO](./HPC-IO/) 4. **高层抽象**: [DSL](./DSL/) / [HPX](./HPX/),并结合父仓库具体模式文档