【超算/先进计算学习】日报3

news2024/11/23 9:15:01

目录

  • 今日已完成任务列表
  • 遇到的问题及解决方案
  • 任务完成详细笔记
    • 作业管理系统 slurm
      • 作业管理系统及常用用户命令
      • 节点状态查询/作业提交命令
      • 作业队列查询/作业取消命令
      • 任务练习
    • 调试器 GDB
      • 实时调试
      • core 文件调试
  • 对自己的表现是否满意
  • 简述下次计划
  • 其他反馈

今日已完成任务列表


4-2、作业管理系统 slurm、调试器 GDB

遇到的问题及解决方案


任务完成详细笔记


作业管理系统 slurm

作业管理系统及常用用户命令

资源管理系统命令

  • 管理命令
    管理员操作和使用、管理节点以及管理员权限才能执行
  • 用户命令
    常用用户命令:

yhinfo / yhi:资源信息查询
yhalloc:资源申请 (强占)
yhrun:作业提交 (自动申请资源)
yhqueen / yhq:作业队列查询
yhcancel:作业取消
yhbatch:批处理作业 (输出被保存到 slurm-jobID.out 下)
yhacct:作业历史查询

节点状态查询/作业提交命令

  • 节点状态、资源信息查询 yhinfo / yhi

thcp1:分区名,之后使用 -p 命令指定
up:表明分区上线,可以使用
infinite:表明分区使用时间为无限长
266:处于某一状态的节点数量
STATE:节点状态

alloc:表示以及被分配的节点,已经被别人用了,现在不可用
resv:保留的节点,可能有问题或者其他,不可用
idle:空闲节点,表示可以使用的节点
down:节点被关机

NODELIST:处于该状态的节点编号

在这里插入图片描述

  • 作业提交
    yhrun -p [partitionName] -N [nodesNum] -n [totalProcs] -c [numThreadss] [binaryPath]

-p:指定分区
-N:指定程序使用的节点数
-n:指定程序使用的总进程数目,每个节点启动约 n/N 个进程,整除
-c:指定每个进程可使用的处理器个数,通常应该等于每进程派生的线程数
[binaryPath]:可执行文件名字,相对或绝对路径,后面可以继续带程序自身的运行时参数

  • 批处理作业
    yhbatch -p [partitionName] -N [nodesNum] [scriptPath]

scriptPath:shell 脚本文件,需要包含yhrun命令
【yhbatch 提交的作业终端关闭时不会受到影响,登录节点 down 时也不会受到影响】

作业队列查询/作业取消命令

  • 作业队列查询
    yhqueen / yhq [options]

-a:查询所有作业
-u :查询指定用户提交的作业
-n :查询指定名称的作业
-s :查询指定状态的作业
-p :查询指定分区的作业

在这里插入图片描述

JOBID:作业 ID 号,可以根据作业 ID 使用其他操作,如取消 yhcancel 等
PARTITION:分区名称
NAME:可执行文件名
USER:用户
ST:状态,R 表示 RUN,还有排队PD等
TIME:运行了多长时间
NODES:使用的几点数目
NODELIST:具体节点列表

  • 作业取消
    yhcancel [JOBID] / yhcancel name=[NAME]

当作业运行时间 (TIME) 远大于预期的运行时间时,可能是出现了问题,此时可以选择取消该作业

任务练习

对于一个可执行文件 saxpy.exe,通过 slurm 系统,编写 shell 脚本 yhrun.sh,通过 yhrun 命令把程序二进制文件提交到计算节点进行串行计算,使用 yhbatch 命令,提交 yhrun.sh 脚本,使程序在后台运行
yhrun.sh

#!/bin/bash
yhrun -c 1 -N 1 -n 1 ./saxpy.exe

执行命令

yhbatch -N 1 -p thcp1 ./yhrun.sh &

调试器 GDB

实时调试

在这里插入图片描述
在这里插入图片描述
如何进入调试环境运行程序

  • 源码编译阶段,需要添加调试选项 “-O0 -g”
    gcc -O0 -g -o exe file.c
  • 进入实时调试的方法
    1、先使用 gdb 命令进入 gdb 窗口,再使用 file 命令加载二进制文件:file exe [命令行参数]
    2、使用 gdb exe [命令行参数] 直接进入调试模式

