Size: a a a

Compiler Development

2020 May 18

M

MaxGraey in Compiler Development
O(1/n) - that’s seems legit!
O(n * log log n) - no way! impossible!
источник

PK

Pavel Kazakov in Compiler Development
MaxGraey
O(1/n) - that’s seems legit!
O(n * log log n) - no way! impossible!
В смысле? Второе как раз реалистично, а вот быстрее, чем за n -- нереалистично, как и 1/n
источник

PS

Peter Sovietov in Compiler Development
Обе статьи не читал, но уверен, что в одной — про динамическое программирование, а во второй — про (битовый) параллелизм %)
источник

M

MaxGraey in Compiler Development
Да, во второй про оно самое
источник

PK

Pavel Kazakov in Compiler Development
Что такое битовый параллелизм не понимаю: это будет атомик переменная, к которой дикий congestion с тонны тредов будет?
источник

МБ

Михаил Бахтерев... in Compiler Development
Pavel Kazakov
Что такое битовый параллелизм не понимаю: это будет атомик переменная, к которой дикий congestion с тонны тредов будет?
Не. Это когда биты определяют однозначно ту область памяти, с котрой надо работать.
источник

PK

Pavel Kazakov in Compiler Development
Наверное, я живу under a rock, но в идеальном мире, в котором можно адресоваться к индивидуальным битам, при том параллельно, это может и будет работать
источник

PK

Pavel Kazakov in Compiler Development
Михаил Бахтерев
Не. Это когда биты определяют однозначно ту область памяти, с котрой надо работать.
И никто не будет эти битовые маски менять? SPMC?
источник

AS

Aleksey Shipilev in Compiler Development
O(1/n) при безудержном параллелизме -- это как "любая зависимость выглядит линейной, если её нарисовать в логарифмических координатах достаточно толстым маркером!"
источник

МБ

Михаил Бахтерев... in Compiler Development
Pavel Kazakov
И никто не будет эти битовые маски менять? SPMC?
Какие маски?
источник

PK

Pavel Kazakov in Compiler Development
Михаил Бахтерев
Не. Это когда биты определяют однозначно ту область памяти, с котрой надо работать.
Где эти биты живут?
источник

PK

Pavel Kazakov in Compiler Development
Это какое-то машинное слово, допустим, которое выполняет роль маски для хождения по регионам памяти
источник

МБ

Михаил Бахтерев... in Compiler Development
Не обязательно, от структуры данных существенно зависит. В качестве примера - кодировки кадров в видеопотоках. YUV2 какое-нибудь
источник

PK

Pavel Kazakov in Compiler Development
Наверное, я слишком с практической точки зрения пришел, унесу ее куда-нибудь подальше) бесполезно что-то дальше таким образом описывать
источник

PS

Peter Sovietov in Compiler Development
Pavel Kazakov
Наверное, я слишком с практической точки зрения пришел, унесу ее куда-нибудь подальше) бесполезно что-то дальше таким образом описывать
С практической точки зрения — одна команда xor на 32-битном процессоре совершает 32 1-битных параллельных операции :)
источник

МБ

Михаил Бахтерев... in Compiler Development
А чего такого? Разнести величину по "плоскостям" памяти по битам, чтобы к битам был независимый доступ, - вполне себе практическое и широко используемое решение.
источник

PK

Pavel Kazakov in Compiler Development
Михаил Бахтерев
А чего такого? Разнести величину по "плоскостям" памяти по битам, чтобы к битам был независимый доступ, - вполне себе практическое и широко используемое решение.
Независимый доступ к битам из нескольких потоков -- это как?) Точно эффективнее других, более приземлённых, решений будет?
источник

МБ

Михаил Бахтерев... in Compiler Development
Pavel Kazakov
Независимый доступ к битам из нескольких потоков -- это как?) Точно эффективнее других, более приземлённых, решений будет?
Используют же зачем-то в обработке мультимедии и сигналов. Наверное, есть выгоды.
источник

PK

Pavel Kazakov in Compiler Development
Как именно используют?)) Это точно решения без оверхеда?
источник

PK

Pavel Kazakov in Compiler Development
Вроде расстановки барьеров lfence/mfence по коду
источник