强化学习算法对比 发表于 2026-03-03 | 分类于 RL | DAPO vs GRPODAPO(Decoupled Clip and Dynamic Sampling Policy Optimization)双端裁剪和动态采样策略优化GRPO(Group Relative Policy Optimization)组相对策略优化 dapo相比grpo的改进: ... 阅读全文 »
【PyTorch】dataset & dataloader对象设计 发表于 2026-01-15 | 分类于 PyTorch | dataset定位:数据的定义 / 封装 / 预处理。 Dataset(MapDataset) 映射式数据集,位于 torch.utils.data.Dataset 数据样本与整数索引之间存在一一对应的映射关系,支持按指定索引随机访问单条样本 自定义子类必须实现两个方法: __len__(sel ... 阅读全文 »
记录字节算法实习岗面试的一道算法题 发表于 2020-03-03 | 分类于 LeetCode | 问题描述以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix ... 阅读全文 »
内存一致性模型 发表于 2020-02-17 | 分类于 多线程 | 内存一致性模型(memory consistency model)是用来描述多线程对共享存储器的访问行为,在不同的内存一致性模型里,多线程对共享存储器的访问行为有非常大的差别。这些差别会严重影响程序的执行逻辑,甚至会造成软件逻辑问题。在后面的介绍中,我们将分析不同的一致性模型里,多线程的内存访问乱序 ... 阅读全文 »
同步关系 发表于 2020-02-16 | 分类于 多线程 | 翻译自:https://preshing.com/20130823/the-synchronizes-with-relation/ 略有修改 同步关系“ 与…同步 ”(Synchronizes-with)是语言设计者发明的一个术语,用于描述确保原子操作(甚至是非原子操作)的内存效果对其他线程可见 ... 阅读全文 »
你可以做任何类型的原子RMW操作 发表于 2020-02-16 | 分类于 多线程 | 翻译自:https://preshing.com/20150402/you-can-do-any-kind-of-atomic-read-modify-write-operation/ 略有删改 原子读取-修改-写入操作(或称为“ RMW”)比原子加载和存储更为复杂。它们使您可以从共享内存中的变 ... 阅读全文 »
原子操作和非原子操作 发表于 2020-02-16 | 分类于 多线程 | 翻译自:https://preshing.com/20130618/atomic-vs-non-atomic-operations/ 略有删改 关于Web上原子操作的知识已经很多,通常集中在原子读-修改-写(RMW)操作上。但是,这些并不是原子操作的唯一种类。还有原子加载和存储,它们同样重要。在 ... 阅读全文 »
acquire和release语意 发表于 2020-02-16 | 分类于 多线程 | 翻译自:https://preshing.com/20120913/acquire-and-release-semantics/ 略有删改 一般而言,在无锁编程中,线程可以通过两种方式操纵共享内存: 相互竞争资源 将信息从一个线程传递到另一个线程。 获取和释放语义对于后者至关重要:在线程之间 ... 阅读全文 »
获取和释放屏障 发表于 2020-02-16 | 分类于 多线程 | 翻译自:https://preshing.com/20130922/acquire-and-release-fences/ 我认为,获取(acquire fence, afence)和释放屏障(release fence, rfence)目前在网络上还是被误解了。太糟糕了,因为C ++ 11标准 ... 阅读全文 »
内存屏障就像源码控制操作一样 发表于 2020-02-16 | 分类于 多线程 | 翻译自:https://preshing.com/20120710/memory-barriers-are-like-source-control-operations/ 略有修改 如果使用源代码控制,那么您将逐渐理解内存顺序,这是使用C,C ++和其他语言编写无锁代码时的重要考虑因素。[PS: ... 阅读全文 »