从Wordpress到Pelican

1. Introduction 博客对于我的作用,更多是整理知识、备忘。但是随着内容增多,以及因为安全防护问题使用cloudflare作为防火墙,wordpress搭建的博客越来越慢。很早之前就有了对博客进行一次大整理的念头,并有意识地寻找替代框架。在给工具写文档时,发现了pelican,一个python写的静态网站生成器。静态网站生成器的特点就是可DIY性非常强,或者说很多东西都得手撸。 于是2019年开始准备把博客从wordpress迁移到pelican上来。 more ...

Qt 5.9.0 MinGW 静态编译版本

1. Introduction 本文主要内容系转载自Qt for Windows:Qt 5.9.0 MinGW 静态编译版本(包含OpenSSL),后面添加了upx二进制压缩加壳工具的简单说明。 最近想起很久以前写的一个工具,发现使用的依赖源仍在更新,就顺手修改了下依赖源更新了一版。记录下qt的安装编译环境。 2. Qt静态编译环境配置 2.1 下载编译好的包 more ...

半精度浮点数Half

1. Introduction 本文介绍了半精度浮点数的基本概念以及f32到f16转换的截断法。 混合精度逐渐成为提升深度学习速度的一种有效方法,其本质上,是以运算的精度换速度,当然前提是精度需要在可接受的范围内,或者说应用本身具有容错性(error tolerant)。 在cuda中,half2以及tensorcore的应用,就是对于精度损失容忍性的体现。 在线进制转换工具 2. 半精度浮点数 2.1 位宽 more ...



使用GPGPU-SIM做实验

1. Introduction 本文说明了使用gpgpusim做实验需要注意的问题以及做出的修改。 强烈不推荐使用gpgpusim做实验。 如果是改SASS,建议maxas或者asfermi(尽管他们可能会有这样那样的问题,而且使用起来难度不小)。使用模拟器,是被reviewer攻击的常用点,除非你有足够强有力的解释,否则这会成为你论文的掣肘。 使用模拟器发的A,一般工作量会很多。 more ...

cuda寄存器限制launch_bound和maxrregcount

一个CUDA程序如果使用的寄存器数量过多,会导致在SM上同时驻留的线程和block数量减少,继而导致程序性能不足。 __launch_bounds__和maxrregcount都可以用来限制cuda程序的寄存器数量,但是两者是不同的机制。 __launch_bounds__ __global__ vo more ...


gpgpusim runtime的dockerfile

Introduction 之前写过一篇在docker里跑gpgpusim(下称参考文献1),今天花了一点时间,写了个完整的dockerfile,并上传到了docker hub上去。现在简化一下运行的步骤。 gpgpusim-runtime 在docker hub的地址: https://hub.docker.com/r/findhao/gpgpusim_runtime/ 运行 执行参考文 more ...

实验室旧机器改造

实验室项目入了一台矿机做研究之用。8块RX580,每块8G GDDR5。考虑到实验室目前的GPU分配情况以及矿机过高的功率,鞠总决定拿出两块,放实验室旧机器上。但是实验室目前的主流机器是Dell OptiPlex 7010,大概属于中塔类型,但是放不进去全尺寸的RX580,遂买了先马的大机箱,以及新配的安钛克的500w电源。在这个过程中,了解到了很多关于组装机器的知识,写本文以记录。 品牌机主板可能会比较奇葩,比如7010自带245w的电源,换成惠普品牌机的300w电源,无法开机,一直黄灯报警。一条可行的曲线线路是:7010自带电源用来供给除了RX580以外的部分,惠普的3 more ...