博客
分类
标签
归档
友链
关于
Dark Mode
博客
分类
标签
归档
友链
关于
Dark Mode
Mens et Manus
HPC Profile
算子性能预估 算力 FLOP/s 拼尽全力每秒完成的浮点运算次数 带宽 byte/s 拼尽全力每秒完成的内存交换量 计算强度Arithmetic Intensity(计算访存比) FLOP/byte 平均读入数据能用上多少运算 理解角度 把BW用满能发挥出的算力 “一次IO”的计算强度(强度一定有个”计量时间”, byte size就是这里的时间) roofline mode...
2025-03-11
Read More
胶片
Cheatsheet https://wax8280.github.io/2017/09/22/%E5%85%B3%E4%BA%8E%E5%BA%95%E7%89%87%E7%9A%84%E5%86%B2%E6%B4%97/ https://i50mm.com/skills-%E6%8A%80%E5%B7%A7/%E5%85%B3%E4%BA%8E%E9%BB%91%E7%99%BD%E8%...
2024-10-17
Read More
自动微分简记
自动微分 https://www.bilibili.com/video/BV1zD4y117bL/?spm_id_from=pageDriver&vd_source=fa5227c06f0a0c9f870b406f10be1d31 automatic differentiation in Machine Learning: a Survey 两种模式 前向 后向 都用雅各比矩阵...
2023-05-01
Read More
Redis赏析
Abstract主要记录Redis整体架构及其巧妙的设计。 主要结构体 sds(simple dynamic string) dict set: TODO zset list 其他: zmalloc TODO: 主要lib(抽象) redis object ae 主要亮点 epoll实现的异步库 渐进式rehash 流式read, write redis Redissd...
2023-04-05
Read More
锁锁速查
Cheat sheet 枚举各种情况 普通自旋锁 缓存与不可扩展 MCS锁(排队锁) 可扩展但开销更高 QSpinLock spinlock + MCS lock 以上都没考虑numa的影响 Delegation Lock(代理锁) 同类临界区操作都发送同一个NUMA中执行 解决了NUMA带来的不同性能问题 以上都没考虑异构核的影响 LibASL可扩展锁(乱序重排锁) 不...
2023-03-25
Read More
一些奇妙的bit操作
一些奇妙的bit操作学习过程中看到 + 推理出的一些奇妙的位运算相关的操作。顺序尽量有一定推理逻辑, 尽量分组写在一起 听说”hacker’s delight”这本书专门讲这些, 但我还没时间看 assert 默认从右往左是从低位到高位, aka 右边的末尾 +1的效果: 从右到左第一个0, 按位取反(不够加要一直进位) -1的效果: 从右到左第一个1, 按位取反(不够减要一直...
2022-12-29
Read More
通过javascript体会函数式编程
Abstract 虽然像递归, 但是你要用functional的眼观看待 对js做7点限制, 从而体会函数式 no loops no if single return no side-effects to outside world no assignments in functinos no arrays only 0 or 1 argument Pure function, ...
2022-12-18
Read More
使用container名再容器之间互ping
使用container名再容器之间互ping创建两个容器: 12docker run -it --name node0 ubuntudocker run -it --name node1 ubuntu 使用docker inspect查看node0的ip 1docker inspect node0 | grep IPAddr 容器内按照ping攻击apt install iputils-...
2022-03-19
Read More
绘制火焰图
On-CPU 性能分析On-CPU即”CPU密集型” 12345$ git clone https://github.com/brendangregg/FlameGraph$ cd FlameGraph$ sudo perf record --call-graph=dwarf <cmd>$ sudo perf script | ....
2022-01-01
Read More
天坑细节
天坑细节 编译时, 对库使用的声明要放在文件后面, gcc a.c -lcuda 二分查找mid什么时候需要+1向上取整, [left, mid-1] [mid, right], mid = (l+r+1)/2, 因为我们要划分的区间是左小右大, 如果mid下取整,当落到右区间时mid == left大小不再缩小导致死循环 [left, mid] [mid+1, right], mid = ...
2000-01-01
Read More
1 / 2
Next