LinuxPC 2023-09-25
LSF(Load Sharing Facility)是IBM旗下的一款分布式集群管理系统软件,负责计算资源的管理和批处理作业的调度。它给用户提供统一的集群资源访问接口,让用户透明地访问整个集群资源。它通常是高性能计算环境中不可或缺的基础软件。LSF 是一种强大的工作负载管理平台,提供基于各种策略的智能调度功能,利用分布式的基础架构资源来提高整体的系统性能。用户通过 LSF可以实现集群间的负载均衡,扩展集群构架和资源,最大限度地提高集群的使用效率。 通过集中监控和调用,可以充分共享计算机的CPU、内存、磁盘、License等资源,一组安装了LSF软件的计算机组成了一个集群(Cluster)。Cluster内地资源统一监控和调度。提交给LSF作业的命令就是bsub。 芯片验证过程中跑case或者跑regression的时候经常会使用到bsub命令,上面就是bsub命令背后的原理。下面详细地介绍一些常用命令。 2. 常用命令之bsub详解 2.1 bsub命令的格式: bsub [options] command [argument] 2.2 相关参数: -q 选择作业提交的队...
  • 3431
  • 0
LinuxMathPC 2023-04-15
串行作业示例 #!/bin/bash #SBATCH –J TestSerial #SBATCH -p normal #SBATCH -N 1 #SBATCH –n 1 #SBATCH -o log/%j.loop #SBATCH -e log/%j.loop echo "SLURM_JOB_PARTITION=$SLURM_JOB_PARTITION" echo "SLURM_JOB_NODELIST=$SLURM_JOB_NODELIST" srun ./calc_serial 1000000 mpi作业示例 在HPC上运行任务的主要方法是通过sbatch命令提交一个脚本. sbatch < xxx.sbatch 作业提交脚本格式编写如下,作业控制指令以"#SBATCH"开头,其他注释以"#"开头。例如测试脚本run.sbatch如下: #!/bin/bash #SBATCH -J LShape_adapted-4 #SBATCH -p normal #SBATCH --ntasks-per-node=8 #SBATCH -w comput7,comput12 ###...
  • 4001
  • 0
LinuxPC 2022-09-11
电脑突然断电,开机后发现cuda不可用,于是输入“nvidia-smi”才发现了一个错误,如下 NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver 由于重启服务器,linux内核升级导致的,由于linux内核升级,之前的Nvidia驱动就不匹配连接了,但是此时Nvidia驱动还在,可以通过命令 nvcc -V 找到答案。 解决方法 安装dkms: sudo apt-get install dkms 查看本机连接不上的驱动版本: ls -l /usr/src/ 可以看到有一个nvidia的文件,我这里是 nvidia-xxx.xxx.xx 使用dkms重新安装适合驱动: sudo dkms install -m nvidia -v xxx.xx.xx xxx.xxx.xx是第二步中出现的版本
  • 4707
  • 0
Daily 2022-08-20
POSTSCRIPT语言是打印机页面描述的一种程序设计语言。他拥有着广泛的图形操作,并且可以以任意方式,包含变量,函数,以及过程的任意组合。 POSTSCRIPT页面描述是由解析器运行的程序(gs),postscript程序通常是由其他应用程序生成的。POSTSCRIPT具有大量的图形运算符,通过他可以更加详细的描述你的页面。 文本的字体,位置,方向,尺寸。 几何图形的大小,方向,宽度,直线和曲线的位置,任何大小形状颜色的空间填充。
  • 4754
  • 1
