CUDA编程水平高低的不同,会导致几十上百倍的性能差距。但是这篇将聚焦于CUDA的编程语法,编译与运行。
CUDA编程水平高低的不同,会导致几十上百倍的性能差距。但是这篇将聚焦于CUDA的编程语法,编译与运行。
UnimportantView: Film & TV(Anime) Works Rating
我一向的观点是现实生活已经投入了很多时间体验了,影视剧(动漫作品)肯定要是看现实中没有的。这导致的第一个问题就是既然不存在,你怎么让观众相信呢?
喜欢一个角色往往是没有什么理由的,虽然要追求格物致知。但是将最感性的情感拿来分析是不是有点无情呢?
初印象的美好(40)
角色剧情行事逐渐展示出来的
暂无
暂无
看了星野爱之后,我又emo了
MinGW-w64项目,是从原本MinGW产生的分支。如今已经独立发展MinGW Installation Manager 中 勾选 gcc/g++和bash 等项。注意,base包括了关键的make程序。
git bash,就没有上述程序。Pacman的包管理系统, 来提供包的轻松安装和保持更新的方式,Arch Linux用户应该很熟悉这个系统。官网直接下载,但是由于证书的原因,公司内部使用要内网下载。
遵循内部云笔记下载:
存在红色波浪线, 插件clangd导致的
C/C++插件includePathCtrl+Shift+P输入C/C++ 编辑配置E:\\commonSoftware\\msys32\\ucrt64\\includehttps://solarianprogrammer.com/2021/06/11/install-clang-windows-msys2-mingw-w64/
AtomicSimple是最简单规模的模型,一个cycle完成一条指令的执行,memory 模型比较理想化,访存操作为原子性操作。适用于快速功能模拟。TimingSimple模拟器也是无流水线的模拟,但是使用了存储器访问时序模型,用以统计存储器访问延迟。In-Order模型是GEM5模拟的新特性,强调指令时序与仿真精度,流水级为默认五级流水:取值、译码、执行、访存、写回。并且模拟了cache部件、执行部件、分支预测部件等。O3模拟器是流水级模拟,O3模拟器模拟了乱序执行和超标量执行的指令间依赖,以及运行在多CPU上的并发执行的多线程。1 | time ./build/ARM/gem5.fast configs/example/se.py --cmd=/home/shaojiemike/test/llvmVSgem5/MV/MV_gem5 -n 32 --cpu-type=O3CPU --l1d_size=64kB --l1i_size=16kB --caches |
scons build/<config>/<binary> 建立模拟器。<config> gem5的配置文件,如ARM,X86等<binary> 模拟器的类型,有如下gem5.debug 有关闭了优化,使gdb一类的工具更易于调试;gem5.opt有打开优化,但保留了调试输出和断言;gem5.fast去除了调试工具;gem5.prof用于与gprof共同使用1 | scons build/ARM/gem5.fast --debug=presub --verbose -j 32 |
可选选项在./build/ARM/gem5.fast configs/example/se.py -h或者 configs/common/Options.py 中查看
常规的配置:
--list-hwp-types查看。可以指定L1L2cache的HWP类型,如--l1d-hwp-type=TaggedPrefetcher。1 | build/X86/gem5.opt configs/example/se.py |
进阶配置:
运行完SE模式,默认会在指令路径下生成m5out文件夹,其中各文件大致含义如下:
config.ini或者config.json 运行指令的系统参数json格式的文件能比较好的理清config的重要设置[system.cpu] 有CPU的具体设置[system.mem_ctrls.dram] 有DRAM读取数据的具体设置[system.membus] BUS的相关设置stats.txt 模拟结果数据(具体的周期数等)system.clk_domain.clock 1000 # Clock period in ticks (Tick)system.cpu_clk_domain.clock 500 # Clock period in ticks (Tick)fs/proc/lscpu 模拟系统配置(类似lscpu)config.dot.* 模拟的系统结构config.dot 是以文字展示config.dot.pdf 和 config.dot.svg 都是以图片表示
config.dot.svg 能展示每个部件的细节参数 
commitWidth, decodeWidth, dispatchWidth, fetchWidth, issueWidth, renameWidth, squashWidth, wbWidth
下面是行数占比最大的几个部分

