Потрясающее машинное обучение для компиляторов и оптимизации программ
Кураторский список замечательных исследовательских работ, наборов данных и инструментов для применения методов машинного обучения к компиляторам и оптимизации программ.
Содержание
- Статьи
- Опрос
- Итеративная компиляция и настройка параметров компилятора
- Оптимизация на уровне инструкций
- Отображение параллелизма и планирование задач
- Языки и компиляция
- Автонастройка и исследование пространства дизайна
- Уменьшение размера кода
- Модели стоимости и производительности
- Оптимизация для конкретной области
- Представление программы обучения
- Включение машинного обучения в компиляторах и оптимизации систем
- Моделирование/анализ памяти/кэша
- Книги
- Доклады и обучающие материалы
- Программное обеспечение
- Тесты и наборы данных
- Конференции
- Журналы
- Как внести свой вклад
Статьи
Опрос
- Машинное обучение в оптимизации компилятора - Чжэн Ван и Майкл О'Бойл, Труды IEEE, 2018 г.
- Опрос по автонастройке компилятора с использованием машинного обучения — Амир Х. Ашури, Уильям Киллиан, Джон Кавазос, Джанлука Палермо и Кристина Сильвано, ACM Computing Surveys (CSUR), 2018 г.
- Обзор машинного обучения для обеспечения большого кода и естественности — Милтиадис Алламанис, Эрл Т. Барр, Премкумар Деванбу и Чарльз Саттон, ACM Computing Surveys (CSUR), 2018 г.
- Таксономия машинного обучения для системных проблем - Мартин Маас, IEEE Micro, 2020 г.
- Компилятор глубокого обучения: комплексный опрос - Минчжэнь Ли, И Лю, Сяоянь Лю, Цинсяо Сунь, Синь Ю, Хайлун Ян, Чжунчжи Луань, Линь Ган, Гуанвэнь Ян, Дэпэй Цянь, Транзакции IEEE в параллельных и распределенных системах, 2021 г.
Итеративная компиляция и настройка параметров компилятора
- SRTuner: эффективная настройка оптимизации компилятора путем выявления синергетических связей - Пак Сунгхён, Салар Латифи, Пак Ёнджун, Арманд Бехрузи, Чон Бёнсу, Скотт Мальке. ЦГО 2022.
- Оптимизация итеративной компиляции на основе метрического обучения и совместной фильтрации - Хунчжи Лю, Цзе Луо, Ин Ли, Чжунхай Ву. АКМ ТАКО 2022.
- Байесовская оптимизация превосходит случайный поиск при настройке гиперпараметров машинного обучения: анализ проблемы оптимизации черного ящика 2020 года - Райан Тернер, Дэвид Эрикссон, Майкл МакКорт, Юха Кили, Ээро Лааксонен, Чжэнь Сюй, Изабель Гийон. арXiv 2021.
- Блаженство: автоматическая настройка сложных приложений с использованием пула разнообразных облегченных моделей обучения — Р.Б. Рой, Т. Патель, В. Гадепалли, Д. Тивари. ПЛДИ 2021.
- Эффективная автонастройка компилятора посредством байесовской оптимизации - Цзюньцзе Чен, Нинсинь Сюй, Пейци Чен, Хунъюй Чжан. ММВБ 2021.
- Индивидуальный поиск по дереву Монте-Карло для LLVM/преобразований оптимизации составного цикла Полли - Джехун Ку, Прасанна Балапракаш, Майкл Круз, Синфу Ву, Пол Ховланд, Мэри Холл. Архив.орг, 2021.
- Улучшено переупорядочение базовых блоков — Энди Ньюэлл и Сергей Пупырев. Транзакции IEEE на компьютерах, 2020.
- Оптимизация статического нейронного компилятора посредством глубокого обучения с подкреплением - Рагим Мамедли, Али Джаннесари, Феликс Вольф. Семинар LLVM по HPC, 2020.
- Автонастройка пространства поиска для циклических преобразований - Майкл Круз, Хэл Финкель, Синфу Ву. Семинар LLVM по HPC, 2020.
- Подход к совместной фильтрации для автоматической настройки оптимизации компилятора - Стефано Середа, Джанлука Палермо, Паоло Кремонези и Стефано Дони, LCTES 2020.
- Автофаза: упорядочение фаз компилятора для hls с глубоким обучением с подкреплением. Амир Хадж-Али, Цицзин Хуанг, Уильям Мозес, Джон Сян, Ион Стойка, Крсте Асанович, Джон Вавжинек. МЛСис 2020.
- FuncyTuner: автоматическая настройка научных приложений с помощью поцикловой компиляции - Тао Ван, Нихил Джейн, Дэвид Бекингсейл, Дэвид Бёме, Фрэнк Мюллер, Тодд Гэмблин. ИКПП 2019.
- Micomp: Решение проблемы упорядочения фаз компилятора с помощью подпоследовательностей оптимизации и машинного обучения — Амир Х. Ашури, Андреа Биньоли, Джанлука Палермо, Кристина Сильвано, Самир Кулкарни и Джон Кавазос. Транзакции ACM по оптимизации архитектуры и кода (TACO) 2017.
- Оптимизация итерационного расписания для распараллеливания в модели многогранника - Стефан Гансер, Армин Грёсслингер, Норберт Зигмунд, Свен Апель и Кристиан Ленгауэр. Транзакции ACM по оптимизации архитектуры и кода (TACO), 2017.
- Учимся супероптимизировать программы - Руди Бюнель, Альбан Десмейсон, М. Паван Кумар, Филип Х.С. Торр, Пушмит Колим. ИКЛР 2017
- Непрерывное изучение эвристики компилятора — Микеле Тартара и Стефано Креспи Региззи. Транзакции ACM по оптимизации архитектуры и кода (TACO), 2013.
- Устранение проблемы упорядочения фаз оптимизации компилятора с помощью машинного обучения — Самир Кулкарни и Джон Кавазос. ООПЛА 2012.
- Оценка различных методов моделирования для итеративной компиляции — Ынджунг Пак, Самир Кулкарни и Джон Кавазос. КЕЙСЫ 2011.
- Оценка итеративной оптимизации на 1000 наборах данных — Ян Чен, Юаньцзе Хуан, Ливен Экхаут, Григорий Фурсин, Лян Пэн, Оливье Темам и Ченгён Ву. ПЛДИ 2010
- Итеративная оптимизация в многогранной модели: Часть II, многомерное время - Луи-Ноэль Пуше, Седрик Бастул, Альберт Коэн и Джон Кавасос. ПЛДИ 2008.
- Коул: исследование уровня оптимизации компилятора — Кеннет Хосте и Ливен Экхаут. ЦГО 2008.
- MILEPOST GCC: компилятор исследований на основе машинного обучения - Григорий Фурсин, Купертино Миранда, Оливье Темам, Мирча Намолару, Элад Йом-Тов, Аял Закс, Билья Мендельсон и др., 2008 г.
- Оценка алгоритмов поиска порядка фаз эвристической оптимизации - Дж. У. Дэвидсон, Гэри С. Тайсон, Д. Б. Уолли и П. А. Кулкарни. ЦГО 2007.
- Быстрый выбор хороших оптимизаций компилятора с помощью счетчиков производительности — Джон Кавазос, Григорий Фурсин, Феликс Агаков, Эдвин Бонилла, Майкл Ф.П. О'Бойл и Оливье Темам. ЦГО 2007.
- Использование машинного обучения для итеративной оптимизации — Феликс Агаков, Эдвин Бонилья, Джон Кавазос, Бьорн Франке, Григорий Фурсин, Майкл Ф.П. О'Бойл, Джон Томсон, Марк Туссен и Кристофер К.И. Уильямс. ЦГО 2006.
- Динамическая компиляция для конкретного метода с использованием логистической регрессии - Джон Кавазос и Майкл Ф.П. О'Бойл. УПСЛА 2005.
- Прогнозирование факторов развертывания с использованием контролируемой классификации — Марк Стивенсон и Саман Амарасингхе. ЦГО 2005.
- Быстрый поиск эффективных последовательностей этапов оптимизации — Прасад Кулкарни, Стивен Хайнс, Джейсон Хизер, Дэвид Уолли, Джек Дэвидсон и Дуглас Джонс. ПЛДИ 2004.
Оптимизация на уровне инструкций
- RL4ReAl: Обучение с подкреплением для распределения регистров - С. Венката Кирти, Сиддхарт Джайн, Анилава Кунду, Рохит Аггарвал, Альберт Коэн, Рамакришна Упадраста. КС 2023.
- Распределение циклов для локальности и векторизации с помощью обучения с подкреплением - Шалини Джайн, С. Венката Кирти, Рохит Аггарвал, Тарун Кумар Дангети, Дибьенду Дас, Рамакришна Упадраста. Семинар LLVM по HPC 2022.
- Открытие более быстрых алгоритмов умножения матриц с помощью обучения с подкреплением - Фавзи, Альхуссейн, Матей Балог, Аджа Хуанг, Томас Хуберт, Бернардино Ромера-Паредес, Мохаммадамин Барекатайн, Александр Новиков и др. Природа 2022
- Среда обучения с подкреплением для многогранной оптимизации - Александр Браукманн, Андрес Гоенс, Херонимо Кастрийон. ПАКТ, 2021.
- Методы компилятора на основе искусственного интеллекта для оптимизации DL-кода - Санкет Таварагери, Гагандип Гоял, Сасикант Аванча, Бхарат Каул, Рамакришна Упадраста. Архив.орг, 2021.
- VeGen: векторизатор-генератор для SIMD и не только - Ишен Чен, Чарит Мендис, Майкл Карбин, Саман Амарасингхе. АСПЛОС 2021.
- Алгоритм гибридной раскраски графов на основе глубокого обучения для распределения регистров — Дибьенду Дас, Шахид Асгар Ахмад, Кумар Венкатараманан. Семинар LLVM по HPC, 2020.
- NeuroVectorizer: сквозная векторизация с глубоким обучением с подкреплением — Амир Хадж-Али, Несрин К. Ахмед, Тед Вилке, Якун София Шао, Крсте Асанович и Ион Стойка. ЦГО 2020.
- Раскрытие силы обучения: расширенный основанный на обучении подход к динамическому двоичному переводу - Чанхэн Сун, Венвен Ван, Пен-Чунг Ю, Антония Чжай, Вэйхуа Чжан. УСЕНИКС УВД 2019.
- Авто-векторизация компилятора с имитационным обучением - Чарит Мендис, Кембридж Янг, Юэн Пу, Саман П. Амарасингхе, Майкл Карбин. НейрИПС 2019.
- Многоцелевое исследование практических решений по оптимизации двоичного перевода - Пак Сунхён, Юфэн Ву, Джангхенг Ли, Амир Аупов и Скотт Мальке. Транзакции ACM во встраиваемых вычислительных системах (TECS), 2019.
- Автоматическое построение эвристических эвристик с использованием машинного обучения. - Самир Кулкарни, Джон Кавазос, Кристиан Виммер и Дуглас Саймон. ЦГО 2013.
- Автоматическая настройка эвристики встраивания — Джон Кавазос и Майкл О’Бойл. СК 2005.
- Использование эвристики для принятия решения о необходимости планирования - Джон Кавазос и Дж. Элиот Б. Мосс. ПЛДИ 2003.
- Мета-оптимизация: улучшение эвристики компилятора с помощью машинного обучения — Марк Стивенсон, Саман Амарасингхе, Мартин Мартин и Уна-Мэй О'Рейли. ПЛДИ 2003.
- Учимся планировать прямой код - Дж. Элиот Б. Мосс, Пол Э. Утгофф, Джон Кавазос, Дойна Прекап, Дарко Стефанович, Карла Э. Бродли и Дэвид Шифф. НейрИПС 1998.
Автонастройка и исследование пространства дизайна
- Ускоренная автонастройка ядер графического процессора для тензорных вычислений — Ченди Ли, Юфан Сюй, Сина Махдипур Саравани и П. Садаяппан. ИКС 2024.
- Выявление эвристики компилятора посредством автоматического обнаружения и оптимизации - Волкер Сикер, Крис Камминс, Мюррей Коул, Бьёрн Франке, Ким Хейзелвуд, Хью Лезер. ЦГО 2024.
- Алгоритм поиска капель для планирования ядра - Майкл Канеше, Вандерсон М. Розарио, Эдсон Борин, Фернандо Маньо Кинтао Перейра. АКМ ТАКО 2024
- BaCO: быстрая и портативная среда оптимизации байесовского компилятора - Эрик Хеллстен, Артур Соуза, Йоханнес Ленферс, Рубенс Лакутюр, Оливия Сюй, Адель Эйе, Фредрик Кьолстад, Мишель Стювер, Кунле Олукотун, Луиджи Нарди. АСПЛОС 2024.
- (De/Re)-композиции, систематически выраженные с помощью графиков на основе MDH - Ари Раш, Рихард Шульце, Денис Шабалин, Энн Эльстер, Сергей Горлач, Мэри Холл. КС 2023.
- Автонастройка сверток проще, чем вы думаете — Николя Толленер, Гийом Иос, Стефан Пуже, Уго Бруни, Кристоф Гийон, Альберт Коэн, П. Садаяппан, Фабрис Растелло. АКМ ТАКО 2022.
- Настройка передачи: повторное использование автоматических расписаний для эффективной генерации тензорного программного кода - Перри Гибсон, Хосе Кано. ПАКТ 2022.
- Взгляд: математическое внедрение спецификации оборудования для нейронной компиляции - Бюнг Хун Ан, Шон Кинзер, Хади Эсмаилзаде. ДАК 2022.
- Одноразовый тюнер для компиляторов глубокого обучения — Джэхун Рю, Ынхёк Пак, Хёджин Сон. КС 2022.
- Гибкий подход к автонастройке многопроходных компиляторов машинного обучения - Пхитчая Мангпо Фотилимтана, Амит Сабне, Нихил Сарда, Картик Сриниваса Мурти, Янки Чжоу, Кристоф Ангермюллер, Майк Берроуз, Судип Рой, Кетан Мандке, Резса Фарахани, Ю Эмма Ван, Беркин Илбейи , Блейк Хехтман, Бьярке Рун, Шэнь Ван, Юаньчжун Сюй и Сэмюэл Дж. Кауфман. ПАКТ 2021.
- TASO: Оптимизация вычислений глубокого обучения с автоматической генерацией замен графов - Чжихао Цзя, Одед Падон, Джеймс Томас, Тодд Варшавски, Матей Захария и Алекс Эйкен. АСМ СОСП 2019.
- Обучение ценности для оптимизации пропускной способности при работе с глубокими нейронными нагрузками — Бенуа Штайнер, Крис Камминс, Хорас Хе, Хью Лезер. МЛСис 2021.
- DynaTune: оптимизация динамической тензорной программы в глубокой нейронной сети. Компиляция — Минцзя Чжан, Мэнхао Ли, Чи Ван, Минцинь Ли. ИКЛР 2021.
- Оптимизация размещения памяти с использованием обучения с подкреплением эволюционного графа - Шаухарда Хадка, Эстель Афлало, Маттиас Мардар, Аврех Бен-Давид, Сантьяго Мирет, Ши Маннор, Тамир Хазан, Ханлин Тан, Сомдеб Маджумдар. ИКЛР 2021.
- GPTune: многозадачное обучение для автонастройки экзафлопсных приложений - Ян Лю, Виссам М. Сид-Лахдар, Осни Маркес, Синьран Чжу, Чанг Мэн, Джеймс В. Деммел, Сяое С. Ли. ППоПП 2021.
- ApproxTuner: компилятор и система времени выполнения для адаптивных аппроксимаций - Хашим Шариф, Ифан Чжао, Мария Котифаку, Акаш Котари, Бен Шрайбер, Элизабет Ванг, Ясмин Сарита, Натан Чжао, Кейур Джоши, Викрам С. Адве, Саса Мисаилович, Сарита Адве. ППоПП 2021.
- Эффективная автонастройка параллельных программ с взаимозависимыми параметрами настройки с помощью платформы автонастройки (ATF) - Ари Раш, Рихард Шульце, Мишель Штойвер, Сергей Горлач. АКМ ТАКО 2021.
- Хамелеон: адаптивная оптимизация кода для ускоренной компиляции глубоких нейронных сетей - Бён Хун Ан, Пранной Пиллигундла, Амир Язданбахш, Хади Исмаилзаде. ИКЛР 2020.
- Ансор: Создание высокопроизводительных тензорных программ для глубокого обучения - Ляньминь Чжэн, Чэнфан Цзя, Минмин Сунь, Чжао Ву, Коди Хао Ю, Амир Хадж-Али, Йида Ван, Цзюнь Ян, Даньян Чжо, Кошик Сен, Джозеф Э. Гонсалес, Ион Стойка. OSDI 2020. (слайды, презентация)
- Алгоритмический автотюнер на основе шаблонов для обработки графов на графических процессорах — Кэ Мэн, Цзяцзя Ли, Гуанмин Тан, Нинхуэй Сунь. ППоПП 2019.
- FBNet: Эффективное проектирование ConvNet с учетом аппаратного обеспечения с помощью поиска дифференцируемой нейронной архитектуры - Бичэнь Ву, Сяолян Дай, Пэйчжао Чжан, Янхань Ван, Фэй Сунь, Имин Ву, Юаньдун Тянь, Питер Вайда, Янцин Цзя, Курт Койцер. ЦВПР 2019.
- TVM: автоматизированный комплексный оптимизирующий компилятор для глубокого обучения — Тяньци Чен, Тьерри Моро, Цзыхэн Цзян, Ляньминь Чжэн, Эдди Ян, Хайчен Шен, Меган Коуэн и др., OSDI 2018
- ЛОДКА: Создание автотюнеров со структурированной байесовской оптимизацией - Валентин Далибар, Михаэль Шааршмидт и Эйко Йонеки, WWW 2017.
- Кобейн: Структура автонастройки компилятора с использованием байесовских сетей - Амир Х. Ашури, Джованни Мариани, Джанлука Палермо, Юнджунг Парк, Джон Кавазос и Кристина Сильвано, Транзакции ACM по архитектуре и оптимизации кода (TACO), 2016.
- Выбор алгоритма автонастройки для входной чувствительности — Юфэй Дин, Джейсон Ансел, Калян Вирамачанени, Сипэн Шен, Уна-Мэй О'Рейли и Саман Амарасингхе. ПЛДИ 2015
- Быстро: система быстрой автонастройки трафарета, основанная на пространственной модели оптимального решения — Юлун Луо, Гуанмин Тан, Цзэяо Мо и Нинхуэй Сунь. Транзакции ACM по оптимизации архитектуры и кода (TACO), 2015.
- Настройка производительности и энергопотребления графического процессора с использованием деревьев регрессии — Вэньхао Цзя, Эльба Гарза, Келли А. Шоу и Маргарет Мартоноси. СК 2015.
- Термическая оптимизация между и внутри приложений на основе обучения с подкреплением для увеличения срока службы многоядерных систем - Ануп К. Дас, Ришад Ахмед Шафик, Джефф В. Мерретт, Башир М. Аль-Хашими, Акаш Кумар, Бхарадвадж Виравалли. ДАК 2014
- Opentuner: расширяемая среда для автонастройки программ — Джейсон Ансел, Шоаиб Камил, Калян Вирамачанени, Джонатан Рэган-Келли, Джеффри Босбум, Уна-Мэй О'Рейли и Саман Амарасингхе. ПАКТ 2014
- Уменьшение сложности параллельного ввода-вывода с помощью автонастройки — Бабак Бехзад, Хуонг Ву Тхань Луу, Джозеф Хачетт, Сурендра Байна, Рут Айдт, Куинси Козиол и Марк Снир. СК 2013.
- Многоцелевая система автонастройки для параллельных кодов — Герберт Джордан, Питер Томан, Хуан Дж. Дурилло, Симона Пеллегрини, Филипп Гшвандтнер, Томас Фарингер и Ганс Морич. СК 2012.
- Бандитская оптимизация на графах с применением к настройке производительности библиотеки - Фредерик Де Месмай, Арпад Риммель, Евгений Вороненко и Маркус Пюшель. ИКМЛ 2009.
- Объединение моделей и управляемый эмпирический поиск для оптимизации нескольких уровней иерархии памяти — Чун Чен, Жаклин Чейм и Мэри Холл. CGO 2005 г.
- Активная гармония: к автоматизированной настройке производительности — Кристиан Тапус, И-Синь Чунг, Джеффри К. Холлингсворт. СК 2002
Отображение параллелизма и планирование задач
- Исследование моделей сверточных нейронных сетей для классификации исходного кода — Франческо Барчи, Эмануэле Паризи, Джанвито Ургезе, Элиза Фикарра и Андреа Аквавива. Инженерное применение искусственного интеллекта, январь 2021 г.
- Автопилот: автомасштабирование рабочей нагрузки в Google — Кшиштоф Ржадка, Павел Финдайзен, Яцек Свидерски, Пшемыслав Зых, Пшемыслав Бронек, Ярек Кузьмерек, Павел Новак, Беата Штрак, Петр Витусовский, Стивен Хэнд, Джон Уилкс. EuroSys 2020. слайды
- Моделирование и оптимизация NUMA-эффектов и предварительная выборка с помощью машинного обучения — Исаак Санчес Баррера, Дэвид Блэк-Шаффер, Марк Касас, Микель Морето, Анастасия Ступникова и Михаил Попов. ИКС 2020.
- Пуаз: Балансировка параллелизма на уровне потоков и производительности системы памяти в графических процессорах с помощью машинного обучения — Саумай Дублиш, Виджей Нагараджан и Найджел Топхама. HPCA 2019.
- Размещение данных и потоков в архитектурах NUMA: статистический подход к обучению - Николя Денойель, Брайс Гоглин, Эммануэль Жанно и Томас Ропарс. ИКПП 2019.
- Сопоставление кода на гетерогенных платформах с использованием глубокого обучения и LLVM-IR — Франческо Барчи, Джанвито Ургезе, Энрико Масии и Андреа Аквавива. ДАК 2019.
- Адаптивная оптимизация программ OpenCL во встроенных гетерогенных системах — Бен Тейлор, Висент Санс Марко и Чжэн Ван. ЛКТЭС 2017.
- Повышение производительности приложений Spark за счет совместного размещения задач с учетом памяти: подход нескольких экспертов — Висента Санса Марко, Бена Тейлора, Барри Портера и Чжэн Вана. Промежуточное ПО 2017.
- Интеллектуальное многозадачное планирование для программ OpenCL на гетерогенных платформах CPU/GPU — Юань Вэнь, Чжэн Ван и Майкл Ф.П. О'Бойл. ХайПК 2015.
- Quasar: ресурсоэффективное управление кластером с учетом QoS — Кристина Делимитру и Христос Козыракис. АСПЛОС 2014.
- Автоматическое и портативное отображение параллельных программ данных в opencl для гетерогенных систем на базе графического процессора — Чжэн Ван, Доминик Греве и Майкл О'Бойл. Транзакции ACM по оптимизации архитектуры и кода (TACO), 2014.
- Интеграция обнаружения параллелизма на основе профиля и картографирования на основе машинного обучения - Чжэн Ван, Георгиос Турнавитис, Бьорн Франке и Майкл Ф.П. О'бойл. Транзакции ACM по оптимизации архитектуры и кода (TACO), 2014.
- Портативная производительность гетерогенных архитектур - Питчая Мангпо Фотилимтана, Джейсон Ансел, Джонатан Рэган-Келли, Саман Амарасингхе. АСПЛОС 2013.
- Умное, адаптивное отображение параллелизма при наличии внешней рабочей нагрузки — Мурали Кришна Эмани, Чжэн Ван и Майкл О’Бойл. ЦГО 2013.
- Потоковый параллелизм секционирования для многоядерных процессоров: подход, основанный на машинном обучении - Чжэн Ван и Майкл О'Бойл. ПАКТ 2010.
- Цилинь: использование параллелизма на гетерогенных мультипроцессорах с адаптивным отображением - Чи-Гын Лук, Сунпё Хонг и Хесон Ким. МИКРО 2009.
- Сопоставление параллелизма с многоядерными процессорами: подход, основанный на машинном обучении - Чжэн Ван и Майкл О'Бойл. ППоПП 2009.
Оптимизация для конкретной области
- Провидец: прогнозирующий выбор ядра во время выполнения для нерегулярных задач - Райан Суонн, Мухаммад Усама, Картик Сангаиа, Джалал Махмуд. CGO 2024
- Оптимизация тензорных программ с помощью вероятностных программ - Джунру Шао, Сию Чжоу, Сиюань Фэн, Бохан Хоу, Жуйхан Лай, Хунъи Цзинь, Увэй Линь, Масахиро Масуда, Коди Хао Ю, Тяньци Чен. НейрИПС 2022
- moTuner: подход автонастройки на основе компилятора для операторов смешанной точности — Цзевэй Мо, Зецзя Линь, Сяньвэй Чжан, Ютун Лу. БФ 2022
- Коллаж: автоматическая интеграция серверов глубокого обучения - Чон Бёнсу, Пак Сунхён, Пейюань Ляо, Шэн Сюй, Тяньци Чен, Чжихао Цзя. ПАКТ 2022
- Изучение инвариантов нелинейного цикла с помощью сетей с вентилируемой непрерывной логикой - Дж. Яо, Г. Райан, Дж. Вонг, С. Яна и Р. Гу. ПЛДИ 2020.
- Распределение памяти на основе обучения для серверных рабочих нагрузок C++ — Маас, Мартин, Дэвид Г. Андерсен, Майкл Айсард, Мохаммад Махди Джаванмард, Кэтрин С. МакКинли и Колин Раффель. ASPLOS 2020. предустановка
- Преодоление разрыва между глубоким обучением и выбором формата разреженной матрицы — Юэ Чжао, Цзяцзя Ли, Чуньхуа Ляо и Сипэн Шен. ППоПП 2018.
- Camel: умная адаптивная оптимизация энергопотребления для мобильных веб-взаимодействий - Цзе Жэнь, Ю. Лу, Петтери Нурми, Сяомин Ван, Мяо Ма, Лин Гао, Чжаньюн Тан, Цзе Чжэн и Чжэн Ван. ИНФОКОМ 2020.
- Оптимизация сортировки с помощью генетических алгоритмов — Сяомин Ли, Мария Хесус Гарзаран и Дэвид Падуа. ЦГО 2005.
Языки и компиляция
- (De/Re)-композиция параллельных вычислений с помощью многомерных гомоморфизмов - Ари Раш, TOPLAS 2024.
- Halide: язык и компилятор для оптимизации параллелизма, локальности и повторных вычислений в конвейерах обработки изображений — Джонатан Рэган-Келли, Коннелли Барнс, Эндрю Адамс, Сильвен Пэрис, Фредо Дюран и Саман Амарасингхе, PLDI 2013.
- PetaBricks: язык и компилятор для алгоритмического выбора — Джейсон Ансел, Сай Чан, Йи Лок Вонг, Марек Ольшевски, Цинь Чжао, Алан Эдельман и Саман Амарасингхе. ПЛДИ 2009.
- Достижение высокой производительности функциональным путем: функциональная жемчужина по выражению высокопроизводительной оптимизации как стратегии перезаписи - Бастиан Хагедорн, Йоханнес Ленферс, Томас К{oe}хлер, Сюэин Цинь, Сергей Горлач и Мишель Стойвер. Труды ACM по языкам программирования 2020.
Уменьшение размера кода
- Обучение заказам компилятора с использованием базового набора и прогнозирования нормализованных значений - Ювэй Лян, Кевин Стоун, Али Шамели, Крис Камминс, Мостафа Эльхуши, Цзядун Го, Бенуа Штайнер, Сяомэн Ян, Пэнтао Се, Хью Лезер, Юаньдун Тянь. МКМЛ 2023.
- POSET-RL: Упорядочение фаз для оптимизации размера и времени выполнения с использованием обучения с подкреплением - Шалини Джайн, Яшас Андалури, С. Венката Кирти, Рамакришна Упадраста. ИСПАС 2022.
- Исследование пространства последовательностей оптимизации для уменьшения размера кода: идеи и инструменты — Андерсон Фаустино да Силва, Бернардо Н.Б. де Лима и Фернандо Маньо Кинтао Перейра. CC 2021. Код и данные
- Использование машинного обучения для прогнозирования влияния эвристики дублирования на размер кода в динамическом компиляторе — Рафаэль Мосанер, Дэвид Леопольдседер, Лукас Стадлер и Ханспетер Мессенбёк. МПЛР 2021.
- ANGHABENCH: набор с одним миллионом компилируемых тестов C для уменьшения размера кода - Андерсон Фаустино да Силва, Бруно Конде Кинд, Хосе Уэсли де Соуза Магальяйнс, Херонимо Нуньес Роча, Брено Кампос Феррейра Гимарайнш, Фернандо Маньо Кинтао Перейра. CGO 2021. Код и данные
- Развертывание программного обеспечения под руководством обучения с подкреплением - Нхам Ле Ван, Ашиш Гехани, Арье Гурфинкель, Сусмит Джа и Хорхе А. Навас. МЛСис 2019.
- Оптимизация для сокращения пространства кода с использованием генетических алгоритмов - Кейт Д. Купер, Филип Дж. Шилке и Девика Субраманиан. ЛКТЕС 1999.
Модели стоимости и производительности
- TLP: модель затрат на основе глубокого обучения для настройки тензорных программ - И Чжай, Юй Чжан, Шуо Лю, Сяомэн Чу, Цзе Пэн, Цзяньминь Цзи, Яньонг Чжан, ASPLOS, 2023.
- Детектив производительности: автоматический вывод дешевых и точных моделей производительности - Лариса Шмид, Марчин Копик, Александру Калотойу, Доминик Верле, Андреас Райтер, Михаэль Зельцер, Энн Козиолек, Торстен Хефлер, ICS, 2022.
- Прогнозирование производительности на основе нейронных сетей для миграции задач на многоядерных процессорах S-NUCA — Мартин Рапп, Ануй Патания, Тулика Митра, Йорг Хенкель, Транзакции IEEE на компьютерах, 2021.
- Модель затрат на основе глубокого обучения для автоматической оптимизации кода - Рияд Багдади, Массинисса Меруани, Мохамед-Хишам ЛЕГЕТТАС, Камель Абдус, Таха Арбауи, Карима БЕНАТЧБА, Саман Амарасингхе, MLSys 2021
- Сравнительный анализ структуры кода с использованием глубокого обучения для прогнозирования производительности - Натан Пинноу, Тарек Рамадан, Танзима З. Ислам, Чейз Фелпс, Джаяраман Дж. Тиагараджан, ISPASS 2021
- Извлечение моделей чистой производительности из испорченных программ - Марцин Копик, Александру Калотойу, Тобиас Гроссер, Николас Вики, Феликс Вольф, Торстен Хефлер. ППоПП 2021.
- PMEvo: Портативный вывод сопоставлений портов для процессоров, вышедших из строя, посредством эволюционной оптимизации - Фабиан Риттер, Себастьян Хак. ПЛДИ 2020.
- Метод активного обучения для эмпирического моделирования при настройке производительности - Цзипэн Чжан, Цзинвэй Сунь, Вэньцзюй Чжоу, Гуанчжун Сунь. ИППДС 2020.
- Учимся оптимизировать галоид с помощью поиска по дереву и случайных программ - Эндрю Адамс, Карима Ма, Люк Андерсон, Рияд Багдади, Цзы-Мао Ли, Майкл Гарби, Бенуа Штайнер, Стивен Джонсон, Кайвон Фатахалян, Фредо Дюран, Джонатан Рэган-Келли. График АКМ Транс, 2019.
- Ithemal: Точная, портативная и быстрая оценка пропускной способности базового блока с использованием глубоких нейронных сетей — Чарит Мендис, Алекс Ренда, Саман Амарасингхе и Майкл Карбин. ИКМЛ 2019.
- Абсент: изучение модели аналитической производительности для объединения и разделения трафаретных кодов в одном кадре - Тобиас Гизи, Тобиас Гроссер и Торстен Хефлер. ПАКТ 2019.
- Прогнозирование новой рабочей нагрузки или производительности процессора путем анализа общедоступных наборов данных — Ю Ван, Виктор Ли, Гу-Ён Вэй и Дэвид Брукс. Транзакции ACM по оптимизации архитектуры и кода (TACO), 2019.
- Автоматическое создание моделей выбора размера плитки — Томофуми Юки, Лакшминараянан Ренганарайан, Санджай Раджопадхе, Чарльз Андерсон, Александр Э. Эйхенбергер и Кевин О'Брайен. ЦГО 2010.
- Эмпирические модели, чувствительные к микроархитектуре, для оптимизации компилятора - Капил Васвани, Мэтью Дж. Тажутавитил, Ю. Н. Шрикант и П. Дж. Джозеф. ЦГО 2007.
- Точные статические оценщики для оптимизации программ - Тим А. Вагнер, Вэнс Маверик, Сьюзен Л. Грэм и Майкл А. Харрисон. ПЛДИ 1994.
Представление программы обучения
- Встраивание производительности: подход к оптимизации производительности на основе подобия - Л. Трюмпер, Т. Бен-Нун, П. Шаад, А. Калотойу, Т. Хёфлер. ИКС 2023.
- Улучшение кросс-платформенного двоичного анализа с использованием обучения представлениям посредством выравнивания графов — Кынву Ким, Сангхён Хон, Майкл Франц, Докён Сон. ИССТА 2022.
- Представления программы для прогнозной компиляции: положение дел в начале 20-х годов - Андерсон Фаустино да Силва, Эдсон Борин, Фернандо Маньо Кинтау Перейра, Нилтон Луис Кейруш Жуниор и Отавио Оливейра Наполи. JCL 2022. Код и данные
- Сравнительный анализ структуры кода с использованием глубокого обучения для прогнозирования производительности - Д. Натан Пинноу, Тарек Рамадан, Танзима З. Ислам, Чейз Фелпс, Джаяраман Дж. Тиагараджан. ИСПАС 2021.
- GraphCodeBERT: представление кода перед обучением с помощью потока данных — Дайя Го, Шуо Рен, Шуай Лу, Чжанъинь Фэн, Дую Тан, Шуцзе Лю, Лун Чжоу, Нань Дуань, Алексей Святковский, Шэнъюй Фу, Мишель Туфано, Шао Кун Дэн, Колин Клемент , Dawn Drain, Нил Сундаресан, Цзянь Инь, Даксин Цзян, Мин Чжоу. ИКЛР 2021.
- CodeBERT: предварительно обученная модель для программирования и естественных языков — Чжанъинь Фэн, Дая Го, Дую Тан, Нань Дуань, Сяочэн Фэн, Мин Гонг, Линьцзюнь Шоу, Бин Цинь, Тин Лю, Даксин Цзян, Мин Чжоу. ЭМНЛП 2020.
- IR2VEC: Встраивание масштабируемых программ на основе LLVM IR - С. Венката Кирти, Рохит Аггарвал, Шалини Джайн, Маунендра Санкар Десаркар, Рамакришна Упадраста и Ю. Н. Шрикант. ТАКО 2020.
- Глубокое моделирование структуры программы посредством многореляционного обучения на основе графов - Гуйсинь Е, Чжаньюн Тан, Хуантин Ван, Цзяньбинь Фан, Сунфан Хуан и Чжэн Ван. ПАКТ 2020.
- Глобальные реляционные модели исходного кода - Винсент Дж. Хеллендорн, Чарльз Саттон, Ришаб Сингх, Петрос Маниатис, Дэвид Бибер, ICLR 2020. (Данные и код)
- Изучение встраивания семантических программ с помощью нейронной сети с интервалами графов - Ю Ван, Кэ Ван, Фэнцзюань Гао и Линьчжан Ван. ОПСЛА 2020.
- Flow2Vec: точное встраивание кода на основе потока значений — Юлей Суй, Сяо Чэн, Гуаньцинь Чжан и Хаоюй Ван. ОПСЛА 2020.
- MISIM: Система сквозного сходства нейронного кода — Фангке Йе, Шэнтян Чжоу, Ананд Венкат, Райан Маркус, Незиме Татбул, Джесмин Джахан Тити, Пол Петерсен, Тимоти Мэттсон, Тим Краска, Прадип Дубей, Вивек Саркар и Джастин Готтшлих. АрХив 2020.
- Смешанные, точные семантические встраивания программ — Кэ Ван и Жендун Су. ПЛДИ 2020.
- LambdaNet: Вероятностный вывод типа с использованием графовых нейронных сетей — Цзяи Вэй, Марут Гоял, Грег Дарретт и Исил Диллиг. ИКЛР 2020.
- Представления графов на основе компилятора для моделей глубокого обучения кода — Александр Браукманн, Андрес Гоенс, Себастьян Эртель и Джеронимо Кастрильон. КС 2020.
- Генеративное моделирование кода с помощью графов - Марк Брокшмидт, Милтос Алламанис, Александр Л. Гонт и Александр Полозов. ИКЛР 2019.
- code2seq: Генерация последовательностей из структурированных представлений кода — Ури Алон, Шакед Броуди, Омер Леви и Эран Яхав. ИКЛР 2019.
- code2vec: Изучение распределенных представлений кода — Ури Алон, Мейталь Зильберштейн, Омер Леви и Эран Яхав. ПОПЛ 2019.
- COSET: эталон для оценки встраивания нейронных программ - Ке Ван, Михай Христодореску. АрХив 2019.
- Учимся представлять программы с помощью графов - Мильтиадис Алламанис, Марк Брокшмидт и Махмуд Хадеми. ИКЛР 2018.
- Понимание нейронного кода: обучаемое представление семантики кода - Таль Бен-Нун, Алиса Шошана Якобовиц и Торстен Хефлер. НейрИПС 2018.
- Сквозное глубокое изучение эвристики оптимизации — Крис Камминс, Павлос Петуменос, Чжэн Ван и Хью Лезер (слайды). ПАКТ 2017.
- Выборка программ с учетом семантики — Пратикша Такер, Дэниел Тарлоу и Марк Брокшмидт. НейрИПС 2017.
- DeepCoder: Учимся писать программы - Матей Балог, Александр Л. Гонт, Марк Брокшмидт, Себастьян Новозин и Дэниел Тарлоу. ИКЛР 2017.
- Сверточные нейронные сети на древовидных структурах для обработки языков программирования — Лили Моу, Ге Ли, Лу Чжан, Тао Ван и Чжи Цзинь. АААИ 2016.
- Сверточная сеть внимания для экстремального обобщения исходного кода - Милтос Алламанис, Хао Пэн и Чарльз Саттон. ИКМЛ 2016.
- Структурированные генеративные модели естественного исходного кода - Крис Мэддисон и Дэниел Тарлоу. ИКМЛ 2014.
- Использование характеристики программы на основе графов для прогнозного моделирования — Ынджунг Парк, Джон Кавасос и Марко А. Альварес. ЦГО 2011.
- Автоматическое создание признаков для оптимизирующей компиляции на основе машинного обучения — Хью Лезер, Эдвин Бонилла и Майкл О'Бойл. ЦГО 2009.
- Игровая основа для сравнения классификаторов программ и уклонистов - Таис Дамасио, Михаэль Канеше, Винисиус Пачеко, Андерсон Фаустино да Силва, Маркус Ботачин и Фернандо Маньо Кинтао Перейра. CGO 2023. Код и данные
Включение машинного обучения в компиляторах и оптимизации систем
- Повышение устойчивости модели прогнозирования во время развертывания для анализа и оптимизации кода - Хуантин Ван, Патрик Ленихан, Чжэн Ван. CGO 2025. (Код)
- Диалект преобразования MLIR. Ваш компилятор более мощный, чем вы думаете — Мартин Пауль Люке, Александр Зиненко, Уильям С. Мозес, Мишель Стойвер, Альберт Коэн. Арксив 2024.
- Компилятор модели большого мета-языка: базовые модели оптимизации компилятора - Крис Камминс, Волкер Исикер, Деян Грубишич, Батист Розьер, Йонас Геринг, Габриэль Синнейв, Хью Лезер. Арксив 2024.
- Следующие 700 оптимизаций компилятора с поддержкой машинного обучения — С. Венката Кирти, Сиддхарт Джайн, Умеш Калвакунтла, Пранав Сай Горантла, Раджив С. Читале, Юджин Бревдо, Альберт Коэн, Мирча Трофин, Рамакришна Упадраста. КС 2024.
- BenchPress: генератор глубоких активных тестов - Фойвос Цимпурлас, Павлос Петуменос, Мин Сюй, Крис Камминс, Ким Хейзелвуд, Аджита Раджан, Хью Лезер. ПАКТ 2022 (код)
- Автоматизация проектирования архитектуры обучения с подкреплением для оптимизации кода - Хуантин Ван, Жаньонг Тан, Ченг Чжан, Цзяци Чжао, Крис Камминс, Хью Лезер, Чжэн Ван. ГК 2022 (код)
- Изучение семантических представлений для проверки проектов аппаратного обеспечения - Шобха Васудеван, Вэньцзе (Джо) Цзян, Дэвид Бибер, Ришаб Сингх, Хамид Шоджаи, К. Ричард Хо, Чарльз Саттон. НейрИПС 2021
- Генерация составного и модульного кода в MLIR: структурированный и перенацеливаемый подход к построению тензорного компилятора - Николас Василаке, Александр Зиненко, Аарт Дж. К. Бик, Махеш Равишанкар, Томас Рау, Александр Беляев, Маттиас Спрингер, Тобиас Гизи, Диего Кабальеро, Стефан Херхут, Стелла Лауренсо, Альберт Коэн. арXiV 2022
- Глубокая совместная разработка на основе НЛП для синтеза анализа кода на основе естественного языка - Цзифан Нань, Хуэй Гуань, Сипэн Шен, Чуньхуа Ляо. КК 2021
- MLGO: платформа оптимизации компилятора на основе машинного обучения — Мирча Трофин, Юнди Цянь, Юджин Бревдо, Зинан Лин, Кшиштоф Чоромански, Дэвид Ли. arXiv. Код
- На пути к лучшему пониманию автонастройки черного ящика: сравнительный анализ систем хранения данных - Чжэнь Цао, Василий Тарасов, Сачин Тивари и Эрез Садок. АТС 2018.
- Синтезирующие тесты для прогнозного моделирования - Крис Камминс, Павлос Петуменос, Чжэн Ванг и Хью Кожа (слайды). CGO 2017.
- Минимизация стоимости итеративного компиляции с активным обучением - Уильям Огилви, Павлос Петуменос, Чжэн Ванг и Хью Кожа. CGO 2017.
- Vespa: статическое профилирование для бинарной оптимизации - Анжелика Апарецида Морейра, Гилхерт Оттони и Фернандо Магно Квинтао Перейра. OOPSLA 2021. Код и данные
- Картирование вычислений в гетерогенных многоядерных системах со статистической регрессией в отношении входов программ - Junio Cezar Ribeiro Da Silva, Lorena Leao, Vinicius Petrucci, Abdoulaye Gamatie и Fernando Magno Quintao Pereira. TECS 2021.
Моделирование/анализ памяти/кэша
- Оптимизация картирования памяти с использованием обучения глубоким подкреплением - Пенминг Ванг, Микита Сазанович, Беркин Илбейи, Фитчайя Мангпо Фотилимтана, Маниш Пурохит, Хан Ян Тэй, Нган В., Миасен Ван, Космин Падурару, Эдторд Люрент, Антон -Зильс, Джал -Шорт, Фомат, Фомат, Фомат, Фомат, Фомат, Фомат, Джал -Шор. Тунг, Паула Курилович, Киран Милан, Ориол Виньялс, Даниэль Дж. Манковиц. Arxiv 2023.
- Обучение моделей доступа к памяти - Милад Хашеми, Кевин Сворский, Джейми А. Смит, Грант Айерс, Хейнер Литц, Джичуань Чанг, Кристос Козиракис, Партасарати Ранганатан. МКМЛ 2018
- Статическое предсказание молчаливых магазинов - Фернандо Магно Квинтао Перейра, Гильерма Виейра Леобас и Абдулай Гамати. Taco 2019. Код и данные
Книги
- Автоматическая настройка компиляторов с использованием машинного обучения - Амир Х. Ашури, Джанлука Палермо, Джон Кавазос и Кристина Сильвано. Springer 2018.
- Автоматическая настройка программного обеспечения-от концепций до современных результатов-K Naono, K Teranishi, J Cavazos и R Suda. Springer 2010.
Переговоры и учебные пособия
- Saman Amarasinghe, Compiler 2.0: Использование машинного обучения для модернизации технологии компилятора. LCTES 2020.
- Amir Ashouri, компилятор, автотонены с использованием машинного обучения: современный обзор (слайды). Политехнический университет Милана 2018.
Программное обеспечение
- PROM - Toolkit Python, чтобы помочь идентифицировать ML -модель неверного представления после развертывания (бумага).
- ML-компилятор-мост-библиотека к интерфейсным компиляторам и модели ML для оптимизации компилятора с поддержкой ML (бумага).
- Supersonic - Автоматизирование архитектурного дизайна архитектуры подкрепления (бумага).
- CompilergyM - Усильственные среды обучения для оптимизации компилятора (бумага).
- Codebert - Предварительно обученные модели DNN для языков программирования (бумага).
- IR2VEC - LLVM IR -программы Entricdings для машинного обучения (бумага).
- Programl - LLVM и XLA IR -представление программы для машинного обучения (бумага).
- Нейровекторализатор - Использование глубокого обучения подкреплению (RL) для прогнозирования оптимальной векторизационной компиляции Pragmes (бумага).
- TVM - Откройте стек компиляторов глубокого обучения для процессора, графического процессора и специализированных акселераторов (бумага; слайды).
- CLGEN - CLEANKMARK GENERATOR с использованием LSTMS (бумага; слайды).
- COBAYN - Автоципирование компилятора с использованием BNS (бумага).
- OpenTuner-Фреймворк для строительных доменных многообъективных программ AutoTuners (бумага; слайды)
- ONNX -MLIR - представление и контрольное снижение моделей ONNX в инфраструктуре компилятора Mlir (бумага).
- Ири - ретаржетальный компилятор машинного обучения на основе Mlir и инструментарий времени выполнения.
Тесты и наборы данных
- Тенсетка: крупномасштабный набор данных программы для обученных компиляторов тензора - набор данных программы Tensor Properment для шести обычно используемых аппаратных платформ (бумага).
- Рабочие нагрузки Alberta для Spec CPU® 2017 Suite - дополнительные рабочие нагрузки для Spec CPU2017 Benchmark Suite.
- Project Codenet - образцы кода, записанные на более чем более 50 языках программирования, аннотированный с информацией, такой как размер кода, следование памяти, время выполнения процессора и статус (типы принятия/ошибок)
- CodexGlue - набор данных контрольного управления машинного обучения для понимания кода и генерации (бумага)
- Anghabench - набор с миллионом компиляруемых C -тестов (бумага)
- BHIVE - эталонный набор и структура измерения для проверки x86-64 базовых моделей блоков (бумага).
- CBENCH - 32 C CENTRAMLS с наборами данных и сценариями драйверов.
- Polybench - 30 ткацких значений трафарета и линейной алгебры с наборами данных и сценариями драйверов. См. Также: версия GPU, предварительные наборы данных (бумага).
- DeepDataFlow-469K LLVM-IR-файлы и 8,6B-меток анализа данных для классификации (Paper).
- DEVMAP - 650 Особенности OpenCl Clackmark и метки классификации CPU/GPU (бумага; слайды).
Конференции
- ACM Sigplan Conference по дизайну и реализации языка программирования, PLDI
- Архитектурная поддержка языков программирования и операционных систем, Asplos
- Симпозиум ACM SIGPLAN по принципам и практике параллельного программирования, PPOPP
- Международный симпозиум по созданию и оптимизации кода, CGO
- Международная конференция по параллельным архитектурам и методам компиляции, договор
- Объектно-ориентированное программирование, системы, языки и приложения, OOPSLA
- Международная конференция по строительству компилятора, CC
- Международная конференция по суперкомпьютинге, ICS
- Международная конференция по высокой производительности и встраиваемым архитектурам и компиляторам, Hipeac
- Международная конференция по языкам, компиляторам и инструментам для встроенных систем, LCTES
- Международная конференция по вычислительным границам, CF
- Международный симпозиум параллельного и распределенного обработки, IPDPS
- Международная конференция по высокоэффективным вычислениям, сетевым взаимодействию, хранению и анализу, SC
- Мастерская языки машинного обучения и программирования, Mapl
- Языки и компиляторы для параллельных вычислений, LCPC
- Международная конференция по обучению, ICLR
- Конференция по машинному обучению и системам, MLSYS
Журналы
- Транзакции ACM по архитектуре и оптимизации кода, TACO
Как внести свой вклад
См. Руководство по вкладу. TL; DR: отправьте одного из сопутствующих запросов на притяжение.