slurmdbd 配置失败的坑

花了一晚上修的一个 bug. 记录一下. 先讲结论再讲故事. slurmdbd 在更新 account 配置的时候, 有可能出现更新成功了, dump 出来是对的, 但跑程序失败 (requested resources not available) 的情况. 其中一个可能原因是 mysql 并没有成功写入, 于是认证失败. 解决方案是修改 slurmdbd 的配置文件, 使得其以 root 用户身份执行. 故事是实验室有同学要赶 PLDI, 需要独占某一些节点, 并防止懵懂的小朋友和他们抢占节点后不释放. laekov 给出的解决方案是在 slurm 中单独划分一个队列, 并仅对指定 account 开放. 这个操作 laekov 在另一个集群上已经熟练使用了. 但是 laekov 在用 sacctmgr 配置好 account 和 user 之后, 尝试 srun 任务, 发现提示 resources not available. 之前遇到过这种情况, 通过重启 slurmdbd 解决了问题. 但是这次重启任何 slurm 组件都没有解决问题. laekov 查看了 /var/log/slurm-llnl/slurmctld, 发现提示 part_policy_valid_acct: job's account not known, so it can't use this partition....

November 10, 2021 · 1 min · laekov

吐槽一下 windows 11

(背景是 laekov 因为迟迟没有等到黑色的 arm macbook 而转投了 x1c, 然后闲来无事升了个 win11 然后发现想吐槽这个东西 怎么和 chromeos 如此 相似! app icon 放中间! chromeos! 点开 电池 wifi 那个条, 跳出来的系统配置 panel! chromeos! 然后四指左右划动切换 workspace 的动画直接是断的. 任务栏的一部分根本没有被渲染出来, 于是会在动画放完之后突然跳出来?????? windows 这个 ui 真是… 明明是个 configurable 的东西, 非要搞得万众瞩目. 有毒吧. btw 一个小细节, 升级完之后默认给我 enable 了 微软拼音. 我又不会打拼音啊喂. 而且在输入法 enabled 列表里面竟然没有这个选项? 解决方案是先加进去再删掉 ovo 还是 kde 好. btw, 吐槽一下 x1c 9gen 的键盘, g 键的键帽被我按掉下来了. 虽然可以按回去, 但只要敲这个键的左下部分就会又翘起来, 不爽ing.感觉是为了给小红点让位置而在键的机械强度上做了牺牲?回头有空再去联想保修一下 ovo

October 3, 2021 · 1 min · laekov

laekov 的桌面环境配置

laekov 终于闲下来了并开了这么一篇一直都想写的文章. 之前摸鱼的时候在某乎, 某小破站上都有各种晒桌面的就蠢蠢欲动. 最近终于闲下来了可以用新买的 niz 打打不是正事的字了. 实验室(办公室) laekov 很追求简洁的所以桌上除了俩显示器俩键盘以外没有什么大块的东西. 从左到右说. (laekov 在实验室有四台电脑.) 最左边是夏天赖以生存的小风扇 (虽然从隔壁机房吹空调速冻效果其实更好). 左边是 27 寸显示器, 连了一台从实验室各处捡垃圾凑出来的 windows 台式机在桌子底下. 机箱上面还堆了 gyc 赞助的 24 口千兆交换机给所有设备供网. 上面还有俩键盘盒子, 一个装了之前北大校赛赚来的黑轴键盘暂时没用了. 还有一个是空的. 台式机的配置是奇怪的 i5-6500 + gtx 1080 ti.插了高二的时候 laekov 爹送 laekov 的生日礼物 ducky 混光青轴键盘. 虽然键盘挺老了甚至有些轴都开始咯吱响了但还是岗岗的好用. 因为这台电脑的主要用途是: 挂微信 使用 M$ office 套件处理不得不用它们处理的东西 摸鱼(打游戏) 显示器后面有一个 hp 的 chromebook g1, 八百块从闲鱼收的, 介绍见这篇文章, 主要用途是组会的时候放 slides 和移动干活. 偶尔也用作掌托. 13.5mm 的厚度和 3k x 2k 的屏幕还是很香的. 插线板后面有一个树莓派, 是某年的生日礼物. 上面放了一些神奇的东西, 可以用来调一些神奇的硬件, 比如折腾一下网络什么的, 不过最近用得不多....

August 16, 2021 · 2 min · laekov

FastMoE: 一个高效 MoE 模型训练系统 - 初版之路

laekov 在 3月1号下午 3点1分 开源了 FastMoE 系统的代码。合作者是 KEG 实验室 的 xptree 和 sengxian。 简单讲,MoE 模型就是把神经网络里的一层复制若干份,称它们为专家(experts)。在计算时,引入一个额外的门(gate)网络来对于每个输入决定它被哪个专家所计算。 举个例子,一个 nlp 模型里的动词和名词可能会被不同的 expert 处理。这样可能会得到更精准的模型。模型部分 laekov 不太懂,不做更多讨论。 FastMoE 这个名字是 laekov 起的,包含了 laekov 关注的两层问题: 训练这样的模型怎么训得快(fast training)。 如何使得这个系统像吃快餐一样(fastfood-like)开箱即用。 训练性能 通常,expert 网络是一个 MLP,即多层全连接,即矩阵乘。一个值得注意的问题是,gate 会使得一个 batch 被打散。若简单地用 pytorch 来实现,则会导致 GeMM 运算降级为 GeMV 运算,这对 GPU 这样的现代并行计算设备来说是十分不友好的。测试发现朴素的实现在 V100 上仅能达到 500GFLOPs, 即峰值性能的 3% 左右。 注意到 expert 的数量不会太多,故 batch size / expert,即平均每个 expert 处理的 batch 中的元素依然是一个较大的值。因此考虑对 batch 中的 samples 按照 expert 进行重排,每个 expert 依然以 batch 形式处理输入。这样会更充分地利用硬件资源。...

March 1, 2021 · 2 min · laekov

HiDPI on XFCE4, Chromebook

由于众所不知的原因 laekov 在一处办公环境使用自己的 chromebook 进行办公. 之前的博客提到 laekov 的 chromebook 具有一块 3200x1800 的高分(瞎眼)屏. 而 laekov 在办公室开心地借来了一块和实验室那块看起来一样的 34 寸的带鱼屏, 然而插上之后才发现它的分辨率竟然是 2560x1080, 完全被 13 寸的笔记本屏幕给包含了. 本着屏幕 dpi 不重要, 面积才是王道的思路, laekov 十分容易地 disable 了笔记本的屏幕, 单独使用一整块 34 寸屏幕来进行工作. laekov 在经历了 chromeos 的 ro rootfs 各种无语之后, 终于决心使用 crouton 的 xfce 环境作为自己的主力工作环境, 并配上了 i3lock 锁屏和熟悉的 urxvt. 然后问题来了: laekov 要抱着 chromebook 去开会! 当 laekov 拔掉 type-c dock, 看向 13 寸小屏幕的时候, 多年前在 laekov 的 (已经死掉的) mbp 上装 kde 之后出现的神奇一幕又出现了! 所有东西变得奇小无比, 需要配合放大镜才能分辨出屏幕上的字是 1 还是 l....

February 3, 2021 · 1 min · laekov

Chrome book 初体验

不久之前听说可能要出去背锅, 然而自从 macbook 死亡之后就一直在用实验室的台式机/宿舍买的新的游戏本. 都不太适合背着去干活, 于是考虑买一台轻薄的工作笔记本. 看了一些 ryzen 4 代的轻薄本, 比如 x13, 战x, 灵耀14, 什么的. 然而因为贵所以买不起没买. 后来某天逛闲鱼的时候发现了 chromebook 很便宜, 于是一番研究之后买了个二手 hp g1 chromebook, 1k 块不到. 转身围观一下这台本子,深灰色金属壳还挺高端。最厚的地方只有 12mm,几乎满足了我对薄本的所有想象,但是拿在手里挺沉,可能是压扁了的重型本。 cpu 是六代 m5 skx, 四个物理核默认只开了两个,8 GB mem + 32 GB ssd, 多开几个 chrome 窗口应该都挺好的。最惊人的是居配了一块 3200x1800 的屏幕,观感很不错。 然而还是有一些问题的。屏幕边框宽到跑马车,毕竟是便宜本,键盘键程短到手指疼,只能轻轻打字。触摸板比较小,而且可能由于前任主人用得比较多,所以油油的,而且有点松。考虑之后买个触摸板膜。接口方面带了一个 usb a 两个 usb c包括充电,还有耳机口。考虑到现在 typec 的本子到处飞,转接头很普遍,这也还ok。这个 cpu 最高支持到 4k 屏幕,想要外接显示器也没有问题,赞。 软件方面自然是 chrome os,费了一番力来搞开开发者模式用 crounton 装了一个 debian, 和搞上 play store. 比较无语的是 play store 并不用 chrome os 里面设置的 socks5 代理,于是只好临时搞了一个二层的有隧道的网关,才成功搞开了 play store, 然后立即在里面下了一个 android 版本的 ss, 然后用它就能给 android app 供应网络了。...

January 7, 2021 · 1 min · laekov

在 ThinRouter 上开发网络(原理课)硬件测试仪软件部分的记录和一些经验

这个事情的 motivation 是被 harry 拉去上了一门叫 “高等计算机网络“ 的课, 而 harry 和 gyc 是本科生网络原理课的助教, 于是大作业的内容就是抱着 harry 的大腿给小朋友们做的硬件实验做一个测试平台. (harry: 你的老本行, 造 oj) 因为 laekov 的硬件水平四舍五入等于没有 (gg) 所以负责写前端. VUE + ChartJS = gg laekov 多年没写过前端了, 没想到 angular 都已经 gg 了. 在 “尽量轻量化, 以后烧进 flash” 的指导思想 (还有 harry 的 push) 下选择了 vue. 功能里有一个重要的需求是画一张同学们的路由器带宽-帧大小的曲线. 要是有 matplotlib 就好了, 然而既然是在写 web 就只能搞 js 的轮子了. 然而 chartjs 需要给它一个生的 canvas DOM object. 但是 vue 的制造者似乎就是非常不喜欢开发者拿生的 DOM, 甚至把 document 对象都给屏蔽了. (?...

December 22, 2020 · 3 min · laekov

如何修改 htop 中一列的宽度

最近在某个公用集群上手工编译了 htop 给小伙伴们用. 然后发现大家的用户名都是学号, htop 并不能把用户名显示全, 于是追责麻烦. 然而 htop 似乎并不支持改列宽, 于是就自己去看代码改列宽了. 以下基于 htop 的 2.2.0 release 版本. 表项的宽度在 Process.c 里的 474 行. 这玩意是 hard coded 的 sprintf 的位宽. 表头在 linux/LinuxProcess.c 里的 205 行, 修改方法是在 title="USER " 后面再加几个空格. (hard coding 真是让人崩溃啊) 然后可能会编译的时候说 struct Process has no member isKernelThread. 修的方法是在这个 c 文件的 146 行加括号. 注意不能改 .h 文件, 因为 .h 是在 make 的时候从 c 代码里抽取出来生成的 (什么鬼玩意)

November 30, 2020 · 1 min · laekov

RIO 各种口味品尝 log

这件事情的起因是双 11 的时候买了一箱 18 瓶不同口味的 rio. 然后一直觉得打乱这箱 rio 有点逼死强迫症. 直到今天终于决定开始喝它们. 然后又想到每种口味只有一瓶, 喝完之后就并不能复现实验来 rewind 某一种口味到底怎么样. 于是灵机一动决定写篇 blog 把每种味道都记录一下. 后来又购买了更多新的 rio, 于是持续更新中。 无糖系列 拿到四种口味 (准确说这不属于那 18 瓶) 因为无糖所以都不好喝. 一股不快乐的阿斯巴甜味. 白桃: 海星 葡萄: 比白桃难喝一点 柠檬: 酸 橙子: 酸 有糖普通系列 这个系列通常是纯色背景,度数在 3 度左右。 白桃接骨木花: 虽然是赠品但是似乎还不错 是甜的 玫瑰荔枝白兰地: 玫瑰香味+荔枝甜味 没啥酒味 挺好喝 白桃白兰地: (组合数学???) 比较常见的口味. 桃子味浓, 甜! 香槟: 有一点迷惑的水果甜味, 香槟味不是很浓. 但是甜啊! 乐橘乌龙: 闻起来有点橘子的酸酸味, 喝起来倒是偏甜, 比较清爽. 还挺好喝. 百香果伏特加: 果味纯正, 伏特加有一丢丢苦. 菠萝伏特加:菠萝味!超好喝。甜甜的。 芒果伏特加:闻/喝起来是那种没熟的青芒果的味。不太喜欢。 白葡萄味:连酒名都不标了?真的是果味汽水,类似于水晶葡萄。 白桃接骨木花:又一个没有酒名的汽水。花香味还挺好喝的。 黄金奇异果味:汽水,弥猴桃味有点冲。 香草冰淇淋风味:超好喝!!! 香香甜甜的...

November 29, 2020 · 1 min · laekov

时隔六年, 我怎么又在修 fcitx 了

在宿舍买了一台新显示器, 2k. 发现 3337u 和 6400m 都不支持 2k 输出, 于是愉快地买了个 windows 游戏本当前端用. 因为有 rtx 2060 而且想打游戏, 所以只能用 windows 了, 最近又很不喜欢双系统 (因为要重启很麻烦) 于是找到了解决方案: 在 3337u 上开个 vnc server, 在 windows 里连过去. 虽然内网是千兆但是破笔记本迷之降速到了百兆, 于是网络也并不快. 要命的是 super 键会被 windows 吃掉从而无法使用 kde 里面炫酷的窗口搬移特技. 想起了陈年老相好 dwm. 于是又在这台 ideapad 上用上了 dwm, 并愉快地自己修改代码配置了 colorscheme 和各种神奇的热键. 然后用得好好的 fcitx 就跪了. ctrl + 空格打死也加载不出来输入法. 尝试了各种重启重装 fcitx-configure 和删配置文件, 都没用. 一脸茫然. 各种搜索尝试之后发现管用的是在 vnc 的 xstartup 里面加上 export GTK_IM_MODULE="fcitx" export QT_IM_MODULE="fcitx" export XMODIFIERS="@im=fcitx" 然后就能解决问题了....

November 18, 2020 · 1 min · laekov