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是第二步中出现的版本
  • 101
  • 0
Daily 2022-08-20
POSTSCRIPT语言是打印机页面描述的一种程序设计语言。他拥有着广泛的图形操作,并且可以以任意方式,包含变量,函数,以及过程的任意组合。 POSTSCRIPT页面描述是由解析器运行的程序(gs),postscript程序通常是由其他应用程序生成的。POSTSCRIPT具有大量的图形运算符,通过他可以更加详细的描述你的页面。 文本的字体,位置,方向,尺寸。 几何图形的大小,方向,宽度,直线和曲线的位置,任何大小形状颜色的空间填充。
  • 163
  • 0
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的卡,默认保留的...
  • 374
  • 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需...
  • 301
  • 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...
  • 283
  • 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...
  • 817
  • 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 >...
  • 639
  • 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...
  • 796
  • 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...
  • 785
  • 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...
  • 861
  • 0
LinuxPC 2022-01-22
摘自Tmux 使用教程 - 阮一峰的网络日志 (ruanyifeng.com) 一、Tmux 是什么? 1.1 会话与进程 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。用户与计算机的这种临时的交互,称为一次"会话"(session) 。 会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。 一个典型的例子就是,SSH 登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。 为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。 1.2 Tmux 的作用 Tmux 就是会话与窗口的"解绑"工具,将它们彻底分离。 (1)它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。 (2) 它可以让新窗口"接入"已经存在的会话。 (3...
  • 912
  • 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...
  • 878
  • 0
ACMFavorite 2022-01-14
康复训练第二场,已经不会做题了。$B$题写的姿势就不对,$C$题也没搞出来。 C 给出$ n $根长度不一的木棍,第 $i$ 根棍子长度为 $a_i$ 。两根长度分别为 $a_b$ 和 $a_c$ 的木棍可以拼接成一根长度为 $a_b+a_c$的木棍,同理 $3$ 根, $4$ 根,甚至 $n$ 根都能拼接。 问:使用这 $n$ 根木棍作三角形的边(一根木棍至多使用一次,也可以不使用),能拼出的面积最大的三角形的面积。 题解 由于数据很小,直接二进制枚举三边的棍子组成情况,然后判断情况是否合法,合法的情况用海伦公式求面积即可, 或者DFS暴力深搜。复杂度$O((1<<n)^3)$。 #include <bits/stdc++.h> #define N 10 using namespace std; typedef long long ll; ll arr[N];int n; ll cal(int tem) { ll res = 0; for (int i = 0; i < n; i++) { if ((tem &g...
  • 999
  • 0
Math 2022-01-03
快速傅里叶变换 准备 FT (Fourier Transform): 傅里叶变换 DFT (Discrete Fourier Transform): 离散傅里叶变换 FFT (Fast Fourier Transform): 快速傅里叶变换 IFFT (Inverse Fourier Transform): 快速傅里叶变换逆变换 旋转因子:$W_{N}^{kn}=e^{-j\frac{2\pi}{N}kn}$ 多项式的系数表示法 形如$a_0+a_1x+a_2x^2+\cdots+a_nx^n$的代数表达式,是以系数形式表示的,将$n$次多项式$A(x)$的系数$a_0,a_1,\cdots,a_n$看作$n+1$维向量$\vec{a}=(a_0,a_1,\cdots,a_n)$, 其系数表示(coefficient representation)就是$\vec{a}$. 多项式的点值表示 如果选取$n+1$个不同的数$x_0,x_1,\cdots,x_n$对多项式进行求值, 得到$A(x_0),A(x_1),\cdots,A(x_n)$, 那么就称$(x_i,A(x_i)):0...
  • 710
  • 0
PC 2022-01-02
首选项设置 编辑->首选项->引用 在这里可以看到很多样式,中文样式常用China National Standard GB/T 7714-2005 (numeric, 中文) 编辑->首选项->导出 导出也选择这个样式 编辑->首选项->高级->文件夹设置 可以设置根目录 插件 Zotfile General Setting use subfolder defined by /%c Renaming Rules {%y_}{%a_}{%t} Advanced Setting zotero-better-bibtex 同步 可以使用mklink实现onedrive的同步
  • 1246
  • 0