Cache替换策略

1. Introduction本文主要内容系Reference的整理,介绍了cache访问模式的分类和几种cache替换策略。2. Cache访问模式分类$$\begin{align}&A:( a_1 , a_2 , ... , a_{k-1} , a_k , a_k , a_{k-1} , ... , a_2 , a_1 )^ N\text{ for any k}\\&B:( a_1 , a_2 , ... , a_k )^ N \text{ k > cache size}\\&C:(( a_ more ...

罹生2018.12.6

失眠。所以干脆不睡了。我太渴望成功了。世俗意义上的成功。所以我反而有点理解父亲得病时那种不甘心的表现,之后很久很久都没有走出的阴影,以及期间对健康的期望对锻炼身体的急迫。这样的心态和人生是我想要的吗?总是看到说走就走的旅行、归返山林的隐者,那这样的生活是我想要的吗?从小被教育要出人头地,考试成绩好,夸奖和物质奖励,考差了,持续不断地批评,体罚印象里倒是不多。从一年级的第一场考试拿了双百获得的两本《小葵花》开始,我享受到了这种反馈激励奖惩措施的好处。或许是因为第一个激励太重要,现在还记得那两期《 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__ void more ...


攒二手机器

近日从闲鱼攒了一台二手机器,感觉在闲鱼上捡垃圾还是需要避开一些坑的,记录下这次经历,同时也分享一些看到的坑。显示器是15年本科时候天猫买的三星24寸显示器,内存条是去年价格还没有涨出天价时买的两条威刚DDR3 1600 8G。硬盘拆的旧笔记本上的硬盘,一块ssd是15年给笔记本升级买的120G三星850,键盘是15年买的cherry.其实这些配件如果买二手,也占了大概一半成本。所以我还需要买的是CPU主板显卡机箱电源电 more ...