Re[14]: За счет чего выстреливают языки?
От: Evgeny.Panasyuk Россия  
Дата: 16.07.15 12:48
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

_>>О, если у тебя есть доступ к icc, то можешь сравнить на нём разницу между вариант со включенной векторизацией и выключенной на таком http://rsdn.ru/forum/flame.comp/6072279
Автор: alex_public
Дата: 09.06.15
(count=500, width=1920, height=1080) тесте? А то у меня gcc выдаёт на haswell xeon ускорение всего где-то в 3 раза, что как-то не очень для AVX2...

BZ>вот-вот. ты хоть знаешь, сколько сложений за такт может выполнить этот хасвел?

В соответствии с Intel® Intrinsics Guide у _mm256_add_epi32 для Haswell Throughput=0.5. В одном из других интеловских документов:

Throughput — The number of clock cycles required to wait before the issue ports are free to accept the same instruction again. For many instructions, the throughput of an instruction can be significantly less than its latency.

То есть при нормальном interleaving, без лишних зависимостей по данным, за такт можно выполнить две _mm256_add_epi32 на одном ядре, то есть 16 32-х битных сложений.
Отредактировано 16.07.2015 13:09 Evgeny.Panasyuk . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.