умеет, но для ограниченного кол-ва операций, т.е. смысла в реальной жизни мало https://github.com/ClickHouse/ClickHouse/pulls?q=is%3Apr+avx+512+is%3Aclosed и есть проблема что CI сервера не умеют avx512
Емнип, штеуд не очень давно пофиксил что при их использовании турбо буст отключается на это время
гм, а просто откомпилировать под avx512? там все вычислительные операции реализованы так, что они под любой simd хорошо откомпиляются
я плохо в этом разбираюсь, но мне кажется вы сильно ошибаетесь
я не говорю, что всё от этого выиграет, но конкретно вычисление арифметических операций загнано в хорошо распараллеливаемые циклы. я видел это на презентациях, код типа такого легко транслировать в любой simd: for i=0..1023: a[i]+=b[i]
по моему там вообще не используется simd сейчас и не все так просто и надо писать много кода. Представьте что b это nullable тип.
отдельно обрабатывается маска isNull и отдельно сложение: for i=0..1023: a[i]+=b[i] for i=0..127: aNull[i] |= bNull[i]
да тут все как бы сложнее потому что у КХ в Nullble значении может быть не 0.
собственно моя инфа например отсюда: https://youtu.be/vbhSrZxm66E?t=6302 код кх я пока не изучал
Обсуждают сегодня