l 展示代码
例如:展示第 10 行,l 10 会将其上下 5 行均展示
b [行号] 在指定行处打断点
r 运行程序
p [变量名称] 查看代码中指定变量的值
c 继续执行程序
q 退出程序
info break 查看所有断点信息
disable [断点编号] 禁用指定的断点
enable [断点编号] 恢复指定的断点
clear [断点编号] 删除指定断点
watch [变量名称] 跟踪指定变量

core 文件调试

  • core 文件
    core 文件 (core dump 文件),有问题的程序运行后,产生 “段错误” 时生成的具有堆栈信息的调试信息的文件
  • 生成 core 文件
    1、使用 ulimit -c 查看 core 开关,如果为 0 表示关闭,不会生成 core 文件
    2、使用 ulimit -c [filesize] 设置 core 文件大小,在最小设置为 4 之后才会生成 core 文件
    3、使用 ulimit -c unlimited 设置 core 文件大小为不限制 (常用)
  • core 文件的目录
    默认情况下一般 core 文件的生成目录为程序运行当前目录,用户无须自行修改

gdb -c:使用 core 文件记录的信息进入程序调试 (输入 I 可以显示更多崩溃点附近的代码)
Backstrace,简写 bt,查看崩溃/断点附近的程序调用栈信息
frame [n],简写 f [n],查看调用栈的 #n 层
down,显示程序调用的更深层
up,显示程序调用的外层主调 (函数)

对自己的表现是否满意


今天的学习内容较少,初次了解作业管理系统slurm,感觉这种远程计算的方式还是挺新鲜的,期待之后的学习内容 (≧∇≦)ノ

简述下次计划


下次想要进入对高性能传统优化技术的学习

其他反馈


每周只开放部分的学习阶段吗?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/449528.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring的体系结构

Spring的体系结构 一、Spring简介1. Spring介绍1.1 为什么要学1.2 学什么1.3 怎么学 2. 初识Spring2.1 Spring家族2.2 Spring发展史 3. Spring体系结构3.1 Spring Framework系统架构图3.2 Spring Framework课程学习路线 4. Spring核心概念4.1 目前我们代码存在的问题4.2 核心概…

『Linux从入门到精通』第 ⑫ 期 -深入了解冯诺依曼体系结构与操作系统(Operator System)

文章目录 💐专栏导读💐文章导读🌷计算机之父——冯诺依曼🌷冯诺依曼体系结构🌺木桶效应 🌷操作系统(Operator System)🌺如何理解操作系统🌺系统调用和库函数概念 💐专栏导…

论文结构商讨

论文查重 pass软件 提出问题 1、由于选取的算法太多了,不知道是简单介绍,还是深入介绍 希望找到一个具体的模板 2、数据库要是用一个就在前面介绍,用不一样的就在每章里面分别介绍 4、数据集介绍放在那个具体位置? 如果可以画出…

蓝精灵事件来袭: 深受喜爱的蓝色角色来 Web3 啦!

起源于漫画并成为国际知名的卡通和电影明星的蓝色x小家伙正在进入 NFT 舞台。 作者:Coindesk——Toby Bochan 因漫画、卡通片和电影而闻名的热门动画系列“蓝精灵”正在展开新的冒险,由蓝精灵协会推出一系列新的非同质化通证(NFT)…

汽车ECU的内部构成与功能模块

