Size: a a a

Compiler Development

2020 January 08

M

MaxGraey in Compiler Development
Формальная верификация математики с плавающей запятой 😱
https://arxiv.org/pdf/1903.06119.pdf
источник

C

Constantine in Compiler Development
C Compiler from Scratch 🧐

https://github.com/DoctorWkt/acwj

In this Github repository, I'm documenting my journey to write a self-compiling compiler for a subset of the C language. I'm also writing out the details so that, if you want to follow along, there will be an explanation of what I did, why, and with some references back to the theory of compilers.
источник

МБ

Михаил Бахтерев in Compiler Development
Aleksey Shipilev
Обработчик знает, в какой машинной инструкции случился SEGV. По этому можно узнать, в какой инструкции байткода случился null. По этому можно тривиально показать на номер строки кода из дебаг-инфы в байткоде, как делается уже давно. Или посмотреть внимательно на байткод и напечатать что-то человеческое, как это делает недавний https://openjdk.java.net/jeps/358
Можно ли что-нибудь (кроме исходников) почитать о том, как прослеживается номер строки исходника между стадиями jit-компиляции?
источник

МБ

Михаил Бахтерев in Compiler Development
MaxGraey
Формальная верификация математики с плавающей запятой 😱
https://arxiv.org/pdf/1903.06119.pdf
Это улучшенный метод вычисления ограничений. Но эти методы применяются, точно не знаю, где ещё, но вряд ли только в SBCL. Вроде, верификации это никакой не даёт. Просто подсказка компилятору и программисту о диапазонах значений. Ну... Это само по себе важно
источник

M

MaxGraey in Compiler Development
MaxGraey
Там был очень смешной случай оказывалось, что в некоторых тестах AMD на ICC очень сильно проседал, народ начал разбираться и сравнивать и оказалось что спецом для AMD в кодогенераторе были промисаны лишние циклы и кодогенрация =)))
И опять интел взялась за старые трюки

https://www.reddit.com/r/Amd/comments/e4klj0/intel_is_still_sneakily_sabotaging_amd/
источник

C

Constantine in Compiler Development
https://github.com/zakirullin/tiny-compiler

A tiny compiler for a simple synthetic language featuring LL(2) grammar, written in pure C, with Lexer, Parser, ASM-like code generator and Virtual machine implemented
источник

AV

Alexey Veselovsky in Compiler Development
Да, это стандартная политика интела
источник

AV

Alexey Veselovsky in Compiler Development
То же самое в плане фильтрации патчей интела в какой-нибудь clang. В патче нет смысла если он ускоряет всех одинаково, вместо того, чтобы продвигать интел
источник

TS

Timur Safin in Compiler Development
самоцитата https://t.me/CompilerDev/43760
источник

E

EgorBo in Compiler Development
скучно, гораздо интереснее городить теории заговора)
источник

VK

Vladimir Kazanov in Compiler Development
пускай сами теперь разгребают. Какая разница, что они там думали, когда по факту работает так: if Intel then ROCK else SUCK.
источник

M

MaxGraey in Compiler Development
EgorBo
скучно, гораздо интереснее городить теории заговора)
Да, только это было не изначально:
«A few days ago, a small internet uproar occured when it was discovered that Intel's MKL (that powers Matlab) changes its performance not based on CPU features, but on the company that made the CPU.»

Это недавние изменения)
источник

TS

Timur Safin in Compiler Development
MaxGraey
Да, только это было не изначально:
«A few days ago, a small internet uproar occured when it was discovered that Intel's MKL (that powers Matlab) changes its performance not based on CPU features, but on the company that made the CPU.»

Это недавние изменения)
IMVHO это не звучит как недавнее изменение, а звучитт ровно как cpu-dispatch в  ICC рантайме
источник

E

EgorBo in Compiler Development
MaxGraey
Да, только это было не изначально:
«A few days ago, a small internet uproar occured when it was discovered that Intel's MKL (that powers Matlab) changes its performance not based on CPU features, but on the company that made the CPU.»

Это недавние изменения)
есть смысл тупо по if (IsIntel) делать некоторые оптимизации, использовать некоторые инструкции, в которых амд наоборот всасывает. Хороший пример - pdep, pext
источник

TS

Timur Safin in Compiler Development
к слову, я тут недавно обнаружил что VIA (еще один x86 лицензиат) сделал ход конем и реализовал AVX512 в Centaur https://fuse.wikichip.org/news/3099/centaur-unveils-its-new-server-class-x86-core-cns-adds-avx-512/2/ (опередив AMD)
вот они скоро тоже могут подтянуться к этому мутному треду
источник

E

EgorBo in Compiler Development
источник

VK

Vladimir Kazanov in Compiler Development
Timur Safin
к слову, я тут недавно обнаружил что VIA (еще один x86 лицензиат) сделал ход конем и реализовал AVX512 в Centaur https://fuse.wikichip.org/news/3099/centaur-unveils-its-new-server-class-x86-core-cns-adds-avx-512/2/ (опередив AMD)
вот они скоро тоже могут подтянуться к этому мутному треду
ну и будут совершенно правы, если попытаются раздуть скандал на этой теме. Це ж всеобщее благо!
источник

E

EgorBo in Compiler Development
т.е. эти две инструкции на порядки медленее чем в интелах
источник

VK

Vladimir Kazanov in Compiler Development
ну, кроме бенмарков от интел
источник

E

EgorBo in Compiler Development
источник