• 使用 AVX 系列指令集进行向量化

    |

    最近上课讲到了向量化的内容,我顺便整理了一下自己手头以前相关的资料。下面内容的主要关注点是在 x86 平台上让编译器进行自动向量化,但是第二部分所提到的一些原则在各个平台上都适用。

  • Install Arch Linux on a USB Key

    |

    前些天学校发了一个 2GB 大小的 U 盘,这样一来我手上就多了个 U 盘。我就把原来的一个 16GB 的 Kingston USB Data Traveler 腾了出来,打算装个 Arch Linux 在上面随带随用。Arch 的安装教程网上也是多不胜数了,个人觉得写得比较好的是这个 给 Linux 萌新的 Arch 安装指南 . 本文下面的记录与这个指南大体相同,只是增加了一些个人需要的东西。

  • CPU Case Study - Optimizing DGEMM

    |

    Yet Another GEMM Study.

    两年前我按 Ref. 1 的页面(以前还没有 GitHub Repo 和 Markdown pages 呢)做过一次 DGEMM Optimization,当时做的效果其实不是很好。去年叶老师给我看了一下 BLIS 这个项目,说里面分块和分级 Cache 的思路值得一看。前两天一搜,居然出了 Ref. 2 这个 Repo,有如此详细的指导和参考代码,不自己造一次轮子简直说不过去了。我最后撸出来的代码在 这里

  • CUDA Case Study - SGEMM on Pascal

    |

    最近自己重新学 CUDA (以前上过课,长时间不用又忘记了),找些经典的 case study 自己照猫画虎弄一次加深一点认识。HPC 领域里一个绕不开的例子就是 xGEMM,即稠密矩阵-矩阵乘法。网上关于 CUDA 如何实现高性能 xGEMM 的介绍不多,而且很多都是 Fermi 时代的资料,面对 Kepler 有详细介绍的只有 Ref No.2 那个网页。我以 Ref No.1, No.2 两个网页的资料和代码为蓝本,一并参考了其他一些文章,自己动手实践了一下,代码在 这里

  • 排序与 Cache Miss

    |

    最近学完了 CSE 6220 这门课,补完了一些基础理论知识。这门课有6个 lab work,最后一个 Cache-Oblivious Sorting 有些意思,记录一点我的思考。

  • 不正经的围观群众与吃喝玩乐——我的 ASC17 之旅

    |

    时光流转,熬过了半年从零开始的学英语生活,又到1月ASC开球的时候。凑了三年热闹,我自然也不会放过这最后一年。好在今年不用我下场,毕竟我自己作死选了个说难不难说水不水的毕设题目。我又贪玩,中间跑出去日本浪了半个月。所以,又要拖累叶总了,他又要管比赛,又要管我的论文,我真是给他添了太多麻烦了。