OpenJDK使用Intel的x86-simd-sort将数据排序速度提高 7~15 倍

💡 原文中文,约700字,阅读约需2分钟。
📝

内容提要

英特尔发布了使用AVX-512的超快排序库x86-simd-sort 3.0,可提高Numpy中数据类型的排序速度。OpenJDK已将该加速排序代码的修改版本合并到参考JDK代码库中,32位数据排序速度提高了15倍,64位数据排序速度提高了约7倍。

🎯

关键要点

  • 英特尔发布了使用AVX-512的超快排序库x86-simd-sort 3.0。
  • Numpy中使用x86-simd-sort时,16位到64位数据类型的排序速度提高了10~17倍。
  • x86-simd-sort 3.0使得Numpy中的ng.partition速度提高了25倍(16位)、17倍(32位)、8倍(64位)。
  • 新的avx512_argselect方法使numpy np.argpartition的速度提高了6.5倍。
  • OpenJDK已将该加速排序代码的修改版本合并到参考JDK代码库中。
  • 合并后,32位数据排序速度提高了15倍,64位数据排序速度提高了约7倍。
  • x86-simd-sort 3.0添加了新的avx512_argselect方法,用于计算arg nth_element。
➡️

继续阅读