本文提出了一种在ARM NEON架构上的混合矢量化归并排序算法NEON-MS。主要包括以下三个优化点:
识别最优寄存器数量:通过分析寄存器数量对排序网络复杂度和寄存器-内存访问的影响,确定使用16个寄存器是最优选择。
引入少比较器列排序网络:相比常用的对称排序网络,采用最优排序网络可以显著减少比较器数量,提高列排序效率。
提出新型混合比特排序网络:该网络同时实现串行归并和矢量化归并,通过并行执行不同实现方式的对称部分,大幅降低了条件指令等待时间和寄存器间数据交换开销,提高了归并效率。
通过上述优化,NEON-MS在单线程下相比std::sort和boost::block_sort分别快3.8倍和2.1倍。在多线程下,NEON-MS也比并行版本的boost::block_sort快1.25倍。
toiselle kielelle
lähdeaineistosta
arxiv.org
Tärkeimmät oivallukset
by Jincheng Zho... klo arxiv.org 09-09-2024
https://arxiv.org/pdf/2409.03970.pdfSyvällisempiä Kysymyksiä