PC 2022-07-06
一、GPU基本模型 0.1 APOD开发模型 即:Assess, Parallelize, Optimize, Deploy 【CUDA优化的冷知识】什么是APOD开发模型? - 知乎 (zhihu.com) 1.1 nvcc nvcc就是CUDA的编译器,CUDA程序有两种代码,在CPU上的host代码和在GPU上的device代码。 1.1.1 常用命令 nvcc单文件编译 GPU设备的应用兼容性和CPU明显不同,CPU每一代指令集一般都兼容上一代指令集,所以已发布的应用可以运行在新一代的CPU硬件上,但GPU新一代指令集不兼容上一代的指令集。GPU使用virtual architectures来保证应用层兼容性(PTX可以看做虚拟的GPU架构,PTX是文本指令)。 指定的虚拟架构版本(PTX),要小于等于生成native二进制代码时候的版本。避免无法从PTX进行jit或者aot生成实际指令。 不指定会使用默认的计算能力。不一定是5.3,如果可能,尽量指定。以及,默认的指定会保留一份PTX。一般够用(除非你在11.x的toolkit上使用Kepler的卡,默认保留的...
  • 24853
  • 0
LinuxPC 2022-07-05
1.1 Makefile文件是什么? Makefile 文件描述了 Linux 系统下 C/C++ 工程的编译规则,它用来自动化编译 C/C++ 项目。一旦写编写好 Makefile 文件,只需要一个 make 命令,整个工程就开始自动编译,不再需要手动执行 GCC 命令。 一个中大型 C/C++ 工程的源文件有成百上千个,它们按照功能、模块、类型分别放在不同的目录中,Makefile 文件定义了一系列规则,指明了源文件的编译顺序、依赖关系、是否需要重新编译等。 Makefile文件是什么? (biancheng.net) 1.2 Makefile文件编写规则 其结构如下: targets : prerequisites command 或者是 targets : prerequisites; command command targets:规则的目标,可以是Object File(中间文件),也可以是可执行文件,还可以是一个标签。 prerequisites:是我们的依赖文件,要生产targets需要的文件,可以有多个,也可以没有。 command:make需...
  • 4239
  • 0
FEMMath 2022-06-22
Consider the equation $$ -\sum_{i=1}^n\frac{\partial }{\partial x_i}a_i(x,u,\nabla u)+a_0(x,u,\nabla u)=0\quad in\;\Omega \tag{1.1} $$ where $\Omega$ is a bounded domain in $\mathbb{R}^N$. On boundary $\Gamma$, add to $(1.1)$ the first boundary value condition $$ u=0\quad on\;\Gamma. $$ Introduce a definition of a generalized solution. Definition 1.1 The function $u\in H_0^2$ is called the generalized solution of problem $(1.1)$ if it satisfied the integral equality $$ \mathcal{L}(u,v)\equiv...
  • 3575
  • 0
Math 2022-03-11
$\delta$函数是一个广义函数,对于一维的$\delta$函数,给出如下定义 $$ \delta=\left\{\begin{aligned}+\infty \quad &x=0\\0\quad &x\neq0\end{aligned}\right. $$ 函数只在$x=0$处有值,在其他区域均为0. 且积分满足如下式子 $$ \int_a^b\delta(x)dx=0,\quad a,b<0\;or\;a,b>0. $$ $$ \int_a^b\delta(x)dx=1,\quad a<0<b. $$ 当积分区域包含点$x=0$时,积分才有值,且值为1,由此知广义函数$\delta(x)$的量纲为$\frac{1}{\left[x\right]}$, 我们可以将$\delta$函数看成某个带参数的函数序列的极限(参数取极限)下的函数。比如$\delta(x)=\lim_{l\to 0}\frac{1}{l}rect(\frac{x}{l})$, rect是矩形函数。 函数性质 挑选性 $$ \int_{-\infty}^{+\in...
  • 5492
  • 0
ACM 2022-03-11
遇见两个树形dp的题目,写一下 牛客小白月赛45-E #include <bits/stdc++.h> typedef long long ll; using namespace std; const int maxn = 1e5 + 10; ll arr[maxn]; ll res = -0x3f3f3f3f; int mark[maxn]; struct node { int y; ll w; node(int a, ll b): y(a), w(b) {} }; vector<node> v[maxn]; ll dfs(int rt, ll val) { ll ans = 0; for (auto to:v[rt]) { node pos = to; if (mark[pos.y]) continue; mark[pos.y] = 1; ll z = dfs(pos.y, pos.w); if (z >...
  • 4094
  • 0
LinuxPC 2022-01-29
mysql服务的启动和停止: net stop mysql net start mysql 登陆mysql: mysql -uroot -p #回车后输入密码,在输入回车即可 显示数据库列表: show databases; 显示数据表的结构: describe 表名; desc 表名; 显示库中的数据表: use mysql; show tables; 建库与删库: create database 库名; drop database 库名; 建表与删表: create table 表名(字段列表); drop table 表名; 清空表中记录: delete from 表名; 显示表中的记录: select * from 表名; 往表中加入记录 insert into TABLE values (“XXX”,“XXX”); 增加新用户 grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码" 选择数据库 use 数据库名; 备份数据库 mysqldu...
  • 4513
  • 0
LangPC 2022-01-29
单元测试 什么是单元测试 首先,它是测试 其次,它是单元测试 举个栗子 实现一个加法函数 func Add(x, y int) int { return x + y } 要测试函数是否正确,我们可能会写下这坨代码 func TestAdd() { type TCase struct { x, y, ret int } cases := make([]TCase, 0, 0) // 第一个 Case cases = append(cases, TCase{ x: 1, y: 2, ret: 3, }) // 第二个 Case cases = append(cases, TCase{ x: -1, y: 1, ret: 0, }) for _, c := range cases { got := Add(c.x, c.y) if got != c.ret { log.Prin...
  • 4176
  • 0
LangPC 2022-01-27
Golang的诞生及优势 Golang语言发布于2009年,是一门由Google支持的开源的静态编译型语言。作者是3位资深的语言专家:Robert Griesemer,Rob Pike,Ken Thompson。综合了各流行语言的优势,总体很接近C语言体系,主要优点如下: 简单易学 开发速度快 性能好 并发支持好 Docker、Kubernetes(K8s)、Etcd、Consul、Codis、Tidb等优秀的项目都是基于Golang开发的 容器:数组、切片、映射 数组(Array) 类型定义 数组的类型,取决于数组中的元素类型和数组的长度,其中数组的长度不可变; [N]T,N表示数组的长度,T表示数组中的元素类型,比如[10]int var num1 [10]int var num2 [5]int var num3 [5]int32 reflect.Typeof(num1) == reflect.Typeof(num2) 数组变量声明及初始化 第二种方式只能在函数内使用 var num1 [3]int // num1 := [3]int{} num2 := [3]in...
  • 4915
  • 0
LinuxPC 2022-01-22
摘自Tmux 使用教程 - 阮一峰的网络日志 (ruanyifeng.com) 一、Tmux 是什么? 1.1 会话与进程 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。用户与计算机的这种临时的交互,称为一次"会话"(session) 。 会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。 一个典型的例子就是,SSH 登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。 为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。 1.2 Tmux 的作用 Tmux 就是会话与窗口的"解绑"工具,将它们彻底分离。 (1)它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。 (2) 它可以让新窗口"接入"已经存在的会话。 (3...
  • 4348
  • 0
ACMFavorite 2022-01-21
牛客练习赛95过了两个题,rank165/1153,成功的把练习赛做成了百度之星。小白月赛过了4个题,rank215/1709,找回点做题的感觉了,手速还是不行,一些基本的建表建树,STL用法,都是变搜边用,对边界数据也不是很敏感。总归是再向好的地方发展。 练习赛95B 由叉积计算面积的公式 $$ S=\frac{1}{2}|(x_i-x_k)(y_j-y_k)-(x_j-x_k)(y_i-y_k)| $$ 可以发现面积是否为整数只与$i,j,k$三个点的$x,y$坐标的奇偶性有关,并且由于问的是非整数,可以忽略三点共线等情况(这些情况面积是整数$0$, 不会计入答案) TZOJ 2519 Regetni(N个点求三角形面积为整数总数) #include<bits/stdc++.h> using namespace std; typedef long long ll; struct point { ll p,q,c; bool operator<(const point &d)const{ if(p<d.p)retu...
  • 4716
  • 0