@Yalei-SONG
2020-10-18T07:06:21.000000Z
字数 4030
阅读 291
slurm
computer
cluster
master 登录,管理,存储
2 Sockets
Intel® Xeon® Gold 5120 Processor
number of Cores 14
number of Threads 28
Processor Base Frequency 2.20 GHz
Max Turbo Frequency 3.20 GHz
SSD 480GB x 2
node[1-8] 计算
4 Sockets
Intel® Xeon® Gold 6140 Processor
number of Cores 18
number of Threads 36
Processor Base Frequency 2.30 GHz
Max Turbo Frequency 3.70 GHz
SSD 480GB x 2
Storage
SAS 10TB x 24
dynamic backup -10TB x 2
RAID 6 -10TB x 2
......
170TB
A computer cluster is a set of loosely or tightly connected computers that work together so that, in many respects, they can be viewed as a single system. Unlike grid computers, computer clusters have each node set to perform the same task, controlled and scheduled by software.
https://www.wikiwand.com/en/Computer_cluster
NFS 共享存储空间
https://www.wikiwand.com/en/Network_File_System
NIS 共同的用户信息
https://www.wikiwand.com/en/Network_Information_Service
NTP 共同的时钟
https://www.wikiwand.com/en/Network_Time_Protocol
Linux内核
系统内存管理
物理内存,虚拟内存(交换空间,swap space)
频繁读写,/dev/shm
软件程序管理
进程,进程号(PID),ps
硬件设备管理
硬件,驱动,设备文件,/dev
文件系统管理
ext, ext2-4, iso9660, msdos(FAT16), nfs, ntfs, vfat(FAT32), smb, exfat
GNU工具组件
GNU coreutils
处理文件,操作文本,管理进程
shell
GNU/Linux shell 交互式 内置命令 脚本文件
图形化桌面环境
X Window系统
KDE
GNOME
应用软件
gparted/parted
mathematica/math
matlab/matlab -nodisplay -nodesktop -nosplash -nojvm
CLI 命令行界面,Linux控制台,终端模拟包
字符集,ASCII,ISO-xxxx, UTF-8,记事本,notepad++,vim,emacs
文件系统
inux目录结构
/bin 存放系统命令
/boot 存放着系统的启动文件和内核
/dev 设备文件主目录(设备不在这里,具体设备息/proc目录中)
/proc 系统进程和系统硬件信息
/etc 系统 主配置文件 主目录
(windows下安装QQ,安装目录在E:盘,C盘也会写入相应的QQ软件信息
c盘的QQ文件称之为主配置文件(系统文件)---/etc)
/var 系统配置文件主目录
(E盘的QQ安装目录的文件称之为配置文件(功能型文件)---/var)
/home 普通用户的家目录
/lib&lib64 系统库文件存放的目录 .dll
/usr 系统帮助文档以及源码包安装位置 源码包不属于RedHat,属于广大的爱好开发者
usr目录是最庞大的目录,要用的应用程序和文件几乎都在这个目录
/sbin 超级用户使用的命令存放的目录
/mnt 用户挂载目录
/run 存放当前运行程序库的目录(当前运行的目录)
/root 超级用户root家目录
/tmp 临时文件存放目录 系统启动过程中会产生一些临时文件,这些临时文件就存放在tmp目录下
如果说tmp目录没有存储空间,系统一定启动不起来
/media 可移动介质挂载点
/opt 第三方应用程序文件存放目录
命名法则及规定:
文件命令规则:
1、除了/(根目录)之外,所有的字符都合法。
2、有些字符最好不用,如空格符、制表符、退格符和字符@#¥()- 等。
3、避免使用 ▪ 作为普通文件名的第一个字符。
4、大小写敏感。
变量命名规则:
1)变量名必须有一定的意义,并且意义准确。例如有一个变量用于保存图书的数目,可以命名为number_of_book或者num_of_book。不建议使用i,因为它没有意义。也不建议使用number或book,因为意义不准确。
2)不建议大小写混用。如定义一个计数变量,int nCount;这在Windows中是一个很好的变量名,其中nCount的首字母n用来说明这个变量的类型是int。但在Linux下不建议大小写混合使用,一般标识符只由小写字母,数字和下划线构成。
3)在失去意义的情况下,尽量使用较短的变量名。例如有一个变量,用于暂时存储一个计数值,把变量命名为tmp_count显然要比this_is_a_temperary_counter好。
4)不采用匈牙利命名法表示变量的类型。如int nCount;n用于说明变量的类型,在Linux中不建议这样命名变量。
5)函数名应该以动词开头,因为函数是一组具有特定功能的语句块。比如一个函数,它用于取得外部输入的数值,则可以命名为get_input_number。
6)尽量避免使用全局变量
cd 相对路径,绝对路径
ls, ll, l.,
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
ls -l mypro?
ls -l mypro*
touch
cp
ln
mv
rm
mkdir
rmdir
stat
file
cat more less tail head
top
ps
kill
mount
umount
df
du
dd
sort
grep
tar
bzip
gzip
zip
7za
NodeName=node[1-8] CPUs=144 Sockets=4 CoresPerSocket=18 ThreadsPerCore=2 State=UNKNOWN
PartitionName=ptt1 Nodes=node[1-2] MaxTime=INFINITE State=UP
PartitionName=ptt2 Nodes=node[3-8] Default=YES MaxTime=INFINITE State=UP
ssh --> master
IP: 210.26.51.241
Port: 10022
sinfo
idle mix
squeue
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
srun \
-p ptt1/ptt2 \
-c 1\10 \
--mem=1M/20G \
matlab -r 'main' 1>log.txt 2>err.txt \
&
sbatch
sacct
scancel
命令行提交matlab程序,-r 'main'
交互,quit,
内存,变量,clear,
事先声明变量大小,
随机数的生成放在循环外
imwrite输出图像,减少冗余
数据类型转换
变量列优先原则
了解寻址方式,角标与索引
利用逻辑值矩阵代替判断与循环
cell中的()与{}
char与string,‘与"
循环中的临时变量的重置
(不定长度变量,追加,部分替换)
使用%%对代码分节
使用ctrl+I对代码自动排版
了解figure的层级结构
查查gcc手册就知道了,每个编译选项都控制着不同的优化选项 下面从网络上copy过来的,真要用到这些还是推荐查阅手册
-O设置一共有五种:-O0、-O1、-O2、-O3和-Os。
除了-O0以外,每一个-O设置都会多启用几个选项,请查阅gcc手册的优化选项章节,以便了解每个-O等级启用了哪些选项及它们有何作用。
让我们来逐一考察各个优化等级:
-O0:这个等级(字母“O”后面跟个零)关闭所有优化选项,也是CFLAGS或CXXFLAGS中没有设置-O等级时的默认等级。这样就不会优化代码,这通常不是我们想要的。
-O1:这是最基本的优化等级。编译器会在不花费太多编译时间的同时试图生成更快更小的代码。这些优化是非常基础的,但一般这些任务肯定能顺利完成。
-O2:-O1的进阶。这是推荐的优化等级,除非你有特殊的需求。-O2会比-O1启用多一些标记。设置了-O2后,编译器会试图提高代码性能而不会增大体积和大量占用的编译时间。
-O3:这是最高最危险的优化等级。用这个选项会延长编译代码的时间,并且在使用gcc4.x的系统里不应全局启用。自从3.x版本以来gcc的行为已经有了极大地改变。在3.x,-O3生成的代码也只是比-O2快一点点而已,而gcc4.x中还未必更快。用-O3来编译所有的软件包将产生更大体积更耗内存的二进制文件,大大增加编译失败的机会或不可预知的程序行为(包括错误)。这样做将得不偿失,记住过犹不及。在gcc 4.x.中使用-O3是不推荐的。
-Os:这个等级用来优化代码尺寸。其中启用了-O2中不会增加磁盘空间占用的代码生成选项。这对于磁盘空间极其紧张或者CPU缓存较小的机器非常有用。但也可能产生些许问题,因此软件树中的大部分ebuild都过滤掉这个等级的优化。使用-Os是不推荐的。