Size: a a a

2020 February 15

AF

Aidar Fattakhov in C++ Together 2.0
Cool Cooler
А одна векторная инструкция выполняется дольше одной обычной?
Да, почти всегда
источник

AF

Aidar Fattakhov in C++ Together 2.0
Вон avx512 ещё и троттлит все соседние ядра
источник

🦊

🦊fox.cpp in C++ Together 2.0
Aidar Fattakhov
Вон avx512 ещё и троттлит все соседние ядра
Интересно, кстати, что за костылей они там налепили, что это происходит?
источник

🦊

🦊fox.cpp in C++ Together 2.0
Напряжения не хватает?)
источник

AF

Aidar Fattakhov in C++ Together 2.0
Дапоходу
источник

AF

Aidar Fattakhov in C++ Together 2.0
Температурного лимита скорее
источник

CC

Cool Cooler in C++ Together 2.0
Cool Cooler
А одна векторная инструкция выполняется дольше одной обычной?
Скажем, есть инструкция векторного сложения. И я даю ей 2048 пар чисел. Сложение каждой пары происходит в одно и то же время или по очереди?
источник

🦊

🦊fox.cpp in C++ Together 2.0
Сколько там векторных юнитов у последнего CPU интела какого-нибудь?
источник

🦊

🦊fox.cpp in C++ Together 2.0
А то я у хасвеллов средних только один насчитал на ядро.
источник

EP

Evgeniy Pichuzhkin in C++ Together 2.0
Cool Cooler
Скажем, есть инструкция векторного сложения. И я даю ей 2048 пар чисел. Сложение каждой пары происходит в одно и то же время или по очереди?
Оно не сможет 2048 пар чисел обработать за раз
Ты забываешь, что всякие инструкции типа сложения оперируют регистрами, а они не бесконечной длины
источник

🦊

🦊fox.cpp in C++ Together 2.0
+, тебе эти пары надо ещё копировать из оперативки в регистры
источник

🦊

🦊fox.cpp in C++ Together 2.0
и обратно
источник

EP

Evgeniy Pichuzhkin in C++ Together 2.0
В avx512, вон, регистры всего по 512 бит длиной
Не помню, правда, сколько там "переменных" может уместиться
источник

CC

Cool Cooler in C++ Together 2.0
Evgeniy Pichuzhkin
Оно не сможет 2048 пар чисел обработать за раз
Ты забываешь, что всякие инструкции типа сложения оперируют регистрами, а они не бесконечной длины
А если у меня есть 2 регистра длины 65336 бит, и я юзаю 32 битные числа?
источник

🦊

🦊fox.cpp in C++ Together 2.0
У тебя нет таких регистров.
источник

EP

Evgeniy Pichuzhkin in C++ Together 2.0
Вроде всякие sse были длиной по 128 и вмещали числа до 32 бит, то есть не более 4 за раз
источник

🦊

🦊fox.cpp in C++ Together 2.0
У тебя есть
источник

🦊

🦊fox.cpp in C++ Together 2.0
16 регистров по 512 бит
источник

CC

Cool Cooler in C++ Together 2.0
🦊fox.cpp
У тебя есть
Ааа, спс.
источник

CC

Cool Cooler in C++ Together 2.0
🦊fox.cpp
У тебя есть
Хмммммммммм
источник