perf stat test.exe, 可参考本博客perf文章暂无
暂无
编写脚本/var/services/homes/shaojiemike/wgReboot.sh
1 |
|
chmod +xbash /var/services/homes/shaojiemike/wgReboot.sh暂无
暂无
默认是不开启的,文件/etc/rc.local默认也不存在
/etc/systemd/system目录下启动即可ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service1 | touch /etc/rc.local |
1 | crontab -e |
/etc/init.d目录下建立文件testsudo chmod +x /etc/init.d/test方法一:使用update-rc.d 命令将脚本放到启动脚本中去(debian中可以使用更新的insserv):
1 | $ cd /etc/init.d |
注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。更多说明建议看man update-rc.d。
方法二:手动在rc*.d中建立软连接
1 | $ ls -s test ../rc5.d/S95test |
rc*.d,*代表启动级别,在不同启动级别启动,
K开头的脚本文件代表运行级别加载时需要关闭的,
S开头的代表相应级别启动时需要执行,
数字代表顺序
1 | $ cd /etc/init.d |
1 | /etc/init.d/test start |
使用sudo systemctl enable xxx
1 | systemctl is-enabled servicename.service #查询服务是否开机启动 |
/etc/systemd/system/读取配置文件。/usr/lib/systemd/system/,真正的配置文件存放在那个目录。systemctl enable命令用于在上面两个目录之间,建立符号链接关系。
1 | > $ sudo systemctl enable [email protected] |
systemctl enable命令相当于激活开机启动。systemctl disable命令用于在两个目录之间,撤销符号链接关系,相当于撤销开机启动。1 | > $ sudo systemctl disable [email protected] |
sshd.socket。.service,所以sshd会被理解成sshd.service。进入目录/usr/lib/systemd/system,修改webhook.service
1 | [Unit] |
这里有几个模块:
1 | systemctl start nexus.service #启动服务 |
Loaded: loaded (/etc/systemd/system/webhook.service; enabled;这个enabled就是开机启动的意思
暂无
暂无
Codeforces: Another good platform with nice contests where you will get to learn new things that will improve your understanding of concepts. It’s ratings don’t matter to recruiters but the things you’ll learn will help you during interviews and company’s coding tests.
TOPCODER: This caters to every aspect of software develpment. They have both designing and development contest. Major companies provide Topcoder community to experment with their nw products or APIs. But if you want to mention it in your CV, your ratings should be above 1400 to impress a recruiter.
for average is CODEFORCES, for expert TOPCODER
<1200或者unrated(即注册但还没参加过比赛的)参加Div II,>=1200的参加Div I。暂无
暂无
bcdedit /set hypervisorlaunchtype auto参考教程安装 WSL和旧版 WSL 的手动安装步骤
1 | # 查看当前版本 |
注意:用命令行运行来修改默认安装路径(重命名install.exe),参考教程
1 | .\Docker.exe install --installation-dir="E:\commonSoftware\Docker" |
安装完之后运行设置
网络问题,clash开TUN模式
1 | Error response from daemon: container df6ee73697883e8e09edd65404e1fcc19a2b4bfb49212c754a8b3ef9741d7bda: driver "overlay2" failed to remove root filesystem: unlinkat /var/lib/docker/overlay2/475c350b02589ce2cb5ef30f0619ed3aeaba409c56d87191b8cbbd00ef618fe3: read-only file system |
需要管理员运行docker
WSL还是超级占用C盘
1 | (HTTP code 500) server error - ports are not available: exposing port TCP 0.0.0.0:5432 -> 127.0.0.1:0: listen tcp 0.0.0.0:5432: bind: An attempt was made to access a socket in a way forbidden by its access permissions. |
Windows 系统(特别是启用了 Hyper-V、WSL2 或 Docker Desktop 时)会动态保留一段端口范围供内部网络服务使用。一旦端口被列入这个“排除范围(Excluded Range)”,即使没有任何程序正在监听该端口,其他应用程序(包括 Docker)也无法绑定它,从而报错 access permissions。
1 | (finance_env) PS D:\PowerShell\github\AQTP> netsh interface ipv4 show excludedportrange protocol=tcp |
安装 PostgreSQL 15 + TimescaleDB
1 | docker run -d ` |
https://blog.csdn.net/Antarctic_Bear/article/details/123489609