首页 > 其他分享 >大连人工智能计算平台——华为昇腾AI平台——高性能计算HPC的单任务task的多CPU运行模式

大连人工智能计算平台——华为昇腾AI平台——高性能计算HPC的单任务task的多CPU运行模式

时间:2023-07-04 13:22:05浏览次数:41  
标签:task -- 平台 rank queue num comm 单任务

超算是离我们平时生活比较远的一个事情,即使是对于一个计算机专业方向的学生来说,正好实验室得到了华为的超算平台的使用账号,于是就摸索了一下,不得不承认这个东西确实不是普通人能搞的明白的。

 

基本概念:

一个工作Job可以开多个副本,每个副本都是mpirun -N 所开出的,每个副本又被叫做任务task,而每个任务task又可以申请多个CPU核心和多个GPU计算资源。

 

运算代码:

import mpi4py.MPI as MPI
import sys
import socket
import numpy as np

def func1(queue, num):
    import time
    # time.sleep(num)
    # time.sleep(1)
    x = np.random.rand(100)
    for _ in range(1000000):
        x += np.random.rand(100)
    num += np.sum(x)

    queue.put(num)


def run_queue():
    from multiprocessing import Process, Queue

    ps = 120

    queue = Queue(maxsize=200)  # the following attribute can call in anywhere

    process = [Process(target=func1, args=(queue, num)) for num in range(ps)]
    [p.start() for p in process]
    [p.join() for p in process]
    return [queue.get() for p in process]

 
comm = MPI.COMM_WORLD
comm_rank = comm.Get_rank()
comm_size = comm.Get_size()
node_name = MPI.Get_processor_name()
# node_name = socket.gethostname()
 
# point to point communication
data_send = [comm_rank]*1

comm.send(data_send,dest=(comm_rank+1)%comm_size)

res = run_queue() ###

data_recv =comm.recv(source=(comm_rank-1)%comm_size)

# print("my rank is %d, and Ireceived:" % comm_rank, data_recv, file=sys.stdout, flush=True)
# print(data_recv)

with open("/home/share/xxxxxxxxxx/home/xxxxxxxx/xxxxxxx/results/{}.txt".format(comm_rank, ), "w") as f:
    f.write("my rank is %d/%d, and node_name: %s Ireceived:" % (comm_rank, comm_size, node_name) + str(data_recv) + str(res) + "\n" )

 

 

超算的启动命令:( -R 为task做资源申请 )

一个job开8个task,每个task申请120个CPU:

/opt/batch/cli/bin/dsub  -n task_test -A xxxxxxxxxxxx --priority 9999 --job_retry 10 --job_type hmpi -R "cpu=120;mem=128" -N 8  -eo error.txt -oo output.txt /home/share/xxxxxxxxxx/home/xxxxxxx/xxxxxxx/run_python.sh

运行时间:6分43秒

 

 

一个job开8个task,每个task申请1个CPU:

/opt/batch/cli/bin/dsub  -n task_test -A xxxxxxxxxxxx --priority 9999 --job_retry 10 --job_type hmpi -R "cpu=1;mem=128" -N 8  -eo error.txt -oo output.txt /home/share/xxxxxxxxxx/home/xxxxxxx/xxxxxxx/run_python.sh

 

标签:task,--,平台,rank,queue,num,comm,单任务
From: https://www.cnblogs.com/devilmaycry812839668/p/17525506.html

