Векторизация скалярного произведения __float128 с помощью SIMD/AVXC++

Программы на C++. Форум разработчиков
Anonymous
Векторизация скалярного произведения __float128 с помощью SIMD/AVX

Сообщение Anonymous »

Если у меня есть в C++11 (в Linux, с gcc на Intel Xeon) два массива __float128* A и B (фиксированный размер, полностью помещается в кеш), знаете ли вы о них или можете ли их предоставить? код, который производит скалярное произведение __float128 этих массивов (т. е. сумму их поэлементного произведения), используя, где это возможно, ускорение SIMD/AVX.
К сожалению, MKL (и нет эффективная библиотека BLAS, на самом деле) поддерживает __float128, поэтому это ускорение несколько уменьшит огромное замедление __float128 по сравнению с двойным, до такой степени, что мы действительно сможем его использовать.
Вот являются причинами численной стабильности, чтобы использовать __float128 в нашем случае, поэтому меньшее значение, к сожалению, не вариант.

Подробнее здесь: https://stackoverflow.com/questions/789 ... h-simd-avx

Вернуться в «C++»