W 楼宿舍优化手记

博士生涯在硕士宿舍住满两年后, 搬宿舍来到了 w 楼老破并不小的双人间. 该楼由于年久失修, 室内状况较差. 墙面, 门, 和卫生间都有一些十分恶心的情况. 本着既来之则安之的思路, 自强不息的精神, 进行一些尽力而为的改造和优化, 并记录在这里以供他人 (大概不会有了吧) 参考. 室内布局 下图是一个并不等比例的示意图. w 楼类似于本科生紫荆公寓的布局, 相邻两间宿舍共用一个中厅, 但每个宿舍有独卫. 卫生间有马桶, 水池和淋浴. 但是空间较小, 干湿并不分离. 家具方面, 相比本科和硕士宿舍, 床从上铺变成了地面上的床, 虽然宽度没有变化. 桌子也更宽一些. 中间是标准的键盘抽屉, 左右两边各有一个较窄的抽屉. 但是桌上层有两层置物架, 其中下层的高度较低, 导致比较大的显示器无法推到最前. 此外, 中厅也有一个比较大的公用桌子, 并另配了四把椅子. (故平均每人竟然拥有两把椅子) 绿色床位可以获得一个比较深的窗台. 窗台上可以置物或作他用. 中厅和窗台都有可以晾衣服的铁杆. 中厅的窗台也很深. 强弱电方面, 每个床位配有百兆有线网. 桌子附近有一个电线插头. 红字床头另有一个插头. Layout transformation for bike placement 红色桌子被旋转了 90 度, 然后在和中厅的窗户之间 (红桌的右手边是一个通向中厅的窗户) 空出了约 80 公分的间隙, 把大紫立在了间隙里, 正好可以卡在窗户边沿. 还可以另放下一个气筒和停车架. 大大紫则被插到了中厅窗台 v 字形的尖上, 前轮在窗台上, 而后轮在地上. 正好可以用脚踏抵住暖气片, 从而稳稳立住....

July 11, 2022 · 1 min · laekov

搞明白自行车五通中轴牙盘规格

自行车的五通中轴牙盘一部分零件规格比较复杂, 折腾起来比较费力. 简中互联网上鲜见把这个事情理明白了的文章. 所以 aoao 按照自己的理解把各部分分开说明一下, 试图理明白这个逻辑. 下面是一个示意图. 五通 五通是车架的一部分, 简而言之就是一个圆柱形的洞. 五通的重要参数是这个洞的直径和高度(宽度), 外加 是否有螺纹. 有螺纹的五通, 在公路车上只有两三类: 经典的有英规 (BSA) 和 意规 (ITA). 前者常见于低端车和闪电 SL7 及一些新车. 另外有 trek 新开始推的 T47. 这三种标准的宽度和直径都是确定的. 另外一种是压入五通, 即没有螺纹, 而是一个光滑的洞, 中轴直接被敲进去. 这种五通有 BB30, BB86, BBRight 等一系列规格, 对应了不同品牌不同时期的车架. 宽度和直径各有不同, 需要按照品牌或者标准名称购买相应零件. 中轴 中轴就是一个轴承. 它的外壳固定在五通处, 而内面与轴心 (即一根铁棒) 相连, 从而使轴心可以自由转动. 因此, 中轴的规格仅由五通规格和轴心规格两者决定. (材质和特殊的工艺等学问不在本文讨论范围) 轴心 轴心是一根铁棍 (碳棍? 铝棍?), 两边连着曲柄, 在高端零件中通常与其中一边的曲柄为一体. 与五通相同, 轴心的关键参数也是直径和长度. 轴心常见三种直径: 30, 24, GXP. 其中 GXP 是驱动侧 24, 非驱动侧 22, 通常可以直接使用一个塑料套子转换为 24 的轴心....

May 20, 2022 · 1 min · laekov

GTA Online 跑车圈速记录

一个没有什么意义的记录. youtube 上的视频同样车也就快了个几十秒吧. Lifeinvader 环道 桑托劳 2:39 义塔利GTB: 2:36 Cutting Corners GP Sports Sugoi 1:15.830 ZR350 1:15.910 (w\o turbo), 1:12.583 (w. turbo) Calico 1:11.107 Itali GTO 1:08.051 GB200 1:09.081 幽鬼本尼版 1:07.433 撞击 GT 1:11.239 (原厂素车)1:06.860 (满改) 718 (嚎叫者) 1:12.810 (原厂素车) 1:07.639 (fully upgraded) new supra (jester RR) 1:14.245 (unmodified) 1:07.344 (满改) RCA (Vectre) 1:12.706 (unmodified) 1:08.206 (fully upgraded) BMW M4 1:12.816 (原厂) 1:09.636 (fully upgraded) 思国一又推又甩, 加速就打滑非常 gg. 350 没加涡轮, 加速明显不如卡利科, 但是转向极限很高, 弯速可以再推快一些....

