Intel fusiona silenciosamente la nueva biblioteca AVX-512 Quicksort, con una mejora de hasta 17x


NumPy, o Numerical Python, es una de las bibliotecas de Python que se enfoca en la computación científica en el conocido lenguaje de codificación y recientemente integró la biblioteca de archivos de encabezado C++ de Intel que se usa para clasificación rápida en AVX-512. La nueva integración muestra mayores velocidades de clasificación basada en SIMD de diez a diecisiete veces más rápida.

NumPy Switching de Intel presenta AVX-512 para aumentar la clasificación basada en SIMD y ayudar con el rendimiento

Se explica que la biblioteca de NumPy, basada en Python, proporciona:

…un objeto de matriz multidimensional, varios objetos derivados (como matrices y matrices enmascaradas) y una variedad de rutinas para operaciones rápidas en matrices, incluidas operaciones matemáticas, lógicas, manipulación de formas, clasificación, selección, E/S, transformadas discretas de Fourier , álgebra lineal básica, operaciones estadísticas básicas, simulación aleatoria y mucho más.

— según el sitio web oficial del proyecto NumPy.

Intel cargó x86-simd-sort en el GitHub de la empresa para proporcionar a los usuarios una biblioteca de archivos de encabezado C++ para ayudar con la clasificación SIMD a un nivel de rendimiento superior. Raghuveer Devulapalli, uno de los ingenieros de Intel, fue crucial en la integración del código x86-simd-sort en NumPy. Sin embargo, la biblioteca de archivos solo se enfoca en AVX-512 y su clasificación rápida.

[The new x86-simd-sort is a] Biblioteca de archivos de encabezado C++ para clasificación de tipos de datos de 16 bits, 32 bits y 64 bits basada en SIMD en procesadores x86. Los archivos de encabezado de origen están disponibles en el directorio src. Actualmente solo tenemos una implementación de quicksort basada en AVX-512. Este repositorio también incluye un conjunto de pruebas que se puede construir y ejecutar para probar la corrección de los algoritmos de clasificación. También tiene un código de evaluación comparativa para comparar su rendimiento en relación con std::sort.

Michael Larabel, analista de Linux y editor del sitio web Phoronix, afirma que los resultados son increíblemente favorables, donde el aumento en la clasificación con AVX-512 ayudó al proyecto a mejorar el rendimiento entre diez y diecisiete veces.

Larabel señala que PR 22315 se introdujo en NumPy para «vectorizar la clasificación rápida para tipos de datos de 16 bits y 64 bits» a partir de la integración AVX-512. Continúa diciendo que los sistemas basados ​​en Tiger Lake, específicamente los que usan el Tiger Lake i7-1165G7 de 11.ª generación, fueron testigos de la velocidad más alta en la clasificación int de 16 bits (diecisiete veces mejor). Por el contrario, la clasificación flotante de 64 bits recibió la más baja (aumentada diez veces). Por último, los tipos de datos de 32 bits y las matrices aleatorias experimentaron una mejora de doce a trece veces mayor capacidad de clasificación. Puede ver los resultados de los puntos de referencia aquí.

Fuentes de noticias: Phoronix, Intel GitHub 1, 2

Comparte esta historia

Facebook

Gorjeo



Source link-29