Size: a a a

Compiler Development

2021 July 08

ДК

Дикий Кот in Compiler Development
В BLAS реализованы, например. Ну, это стандартные алгоритмы, давно известные. Сейчас есть более навороченные полиэдральные модели. Во фрэймворках от Google они используются
источник

Y

Yury in Compiler Development
Интересно. А есть ссылки?
источник

ДК

Дикий Кот in Compiler Development
Halide, Tiramisu Compiler
источник

Y

Yury in Compiler Development
Да нет, я про нейросетевые фреймворки.
источник

ДК

Дикий Кот in Compiler Development
В них и используется
источник

[

[BRM]White Rabbit in Compiler Development
я же правильно понимаю, что все оптимизации завязаны на инварианты? Т.е. "если 2+2 это всегда 4, то заменив одно на другое мы ничего не изменим" или "если значение никогда не меняется, то мы можем обеспечить туда доступ с разных потоков без мьютексов"
источник

VS

Victor Shamparov in Compiler Development
Имеются в виду оптимизации в компиляторах в общем или в каких-то конкретных?
Если в общем, то можно так считать в широком смысле, но без квантора всеобщности: общее требование к оптимизациям (хотя некоторые могут отходить) - чтобы не изменялось наблюдаемое поведение программы. Но, например, оптимизации в gcc по опции -ffast-math ускоряют плавучку ценой нарушения этого требования.
источник

[

[BRM]White Rabbit in Compiler Development
окей
источник

АД

Альбина Данилина... in Compiler Development
источник

AT

Alexander Tchitchigi... in Compiler Development
https://niedzejkob.p4.team/rust-np/
Этот момент не только к Rust относится, КМК.
источник

ДК

Дикий Кот in Compiler Development
Это, вроде, давно известный результат.
источник

AT

Alexander Tchitchigi... in Compiler Development
Да, вроде, никто и не утверждает, что новый. 😃
источник

ДК

Дикий Кот in Compiler Development
Rust  относительно новый, следовательно, не только про Rust.
источник
2021 July 09

PS

Peter Sovietov in Compiler Development
Сказка на ночь:

"...The first time I looked at its source code, I tried and failed to find the register allocator and instruction scheduler in the C files. That's when I realized to my horror that he had written them in Awk scripts... Just now I tried to find a link to the Awk scripts to confirm my hazy memory and to share it with you fine folks. And I couldn't find it. It seems to be done in C code now... And I thought, that code looks really weird for something so low-level. Why is it doing all those dictionary lookups and string operations? And then it struck me: HE AUTO-TRANSLATED THE AWK SCRIPTS BACK TO C!"
источник

а

а это кто in Compiler Development
beautiful
источник

а

а это кто in Compiler Development
а про какой это компилятор
источник

I

InsidE in Compiler Development
тут оригинал, более подробно описано, о чем речь

https://twitter.com/pervognsen/status/955288733464461312
источник

A

Arelav in Compiler Development
Привет, а никто случайно не разбирался как работают new[]/delete[] expr, например в clang?
Любопытно просто как именно они хранят количество объектов для которых нужно будет вызвать деструктор и какие оптимизации применяют.
У меня есть предположения, но интересно узнать как на самом деле, но не настолько чтобы сейчас разбираться самому ы
источник

AT

Alexander Tchitchigi... in Compiler Development
Так это больше вопрос к malloc/free и рантайму, а не компилятору...
источник

A

Arelav in Compiler Development
Почему к рантайму? Вопрос не в выделение памяти(operator new/delete) а в вызове конструкторов/деструкторов
источник