group-telegram.com/experimentalchill/268
Last Update:
Съездил я тут в Эдинбург на CGO (compiler generation and optimization).
Вообще, понравилось, я как-то странным образом перезарядился, хотя и не самый основной мой профиль.
Понравились след доклады:
LLVM performance workshop
* Practical use of BOLT
BOLTу уже 8 лет и 6 в open source, технология уже достаточно стабильная и много принесла пользы в мире postlink optimization. Из нового для себя и интересного -- теперь BOLT подгружает только функции, которые затронуты профилем и не вытягивает по 200GB памяти на больших бинарных файлах, а также начали экспериментировать с RISC-V. В остальном как обычно -- надо чуть чуть правильно собрать бинарь, чуть чуть не ошибиться в сборе профиля и будет всё хорошо.
* The next 700 ML-optimizations in LLVM
Всяких разных ML decision making оптимизаций набралось огого сколько, но вот в LLVM притащить и запустить в прод всё ещё тяжело. Почему? Да потому что одни используют Tensorflow, другие PyTorch, третьи JAX, четвёртые на сях написали backpropagation. С этим всем приходит идея унифицировать используемый формат, чтобы хоть как-то договориться. Модели разрешат достаточно простые, в одном формате и работа идёт полным ходом. Приятно видеть прогресс и что всё таки достаточно консервативное общество компиляторостроения принимает в себя инновации.
SLaDe: A Portable Small Language Model Decompiler for Optimized Assembly
Декомпиляция и построение обратного кода это жуткий процесс использующий тысячи человекочасов (чего только стоит полный реверс инжиниринг GTA III). С развитием LLM, оказывается можно неплохо так упростить -- LLMки сами неплохо понимают как написать код, чтобы получить нужный ассемблер. Хорошая статья и отличные инновации в декомпиляции!
Compiler Testing with Relaxed Memory Models
Ещё одна статья, чтобы потестировать модели памяти. Из отличного, 9.6 миллионов очень хороших тестов на мультипоточность атомарных операций. Chef's kiss
High-Throughput, Formal-Methods-Assisted Fuzzing for LLVM
Ещё одна статья от звезды фаззинга John Regehr. В LLVM существует тула формальной верификации оптимизаций -- Alive2. Разработчики иногда забывают написать тесты к крайним случаям (или забывают какие-нибудь важные аннотации к инструкциям), поэтому на удивление никто не попробовал случайно сделать мутацию тестов LLVM и прогнать через Alive2. 33 бага, всё полыхает, всё в огне, всё починили, красиво капец.
Из удивительного я на конференции случайно на ланче сел с Lee Smith. Он рассказывал про retirement, что работал в Arm, что до сих пор помогает, я слушал, интересно то как. Ну прикольный дядька, я подумал. Загуглил через полчаса -- да он один из основателей Arm!
Познакомился с Michael Scott, его lock free queue я писал в универе, изучал lock free priority queue и вообще половину знаний concurrency у меня от его статей и лекций. Видеть таких рок-звёзд вживую воодушевляет. Мол, чувак, я над твоими работами умирал, проливал на них кофе, засыпал в обнимку, а ты тут стоишь как ни в чём ни бывало, привет!
Честно для меня в целом конференция по знаниям была весьма скучная, но последние две встречи зарядили особенно неожиданно. Ну и друзья в Эдинбурге добавили красок к городу :)
BY Experimental chill
![](https://photo.group-telegram.com/u/cdn4.cdn-telegram.org/file/FzVayZF4xGN8xHQE3GbAKu5aUMMowUTtwXvWC1d0M0zcVNIruKKs8lqPF9P4L6l0v_OQJ5GkB-LyqLCRU_53EmDdvP0yIupdKaWqLV8ASGvDCgAzvK1xCrBVxbgPu93EETUljUDuJ4B9z8KUPppluNzHTT4e7QIixF5eNdSCMmY4J5NG4LHQ7y7mP1KKXUFyh7MkksipGLWZwuRyA6bVKty7NCMqxohk7wg2DPgYdlFl6e2K8ZDZFTs5qxTD_CKSHJmPfxAmJpPyOw0AXk9FpTHVXZ6lFYkzP3ot8EeAmJ7vBD2MFP6kJ1s81b4rCZnqU2UHN7RBIF6EtUHk6A6KoA.jpg)
Share with your friend now:
group-telegram.com/experimentalchill/268