Himik писал(а):
Гонка разрядности всё ещё идёт
Бегло глянул, но у меня впечатление, что здесь речь не об увеличении разрядности представления чисел (а соответственно, их точности), а лишь об увеличении количества элементов вектора, обрабатываемого одной векторной командой -- а это совсем другое.
Вообще, у меня впечатление, что Интел продолжает идти идиотским путём, добавляя всё новые и новые узкоспециализированные команды, которые почти никому и ничему не нужны. Если говорить про векторную составляющую современных процессоров (SIMD), то лично мне кажется, что нужны лишь два набора команд:
1) для операций с 4-компонентными векторами. Такие векторы очень широко используются, например, в трёхмерной графике, поэтому такие команды реально прямо или косвенно востребованы значительным количеством приложений;
2) для операций с векторами переменной длины. Такие команды нужны специализированному "математическому" ПО (помимо собственно математических расчётов, сюда, наверное, попадает часть инженерных задач, связанных с моделированием реальной физики и т.д. и т.п. -- но я абсолютно не специалист, поэтому ничего наверняка сказать не могу).
Интел же, вместо того, чтобы реализовать п. 2, плодит всё новые и новые команды для всё большей размерности векторов, но при этом забота об их использовании всё равно ложится на программиста (компилятор), причём с каждой новой версией SIMD (AVX -- это тот же SIMD, по большому счёту, только переименованный в рекламных целях) приходится переделывать компиляторы. А вот если бы были операции с векторами переменной длины, один и тот же двоичный код мог бы выполняться на самых разных процессорах с разной производительностью (скажем, в медленном Атоме векторы вообще обрабатывались бы покомпонентно -- т.е. на сложение двух 4-элементных векторов требовалось бы четыре такта, в то время как в каком-нибудь топовом проце-числодробилке одновременно можно было бы выполнять, скажем, 32 таких операции).