什么是 HPC 内核 (MPI-OpenMP)?
Posted
技术标签:
【中文标题】什么是 HPC 内核 (MPI-OpenMP)?【英文标题】:What is a HPC kernel (MPI-OpenMP)? 【发布时间】:2019-08-25 02:16:23 【问题描述】:用简单的语言来说,内核是什么以及它的用途是什么? 我看过并行化代码,例如:
#!/bin/bash
#SBATCH --job-name=bt-mz
#SBATCH --output=bt-mz_%j.out
#SBATCH --error=bt-mz_%j.err
#SBTACH --nodes=1
#SBATCH --ntasks=12
#SBATCH --cpus-per-task=4
#SBATCH --qos=debug
#MPI + OpenMP
export NAS_PATH=$HOME/bin
export OMP_NUM_THREADS=4
srun $NAS_PATH/bt-mz.C.12 srun $NAS_PATH/sp-mz.C.12
其中 sp-mz.C.12 和 bt-mz.C.12 被称为内核 (BT-MZ-MPI SP)。这些是什么?
【问题讨论】:
这是一个高度模糊的术语,它高度依赖于上下文。这就像问“什么是节点?”。 BT-MZ-MPI SP 是我所知道的最先进的内核@Zulan 【参考方案1】:这是一个benchmark,包括许多组件,其中一些与解决nonlinear PDEs(BT、SP、LU)的合成系统有关。解决此类偏微分方程涉及所谓的kernels,它们基本上是具有特定属性的函数。此类函数还用于概率密度估计、信号分析等。
【讨论】:
Green 的内核类比对我来说似乎有点牵强。我想说我们称之为kernel,因为它是解决方案过程的核心。求解 PDE 涉及许多步骤,求解线性代数方程组是计算量最大的部分,David Bailey 正确地将其称为内核。尤其是所有的 NAS 基准测试程序,不仅是与 PDE 相关的程序都是内核。以上是关于什么是 HPC 内核 (MPI-OpenMP)?的主要内容,如果未能解决你的问题,请参考以下文章