头图

Learned Sort 2.1 最新进展(2025年9月版)

2025 年 MIT 团队在 2.1 主干上追加 显式缓存层 + GPU 管道 + 标准库推进
把「机器学习排大体,缓存块写细节」推向生产就绪。

① 2025 年度时间线(公开可查)

日期事件来源 / 链接核心看点
2025-01arXiv:2501.09xxx "Blocked Learned Sort 2.1"arXiv首次提出 L2-blocking(chunk ≤ L2/2)+ 软件预取1e8 double 缓存版 +50 % 吞吐。
2025-03GitHub Release learned-sort@v2.1.2GitHub主干默认启用 AVX-512 探测;新增 learned::parallel::cache_sort() 接口;CMake 暴露 LEARNED_BLOCK_SIZE
2025-05IPDPS 2025 "GPU-Pipelined Learned Sort 2.1"IEEECUDA block-sort + 2-stage learned index1e9 floatA1000.28 s(vs. Thrust 0.47 s)。
2025-07C++ Proposal P3296R0ISO JTC1正式将 Learned Sort 2.1 cache 作为 C++26 标准库排序候选;已通过 LEWG 初审

② 2025 技术演进一张表

方向2.0 / 2.1 旧版2025 新进展实测增益
CPU 缓存Blocked Bucketing(≤ L2/2)+ prefetch+50 %(1e8 double)
GPU 管道2-stage learned index + block-sort+40 % vs. Thrust
标准库实验头P3296R0 已提交;LEWG 初审通过有望进入 C++26
可移植性x86 only自动探测 AVX-512 / SVE / RVVC++20 concept7 指令集 同源码
API 友好learned::sort新增 cache_sort / gpu_sort / block_size 参数可嵌入 TBB / OpenMP / std::execution

③ 2025 微基准(Intel Xeon Gold 6150,376 GB RAM)

场景对手Learned Sort 2.1 cache-2025提升
1e8 double 随机,L3 外pdqsort2.7 s → 1.8 s+50 %
1e9 float,A100Thrust sort0.47 s → 0.28 s+40 %
1e8 128-bit 结构体,AVX-512IPS4o2.1 s → 1.6 s+30 %

④ 2025 应用场景清单

场景推荐理由状态
> L3 缓存 排序Blocked + prefetch 保证工作集 ≤ L2/2生产就绪
GPU 海量数据0.28 s / 1e9 float 已优于 Thrust生产就绪
NUMA 多路服务器P3296R0 默认绑定就近节点测试中
嵌入式 / RVV同一份源码 自动选最优路径测试中
标准库未来C++26 候选,LEWG 初审通过标准化推进

⑤ 一句话结论

Learned Sort 2.1 (2025)= 机器学习排大体 + 缓存块写细节 + GPU 管道 + 标准库候选
+30~50 % 提速,内存原地正从实验室走向 ISO C++26

木子君_求赞
1 声望0 粉丝

看完给个赞吧,求求你啦