分类 未分类 下的文章

environment

每个 spack 环境包括两个文件 spack.yaml, spack.lock ,可以用来在其他机器上建立相同环境

Configuration Scopes

2023-12-21T04:06:07.png

spack config blame [scope] 查看一个 scope 的 config 出处

module 路径: $SPACK_ROOT/share/spack/modules
包配置路径 : $SPACK_ROOT/var/spack/repos/builtin/packages

一些开源包

zlib : 无损压缩,DEFLATE算法,结合 LZ77 和 Huffman 编码,使用在 PNG 和 zip 格式中

hwloc :hardware locality,抽象当代处理器的复杂 hierarchy

HDF5 :Hierarchical Data Format version 5,保存大量复杂数据,支持压缩

pkgconf :管理软件编译,向编译器提供必要的编译和链接flag,是 pkg-config 包的代替

ncurses :new curses,创建 text user interface

GCC

编译流程:

Frontend pass :
通过源码生成 Abstract Syntax Tree (AST)

Middle-end pass :
将 AST 转换为 GIMPLE 中间表达(high-level,语言无关)
将 GIMPLE 转换为 SSA (Static Single Assignment) 格式

Backend pass :
将 GIMPLE 转换为 low level, 机器无关的中间表达 RTL (Register Transfer Language)

IPA : Interprocedural Analysis,考虑多个函数或多个文件的优化

使用 -fdump-passes 编译选项输出 GCC 使用的所有 pass
-fdump-tree-all 输出所有 gimple pass
-fdump-rtl-all 输出所有 RTL pass

编译选项:

-m : 机器相关选项

LLVM

llvm IR

因为想搞一个 centos 环境,但手头只有 debian,所以打算用 docker 搞一个 centos 环境

用了 spack/centos7 这个镜像,看起来自带 spack

sudo docker run -it spack/centos7 #运行 docker 
docker ps # 显示当前运行的 docker
sudo docker exec -it e165d3e15452 bash # 在已经运行的 docker 中执行 bash
sudo docker run --net=host --env HTTPS_PROXY="127.0.0.1:10987" --env HTTP_PROXY="127.0.0.1:10987" -it spack/centos7 # docker 设置 localhost 代理
sudo docker commit 94baf9f11069 blender # 保存正在运行 docker 的修改到新的 docker

一个纯个人兴趣需求导向的东西
用闲置的笔记本插上4T硬盘,当服务器配一个私有云服务器
宿舍不断电正好搞点事情x

需求主要是 当云盘远程读写东西,北邮人bt做种(不想用新电脑的ssd做种),远程播放视频图片

首先装一个 ubuntu 22 desktop, server 版没有 gui
老样子网络配 auth-thu

不得不说校园网公网 ipv4 是好文明
用 xrdp 搞一个远程桌面环境
看起来服务器同时只能起一个桌面环境,所以要关掉 gui 登录,改成 multiuser target

看了一圈好像 nextcloud 不错,尝试整一个
根据教程:nextcloud教程

sudo snap install nextcloud
sudo snap stop nextcloud
sudo snap start nextcloud
 /var/snap/nextcloud/common/nextcloud/data

发现这玩意跟我想要的不一样,我本质上是想整个远端文件 browser,但这玩意是直接搞出了一个单独的云盘,不太好直接链接本地的目录

转而用 filebrowser 这个东西
相当于开了一个 web 来浏览文件
对目录开启 filebrowser:

filebrowser -r $PWD -a $IP