摘要: ECU作为与外部通信的接口,为了通过微控制器运算实现符合实际状态的最佳控制,需要检测外部状态的输入手段及实际控制驱动的输出手段。 1. 常规功能模块 ① 电源:向ECU内的各模块提供稳定的电压(5V、3V等&#xf…

sequelize + Nodejs + MySQL 的简单用法

How to Use Sequelize ORM in NodeJS - Tutorial 1 Sequlize 简介 Sequelize 是最流行的可以与 Nodejs 一起使用的一种关系数据库 ORM (Object-relational mapping 对象关系映射),Mongoose 是 MongoDB 的 ORM. Sequelize 的作用,简单地说,就…

Netty编解码器,Netty自定义编解码器解决粘包拆包问题,Netty编解码器的执行过程详解

文章目录 一、编解码器概述1、编解码器概述2、编码器类关系图3、解码器类关系图 二、以编解码器为例理解入站出站1、Server端2、Client端3、编解码器3、执行查看结果4、注意事项 三、Netty其他内置编解码器1、ReplayingDecoder2、其他编码器3、内置编解码器处理粘包拆包问题 四…

[LeetCode复盘] LCCUP‘23春季赛 20230422

[LeetCode复盘] LCCUP23春季赛 20230422 一、总结二、 1. 补给马车1. 题目描述2. 思路分析3. 代码实现 三、2. 探险营地1. 题目描述2. 思路分析3. 代码实现 四、 3. 最强祝福力场1. 题目描述2. 思路分析3. 代码实现 五、 4. 传送卷轴1. 题目描述2. 思路分析3. 代码实现 六、 5…

REDIS03_AOF概述、工作流程、写回策略、正常异常流程、重写机制、配置文件详解

文章目录 ①. AOF - 概述作用②. AOF - 工作流程③. 缓冲区 - 写回策略④. 配置文件说明(6 VS 7)⑤. 正常、异常恢复⑥. AOF - 优劣势⑦. AOF - 重写机制⑧. AOF优化配置项详解⑨. RBD和AOF共存模式 ①. AOF - 概述作用 ①. 官网介绍 ②. 以日志的形式来记录每个写操作,将Red…

解决RabbitMQ的The channelMax limit is reached. Try later.

The channelMax limit is reached. Try later.顾名思义就是channel达到数量限制 查看源码得出 大概意思就是: 默认最大通道数;2047,因为它在服务器端是第2048个,每个连接用于协商和错误通信。 也可以在rabbitmq的管控台看出 总结…

单页面与路由

目录 (一)什么是SPA应用? (二)路由 (1)什么是路由? (2)路由的分类 (3)路由的安装和使用 (三)、路由的使…

微服务 - 搭建Consul集群服务,Consul配置中心

传统配置文件的弊端 静态化配置,例如env文件配置文件无法区分环境配置文件过于分散历史版本无法查看 配置中心如何解决的呢?配置中心的思路是把项目中的配置参数全部放在一个集中的地方来管理,并提供一套标准的接口,当各个服务需要获取配置…

d2l 使用attention的seq2seq

这一章节与前面写好的function关联太大,建议看书P291. 这章节主要讲述了添加attention的seq2seq,且只在decoder里面添加,所以全文都在讲这个decoter 目录 1.训练 2.预测 1.训练 #save class AttentionDecoder(d2l.Decoder):"""带有注…

HTTP与HTTPS相关介绍(详细)

HTTP与HTTPS相关介绍 HTTP与HTTPS简述HTTPS和HTTP的区别主要如下HTTPS的工作原理前言工作步骤总结 HTTPS的缺点SSL与TLSSSL:TLS:TLS和SSL的关系 对称加密与非对称加密对称加密非对称加密 HTTP与HTTPS简述 超文本传输协议(Hyper Text [Transf…

如何无侵入地引入第三方组件?

做java开发的小伙伴都知道,java的生态比较繁荣,有各种各样的第三方组件来满足我们日常的开发需求。很多常用的中间件(redis,kafka等)都提供java的开发接口,而且这些接口通常会被封装成比较好用的组件来满足我们使用这些中间件的场…

SpringBoot集成MyBatis-yml自动化配置原理详解

SpringBoot集成MyBatis-yml自动化配置原理详解 简介:spring boot整合mybatis开发web系统目前来说是市面上主流的框架,每个Java程序和springboot mybatis相处的时间可谓是比和自己女朋友相处的时间都多,但是springboot mybatis并没有得到你的真…

RabbitMQ--详情概述

一、消息队列(Rabbit Message Queue) 1、概念 消息队列是一种应用之间的通信方式,消息发送之后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只发布消息到MQ,消息使用者值从MQ中拿消息,两者不知道对方的存在。 简…

Sentinel——限流规则

目录 快速入门 簇点链路 案例 流控模式 流控模式——关联 流控模式——链路 案例 流控效果 流控效果——warm-up 流控效果——排队等待 热点参数限流 快速入门 簇点链路 簇点链路:就是项目内的调用链路,链路中被监控的每个接口就是一个资源。…

【故障检测】基于 KPCA 的故障检测【T2 和 Q 统计指数的可视化】(Matlab代码实现)

💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥 🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 …

[前端基础]异步操作(还没写完)

1.写在前面 这篇是因为最近再写异步操作,需要点总结 因为还在学习前端的过程中嘛,所以有些东西可能会慢慢补充上来,也可能会有很多个人理解不是很到位的地方,还望各位评论区佬能帮忙指出.阿里嘎多捏 2.异步操作的概念和举例 异步操作和同步操作在408的三门课程中,都有所提及…