May 9, 2022 · 1 min · laekov

Project T: 清华园山地车技术点大全

封校无聊,何以解忧?开个新坑,骑骑山地。 这个网站将校园内的山地技术点总结在地图上,以便从入门到进阶的不同水平爱好者进行交流,各自找到好玩的地点。 在地图上单击鼠标右键即可记录一个你发现的地点。在管理员审核后,它将被分享给所有人。 本站还在建设中,如果你对本项目有兴趣,欢迎来 GitHub Repo 进行开发方面的交流与讨论。 目前计划中的功能还有:难度和描述的评论、添加图片、在线约骑、实时位置分享等等。 本站始建于 2022 年劳动节假期封校之时。未来也考虑拓展地图范围。 Go back to the map

May 1, 2022 · 1 min · laekov

Recent Papers of Recommendation Systems

2023 EVStore: Storage and Caching Capabilities for Scaling Embedding Tables in Deep Recommendation Systems ASPLOS'23 GRACE: A Scalable Graph-Based Approach To Accelerating Recommendation Model Inference ASPLOS'23 AdaEmbed: Adaptive Embedding for Large-Scale Recommendation Models OSDI'23 FlexShard: Flexible Sharding for Industry-Scale Sequence Recommendation Models arxiv 2022 RecD: Deduplication for End-to-End Deep Learning Recommendation Model Training Infrastructure arxiv Ekko: A Large-Scale Deep Learning Recommender System with Low-Latency Model Update OSDI'22 PICASSO: Unleashing the Potential of GPU-centric Training for Wide-and-deep Recommender Systems arxiv HET: Scaling out Huge Embedding Model Training via Cache-enabled Distributed Framework VLDB'22 HET-GMP: a graph-based system approach to scaling large embedding model training SIGMOD'22 Fleche: an efficient GPU embedding cache for personalized recommendations EuroSys'22 RecShard: statistical feature-based memory optimization for industry-scale neural recommendation ASPLOS'22 BagPipe: Accelerating Deep Recommendation Model Training arxiv 2021 Accelerating recommendation system training by leveraging popular choices VLDB'21 SPACE: Locality-Aware Processing in Heterogeneous Memory for Personalized Recommendations ISCA'21 Software-Hardware Co-design for Fast and Scalable Training of Deep Learning Recommendation Models arxiv ISCA'22 RecPipe: Co-designing Models and Hardware to Jointly Optimize Recommendation Quality and Performance MICRO'21 2020 Kraken: Memory-Efficient Continual Learning for Large-Scale Real-Time Recommendations SC'20 Distributed Hierarchical GPU Parameter Server for Massive Scale Deep Learning Ads Systems MLSys'20 DeepRecSys: A System for Optimizing End-To-End At-Scale Neural Recommendation Inference ISCA'20

April 8, 2022 · 1 min · laekov

Pandoc 的 short author 字段缺失 fix

laekov 搞了一个在 overleaf 里写 pandoc 的东西叫 panleaf, 并用它做一些愉快的 beamer slides. 但是 laekov 在做一个作者有七个人的 slides 的时候发现如果把七个人塞在正文的每页的底下, 就会巨长无比, overflow. latex 提供了 short author 功能, 在 beamer 里面正文的页脚只显示 short, 而 titlepage 显示全文. 但左右看了一圈发现 pandoc 的 author 字段并没有这样的支持. 而且即使不填 author 字段, 生成的 tex 文件里面还是会蹦出一个 \author{}, 且在自定义 latex template 的后面, 所以无法在 template 里面插 author 来解决. laekov 于是找来了 pandoc 的 beamer writer (default.beamer, 也可能是 default.latex), 在里面找 author, 果然找到这么一段. \author{$for(author)$ $author$ $sep$ \and $endfor$} 这么暴力怎么行, 于是加上一个 if 变成酱紫....

March 15, 2022 · 1 min · laekov

北京骑行路线及爬坡大赏

本文及图片版权归 laekov 所有, 谢绝转载 前言, 符号及约定 本文总结了 aoao 骑过的北京周边的骑行路线, 以爬山为主. 对于坡度的描述可参考如下列表. 超缓: 坡度不超过 3%. 缓坡: 3-5% 普通: 不太缓也不太陡, 没有给 aoao 留下深刻印象. 陡: 7% 及以上. 对于坡度, 难度和风景好坏的评价较为主观, 且受到当时季节, 天气, 状态等影响. aoao 本人偏好不缓的爬坡, 不喜缓上缓下和平路. 喜欢壮丽的高山大川景象, 对人文风光 (比如寺庙) 没有兴趣. 故请谨慎参考本文的内容. 欢迎在评论区讨论批评指正. 本文配图使用的脚本开源在 GitHub, 主要使用 Matplotlib. 有能力的看官可以自行使用脚本绘制自己的轨迹. 西边和北边群山, 以及市区 国道, 省道的坡度多半不会超过 10%, 多数在 5% 左右. 路面通常为柏油路, 可以放心前往. 但乡道, 防火道等的坡度和路况就很难有保障了. (0) 清华大学新民路大坡 搞笑的 西边系列 以 108, 109 两条国道为主线展开. 国道本身较平, 向西缓上. 其间有众多支线, 包含了很多大小爬坡. (1) 灵山 北京公路爬坡最高峰 (指绝对海拔), 长度约 20km, 最高海拔快到 2k....

