Это да. Кстати, в подтверждение тезиса, сейчас наблюдаю на текущей задаче, как векторизованный код дает неплохое ускорение на Core 2, но на более свежем Core i3 скалярный код выполняется уже примерно со скоростью векторизованного, т.е. хорошо используя мощности конвеера и параллельных устройств внутри, векторизация происходит неявно сама.
А векторизованный на свежем, особенно целочисленный, но написанный через AVX2? Вот Алекс Тутбалин, которому я склонен доверять в этих вопросах, пишет, что там прямо счастье-счастье наступило, что даже AVX1 сильно убыстрило всякую обработку битмап-графики, а уж с AVX2 он сейчас вообще таааакое напишет!
Ни одна система команд для векторных машин не умеет делать загрузку и сохранение по вектору адресов. А это чрезвычайно ценно. Меня на Курсере, в курсе про построение современнгых CPU, учили, что умели как минимум какие-то средние по поколениям Креи (когда они были уже достаточно развиты, но ещё с полностью своей архитектурой). Был там scatter-gather.
Но где те векторные машины, которые были изначально векторные, а не заплатой 5-го уровня вложенности, как AVX2?
Reply
Reply
Ни одна система команд для векторных машин не умеет делать загрузку и сохранение по вектору адресов. А это чрезвычайно ценно.
Reply
Reply
Вот Алекс Тутбалин, которому я склонен доверять в этих вопросах, пишет, что там прямо счастье-счастье наступило, что даже AVX1 сильно убыстрило всякую обработку битмап-графики, а уж с AVX2 он сейчас вообще таааакое напишет!
Reply
Reply
Меня на Курсере, в курсе про построение современнгых CPU, учили, что умели как минимум какие-то средние по поколениям Креи (когда они были уже достаточно развиты, но ещё с полностью своей архитектурой). Был там scatter-gather.
Но где те векторные машины, которые были изначально векторные, а не заплатой 5-го уровня вложенности, как AVX2?
Reply
Reply
Leave a comment