Intel представи обновяване за библиотеката Numpy с оптимизации, които използват фирмения комплект процесорни инструкции AVX-512.
Numpy е програмна библиотека с отворен код за езика за програмиране Python с поддръжката на многомерни масиви, включително и матрици, както и математични функции от високо ниво. Numpy изключително активно се използва от Python общността за реализирането на сложни изчислителни алгоритми. По принцип тази библиотека се разглежда като свободна алтернатива на Matlab.
В коментарите към обновяването се казва, че векторизирането на модула umath с използването на AVX-512 инструкциите означава използването на програмната библиотека Intel Short Vector Math Library (SVML) за векторизирането на 18 функции: umath
(exp2, log2, log10, expm1, log1p, cbrt, sin, cos, tan, arcsin, arccos, arctan, sinh, cosh, tanh, arcsinh, arccosh, arctanh) както с единична, така и с двойна точност.
Засега обновяването е включено само за Linux потребителите и разбира се, за процесорите с поддръжката на AVX-512 инструкциите. То осигурява средно ускорение в работата на алгоритмите от 32 и 14 пъти съответно за функциите с единична и двойна точност.
Първоначалната реализация на обновяването за AVX-512 е включвало оптимизирани версии на 44 математически функции, които са на практика всички основни математически функции на Numpy, както за единична. така и за двойна точност на изчисленията. Но в официалната версия е е приет кода на само 18 от тях.
Интересно е, че при старите процесори Intel Skylake X оптимизацията на Numpy дава ускорение от сериозните 55 пъти.