March 10, 2022 · 5 min · laekov

Island 剧情解析

元旦假期花一个下午补了 Island 这部番, 时间线烧脑程度颇有云图的感觉, 再进一步就要信条了. 虽然有各种弹幕解说, 但还是看得很茫然, 而且网上的解析也比较少, 没有把 laekov 讲明白. 于是 laekov 决定自己整理一下时间线. laekov 倾向于认为人类只造出了睡眠仓, 而没有造出能逆转时间的机器. 所以人类文明以 20000 年为周期不断从石器时代到高度文明再退回, 这和 Island 上的科技退化也很吻合. 动画的故事发生在其中一个 夏1 - 冬1 - 夏2 周期中. 为了简便称三家的女主为白毛, 黄毛和炸毛. 实际上进行了时间旅行的只有男主和老小两白毛. 在夏篇见光死的是骨科切纳和他爹. (这俩人家产全被没有血缘的人吞了好惨) 在冬篇见光死的是黄毛, 炸毛未知. 一些疑问 男主在 夏1 的梦为啥和 冬1 不一样? 男主在夏 1 的时候做的梦来源于 冬0, 其中 大版炸毛被火烧掉 和 跟黄毛kiss(?) 的事件在 冬1 中也发生了, 只是剧情有所不同, 因为 冬0 中男主的记忆可能和 冬1 并不相同 (蝴蝶效应). 很可能在 冬0 中白毛的冷冻仓有 bug, 从而导致男主记忆缺失. 骨科切那为啥变成了白骨? 切那和白发魔女的交易是什么? 骨科切那是把小白毛塞进机器之后独自在岛上生存的过程中饿/病死的. 和白发魔女交易 这个传说来源于老白毛造了时光机把男主送回来....

January 4, 2022 · 1 min · laekov

Assetto Corsa G值球只有半个 bug 修复

laekov 最近在玩 assetto corsa 并试图学习循迹刹车, 因此需要一个加速度轨迹显示插件. 在 GitHub 上发现了一个上古仓库 竟然还能用, 但是卖家秀是 而 laekov 这里是 为啥参考线只剩小半个了??? 由于 assetto corsa 的插件都是 python, 于是 laekov 愉快地看起了代码, 并发现了如下一段. def drawCircumference(self, radius, center): ac.glBegin(1) nlines = max(4, int(100.*radius)) for i in range(nlines+1): x, y = self.gPlotter.plotG(center['x'] + (sin(2*pi*i/nlines)*radius), center['z'] + (cos(2*pi*i/nlines)*radius)) ac.glVertex2f(x, y) ac.glEnd() 大胆猜想是 python 或者 ac.gl 性能不足以支撑在一个渲染周期内画完整个圆. 于是想找一个 native 的 circle 的 api. 然而翻阅了一下上古的 python plugin document (竟然还是 google docs) 发现 ac 的 gl 只支持画点和多边形 (挠头)....

December 20, 2021 · 1 min · laekov

FasterMoE: 对大 MoE 模型训练的性能建模及优化

版权声明: 如需转载请先与 laekov 联系, 侵权必究. 序 Jiaao He 在 24 岁生日那一天收到邮件, 他在 ppopp 投稿的这篇文章被接收了. 这是他以一作身份投的第一篇 A 类会文章. laekov 当时脑子一热, 开了一个坑, 决定把这篇文章的主要内容用中文写出来, somehow 地促进中文学术. (虽然多半并没有什么帮助) 在过去的小半年里他又经历了 artifact evaluation, camera ready, 制作 presentation slides 和录制视频 (很遗憾因为疫情没法去韩国开会了) 等等一系列事情, 对这个项目也有了更多的理解. 在 4 月的第一天终于把写文章时候的 prototype 变成了看起来还不错的代码, 并准备合并进 FastMoE. 正好写完这篇文章, 也当作是在 FastMoE 里使用 FasterMoE 的中文版文档了. 这篇文章的 pdf 正文在 ACM DL 上可以找到. (有 open access, 在任何地方都可以下载, 并用于非商业目的) 开会的时候用的 slides 和视频链接 在这里. 背景和简介 我假设看这篇文章的人已经知道什么是 MoE 模型了, 大规模的 MoE 模型现在有多重要 (也可能并不)....

November 16, 2021 · 3 min · laekov