登入平台,选择高性能计算HPC,可以看到有两个选项,一个是控制台,一个是登录节点。其中,控制台是启动超算代码运行的入口,在里面我们可以编写运行模板,指定需要的计算资源及运行代码入口等;登录节点是我们对代码进行编译的地方。

 

大连人工智能计算平台——华为昇腾AI平台——高性能计算HPC的基础介绍_杂谈

 

 

 

进入控制台:

大连人工智能计算平台——华为昇腾AI平台——高性能计算HPC的基础介绍_超算_02

 

 

在控制台中最为主要的工作就是编写运行模板:

大连人工智能计算平台——华为昇腾AI平台——高性能计算HPC的基础介绍_杂谈_03

 

大连人工智能计算平台——华为昇腾AI平台——高性能计算HPC的基础介绍_杂谈_04

 

 

选择进入登入节点:

大连人工智能计算平台——华为昇腾AI平台——高性能计算HPC的基础介绍_杂谈_05

 

 

=======================================

 

首先给出 C 运行环境的配置:

 

demo代码,hello.c 

#include "mpi.h"  
#include <stdio.h>  
#include <math.h>  
int main (int argc, char **argv)  
{  
int myid, numprocs;  
int namelen;  
char processor_name[MPI_MAX_PROCESSOR_NAME];  
MPI_Init (&argc, &argv);  
MPI_Comm_rank (MPI_COMM_WORLD, &myid);  
MPI_Comm_size (MPI_COMM_WORLD, &numprocs);  
MPI_Get_processor_name (processor_name, &namelen);  
fprintf (stderr, "Hello World! Process %d of %d on %s\n", myid, numprocs, processor_name);  
MPI_Finalize ();  
return 0;  
}

 

 

 在编译前设置环境,编译后设置运行权限:(在登录节点中的操作)

MPI_CC=/home/HPCBase/compiler/bisheng-compiler-2.1.0-aarch64-linux/bin
MPI_LIB=/home/HPCBase/HMPI/hmpi/lib/

export PATH=$MPI_CC:$PATH
export LD_LIBRARY_PATH=$MPI_LIB:$LD_LIBRARY_PATH



clang hello.c  -fPIC   -lmpi -o hello -I /home/HPCBase/HMPI/hmpi/include -L /home/HPCBase/HMPI/hmpi/lib/



chmod a+x hello
./hello

 

 

在登录节点运行结果(编译结果):

大连人工智能计算平台——华为昇腾AI平台——高性能计算HPC的基础介绍_杂谈_06

 

 

在登录节点编译后,并进行了简单的测试,证明编译的代码没有问题。编译好代码后回到控制台编写运行作业。

 

大连人工智能计算平台——华为昇腾AI平台——高性能计算HPC的基础介绍_服务器_07

 

大连人工智能计算平台——华为昇腾AI平台——高性能计算HPC的基础介绍_服务器_08

 

 

提交作业后,运行成功:

大连人工智能计算平台——华为昇腾AI平台——高性能计算HPC的基础介绍_超算_09

 

 

 

 

 

=======================================

 

需要注意的是这里只是给出了基础的操作,所运行的C语言代码只实现了单机运行,关于其他的作业参数本文并没有给出具体介绍,余下的介绍留给后文。

 

 

知识点:

关于超算的MPI进程的启动需要知道的是共有两种启动方式,一个是在控制台中填写作业模板中的参数并提交;另一个方法是在登录节点直接调用作业提交命令dsub来进行提交。

 

关于超算平台的物理结构:(下图)

需要注意的是:

1. 我们的控制节点和登录节点都是这个master服务器;

2. master服务器并不应该进行任何计算,不过对于C语言来说依旧可以在master节点上进行编译的,当然理论上也不建议在master节点上进行大规模的编译工作,因为这个master节点的算力有限而且是公用的;

3. slave节点才是正在进行运行的节点,虽然master节点也可以进行单机运行,但是如果你敢在master节点上长时间运行代码要小心管理员找你细谈;

4. 我们使用者只能通过ssh或者web ssh访问master节点,并不能直接访问slave节点;

5. master节点通过dsub作业提交程序和所有slave节点进行连通,master节点不能通过ssh访问slave节点,也就是说master节点和slave节点是做了一定的隔离的;

6. master节点通过dsub与所有slave节点连接,所有slave节点彼此通过ssh互相连接(因为mpirun --host 就是通过ssh连接的);

7. 我们在master节点上上传的代码和数据以及作业其路径在master节点和slave节点上都是相同的,master节点和slave节点的磁盘结构和内容可以看做是相同的,slave节点相当于master节点的镜像(搞过Hadoop的人估计好理解这一点);

 

大连人工智能计算平台——华为昇腾AI平台——高性能计算HPC的基础介绍_杂谈_10

 

 

 

 

 

=======================================