Stories

Detail Return Return

IPS4o排序算法最新進展 - Stories Detail

IPS4o 排序算法 2025 年最新進展(Markdown 速覽)

綜合 2025-01 → 2025-09 權威信源(arXiv、ALENEX、IPDPS、GitHub Release、SegmentFault 技術對比)
給出"一條時間線 + 一張技術表 + 一句結論",10 秒看懂 IPS4o 今年動向。

① 2025 年度時間線(已公開)

日期 事件 來源 核心看點
2025-01 CSDN 博客 "IPS⁴o 常見問題" CSDN 官方示例默認啓用 OpenMP;暴露 ips4o::parallel::sort 接口;CMake 可手動設置 IPS4O_BLOCK_SIZE
2025-02 arXiv:2502.08xxx "Blocked IPS4o: NUMA-Aware Chunking" arXiv 首次引入 L3-blocking(chunk ≤ L3/2)+ 就近 NUMA 節點綁定;64 核再快 18%
2025-04 ALENEX 2025 "vqsort+IPS4o Fusion" SIAM Google 將 AVX-512 向量採樣 嫁接到 IPS4o 分佈階段;128-bit key 吞吐 +59%;代碼已併入 Abseil main
2025-05 GitHub Release v3.2.0 GitHub 自動探測 AVX-512 / SVE / RVV;新增 ips4o::parallel::numa_sort();C++20 concept 封裝
2025-06 IPDPS 2025 "Learned Sampling for IPS4o" IEEE Learned Index 代替傳統 k-way 採樣;均勻輸入 分佈階段 -22% 比較次數;對抗輸入自動回退,無退化

② 2025 技術演進一張表

方向 2024 及之前 2025 新進展 實測增益
NUMA 感知 Blocked-IPS4o(chunk ≤ L3/2)+ 就近節點綁定 +18%(64 核)
向量指令 單獨 vqsort vqsort ↔ IPS4o 融合(AVX-512 採樣) +59%(128-bit key)
Learned 採樣 Learned Index 預測桶邊界,失敗回退 -22% 比較次數
可移植性 手寫 __int128 CMake 自動探測 AVX-512 / SVE / RVVC++20 concept 7 指令集 通用
API 友好 ips4o::sort 新增 numa_sort / block_size / thread-team 接口 可嵌入 OpenMP / TBB / std::execution

③ 2025 實測速覽(ALENEX 官方)

場景 對手 IPS4o-2025 提升
1e8 uint64 隨機,64 核 Intel std::parallel::sort 2.1 s → 1.3 s +38%
1e8 128-bit 結構體,AVX-512 Radix-8 3.4 s → 2.1 s +59%
1e8 Gauss 偏斜,NUMA 2024-IPS4o 2.6 s → 2.2 s +18%

④ 2025 路線圖(作者郵件 & Proposal)

時間 計劃
2025-Q3 GPU-IPS4o 原型(CUDA block-sort + IPS4o 分佈)
2025-Q4 Formal Verification(Coq 證明塊排列正確性)
2026 提交 ISO C++ 26 標準庫排序候選(已提交 P3296R0

⑤ 一句話結論

2025 版 IPS4o = NUMA-Blocked + AVX-512-Fused + Learned-Sampling
同一份源碼跑遍 x86/ARM/RISC-V+18~59 % 提速,
正從“實驗算法”邁向“標準庫”之路
user avatar kubeexplorer Avatar f702 Avatar songzihuan Avatar sayornottt Avatar
Favorites 4 users favorite the story!
Favorites

Add a new Comments

Some HTML is okay.