Size: a a a

2020 February 15

FO

FORTRAN ONE LOVE in C++ Together 2.0
Aidar Fattakhov
Это написать код так чтобы компилятор об него не споткнулся при попытке применить avx512
Скорее отправить в GPU
источник

AF

Aidar Fattakhov in C++ Together 2.0
А ваще числодробилки надо на чем-то с кооперативной многозадачностью делать а не на процессоре
источник

CC

Cool Cooler in C++ Together 2.0
Evgeniy Pichuzhkin
Наборы векторных инструкций
Объясни как неосилятору
источник

AF

Aidar Fattakhov in C++ Together 2.0
FORTRAN ONE LOVE
Скорее отправить в GPU
Да вот
источник

FO

FORTRAN ONE LOVE in C++ Together 2.0
TF и прочие вещи юзать
источник

CC

Cool Cooler in C++ Together 2.0
Aidar Fattakhov
А ваще числодробилки надо на чем-то с кооперативной многозадачностью делать а не на процессоре
Что за кооперативная многозадачность?
источник

CC

Cool Cooler in C++ Together 2.0
FORTRAN ONE LOVE
TF и прочие вещи юзать
Что за TF?
источник

FO

FORTRAN ONE LOVE in C++ Together 2.0
Cool Cooler
Что за TF?
ТензорФлоу
источник

CC

Cool Cooler in C++ Together 2.0
FORTRAN ONE LOVE
ТензорФлоу
Ааа, слышал
источник

EP

Evgeniy Pichuzhkin in C++ Together 2.0
Cool Cooler
Объясни как неосилятору
Если я не еблан, то такие инструкции используют подход SIMD — single instruction multiple data, то есть одна инструкция процессора применяется к куче данных
Как итог: если тебе нужно натравить кучу одинаковых инструкций на набор схожих данных, то с векторными инструкциями это всё сотворится в прилично раз быстрее
источник

AF

Aidar Fattakhov in C++ Together 2.0
Evgeniy Pichuzhkin
Если я не еблан, то такие инструкции используют подход SIMD — single instruction multiple data, то есть одна инструкция процессора применяется к куче данных
Как итог: если тебе нужно натравить кучу одинаковых инструкций на набор схожих данных, то с векторными инструкциями это всё сотворится в прилично раз быстрее
Ну не сильно
источник

CC

Cool Cooler in C++ Together 2.0
Evgeniy Pichuzhkin
Если я не еблан, то такие инструкции используют подход SIMD — single instruction multiple data, то есть одна инструкция процессора применяется к куче данных
Как итог: если тебе нужно натравить кучу одинаковых инструкций на набор схожих данных, то с векторными инструкциями это всё сотворится в прилично раз быстрее
Ааа, спс
источник

AF

Aidar Fattakhov in C++ Together 2.0
В раз 5 кажется
источник

EP

Evgeniy Pichuzhkin in C++ Together 2.0
Условно, если надо прокрутить 1 инструкцию для 4 участков памяти, то вместо 4 обычных инструкций можно использовать одну векторную
Это в общем-то будет быстрее
источник

🦊

🦊fox.cpp in C++ Together 2.0
Как-то давно такая дискуссия была с @foxpy, чем вообще является векторный юнит в CPU? Если дан гиперскалярный CPU, а векторный юнит - пачка "смотанных" вместе ALU, то профит векторных операций над обычными только в отсутствии оверхеда декодера инструкций, их щедулера и прочего, что происходит до фактического выполнения операции?
источник

🦊

🦊fox.cpp in C++ Together 2.0
Кароче говоря, почему одно какое-нибудь векторное сложение быстрее N-ых отдельных инструкций на гиперскалярном CPU?
источник

EP

Evgeniy Pichuzhkin in C++ Together 2.0
Я слов то таких не знаю, поэтому откланиваюсь дальше раковать >_<
источник

AF

Aidar Fattakhov in C++ Together 2.0
🦊fox.cpp
Как-то давно такая дискуссия была с @foxpy, чем вообще является векторный юнит в CPU? Если дан гиперскалярный CPU, а векторный юнит - пачка "смотанных" вместе ALU, то профит векторных операций над обычными только в отсутствии оверхеда декодера инструкций, их щедулера и прочего, что происходит до фактического выполнения операции?
Там еще синхронизации между операциями
источник

CC

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

AF

Aidar Fattakhov in C++ Together 2.0
Еще чтение и запись склеены вместе и цпу не нужно вдуплять что их можно склеить
источник