相关文章

  • 分布式医疗云平台(项目功能简介截图)【
    目录3、看病就诊 3.1、门诊挂号3.2、挂号列表 3.4.我的排班 3.5.医生排班  3.6.患者库 4.收费管理4.1.处方收费  4.2.收费查询 4.3.处方退费4.4.退费查询  4.5.处方发药3、看病就诊 3.1、门诊挂号3.1.1、已存在的患者挂号3.1.2、不存在的患者挂号 直接输入患者信息 ......
  • 分布式医疗云平台(项目功能简介截图)【手机端
    目录7.手机端7.1.首页7.2.医院信息  7.3.人个中心7.手机端7.1.首页7.1.1.绑定完善个人信息 7.1.2.预约挂号 7.1.3.挂号记录 7.1.4.就诊病例7.1.5.病历详情 7.1.6.检查结果 7.1.7.检查结果详情 7.2.医院信息  7.3.人个中心7.3.1.我的档案信息 7.3.2.完善档案......
  • 如易云平台使用
    使用开发流程      在线使用如易云,请参看文章:如易云解密2-自动生成代码。建议在代码生成前将自己的模型建立完整(因为目前如易云对于增量模型的支持还不是很好),下载生成的代码即可正常运行!【注意,默认生成的页面仅仅是对单表数据的维护,不涉及关联属性维护】   ......
  • C# 使用HttpListener时候异常(此平台不支持此操作:System.PlatformNotSupportedExceptio
    C#使用HttpListener时候异常(此平台不支持此操作:System.PlatformNotSupportedException)代码:HttpListenerlistener=newHttpListener();错误:System.PlatformNotSupportedException:OperationisnotsupportedonthisplatformInSystem.Net.HttpListener..ctor()解决办......
  • 关于vue的跨平台打包方式
    在先前写了一个vue的程序,想着万一以后会用到网页端转移动端的功能,就尝试着使用打包功能。1.使用cordova进行跨平台的打包(需要准备:java,sdk(最好下一个androidstudio,要做好发墙的准备),gradle等)具体操作可以参考https://blog.csdn.net/qq_21963133/article/details/88546086,我在使......
  • 组合框架:融合创新技术,实现一次编码多平台运行
    近年来,随着小程序技术及生态的发展,小程序应用已有超过App应用的势头。 根据Statista的数据,截至2021年底,全球移动应用商店上的应用数量约为6600万款。同期,据微信官方数据,截至2021年6月,微信小程序的月活跃用户超过13亿,并且在微信平台上有超过2000万个小程序。此外,除了微信小程......
  • 大连人工智能计算平台——华为昇腾AI平台——高性能计算HPC平台异构计算——NVIDIA GP
       使用华为的超算平台已经好长时间了,一直有个疑问,那就是这个超算平台是否支持异构计算,于是用命令试验了一下,具体命令: /opt/batch/cli/bin/dsub  -ntask_test-Axxxxxxxxxxxx-eoerror.txt-oooutput.txt-R"gpu=1"/usr/bin/nvidia-smi-pm1     -......
  • Eolink 全新一代「AI+API」协作管理平台,大模型驱动打造 API 研发管理与自动化测试!
    行业首发!Eolink全新一代「AI+API」协作管理平台,实现「AI+API」结合,大模型驱动打造API研发管理与自动化测试全新体验。Eolink「AI+API」为API带来什么?输入语义化指令即可生成API文档内容;在API文档测试页中可一键生成测试请求数据;可实现圈定API文档范围智能生......
  • 浅谈安科瑞EMS2.0能效管理平台在制药厂洁净室的电气设计与选型
    罗轩志安科瑞电气股份有限公上海嘉定201801摘要:从设计原则、动力配电、照明配电和通信等方面分析了在洁净室电气设计中应遵循的原则和应注意的问题,并通过附图详细表明了医药洁净室管线的密封处理方法。关键词:医药洁净室;药品生产质量管理规范;密封;照度;应急照明;防静电接地0引言随着......
  • 低代码应用开发平台 高效构建业务系统
    低代码是传统软件开发逐步优化和演变的产物,并非全新革命。传统的开发方法过于昂贵和僵化,无法为企业提供所需的高效和敏捷的开发流程,且交付周期长定制能力弱,难以应对不断变化的市场和客户期望,为提高软件开发效率,对代码进行模块化组装的低代码产品进入开发者视野。低代码是基于可视......