tgoop.com/plcomp/91
Last Update:
Недавно завершилась конференция C++ Russia 2023 и пришло время подвести некоторые ее итоги. Разумеется, в контексте нашего канала, благо на конференции появилась отдельная секция по компиляторным докладам.
Теперь о двух докладах, на которых я присутствовал в том или ином качестве.
Loop unrolling в деталях Ивана Афансьева. Доклад, как это понятно из названия, посвящен теме раскрутки циклов в компиляторе. Это введение в предмет, более интересное, пожалуй, начинающим. Правда, есть один любопытный нюанс. В завершающей части доклада Иван переходит от игрушечных задач к задаче из своей практической деятельности. Это, совершенно неожиданно, оказывается NP-полная задача о вершинном покрытии графа. Боюсь, что далеко не все начинающие поняли тонкости задачи в процессе доклада. Откуда взялась эта задача? Этот вопрос я и задал Ивану. Тут-то и выяснилось самое интересное. Оказывается, это задача относится к проекту генератора кода для спецпроцессора. Иван решает ее в лоб для малого набора данных (раскручивает циклы, использует векторизацию), а если набор данных велик -- использует ансамбль из эвристических алгоритмов. Достаточно впечатляюще! Здесь я пожалел, что Иван не сделал на эту тему отдельного доклада уже для опытных компиляторщиков.
Автоматизация программирования в СССР. Трансляторы (60–70-е годы). Вторая часть моего доклада. В процессе подготовки от ряда тем пришлось отказаться, поскольку на их изложение времени уже не хватало. В этой части я постарался еще более явно связать древние времена с самыми современными компиляторными подходами и в этом смысле, боюсь, доклад не совсем будет понятен начинающим. Впрочем, возможно я и ошибаюсь, так что предлагаю самостоятельно посмотреть и оценить. За возможность дать ссылку на yt благодарю Тимура Сафина и JUG Ru Group.
https://www.youtube.com/watch?v=Q2ErYDuVAWo
BY PLComp
Share with your friend now:
tgoop.com/plcomp/91