Size: a a a

Compiler Development

2021 June 12

[

[BRM]White Rabbit in Compiler Development
Ну хуже так хуже
источник

M

MaxGraey in Compiler Development
Есть еще AnyDSL/impala/artic. В нем  можно функциональщину для GPU (CUDA, OpenCL, HSA). Собственно для этого и придумывался. Но он все равно далек от Хаскеля
источник

SD

Sergey D in Compiler Development
co-defns это про то же?
источник

PS

Peter Sovietov in Compiler Development
Мне нравится SPIRAL (первоначальная статья цитируется сейчас в 977 источниках, но в блогах непопулярна). Потому что с него интерес к комбинаторым массово-параллельным DSL с переписыванием термов начал бурно расти. Сегодня есть уже масса как академических решений, так и вполне промышленных, в духе Halide. Компиляторных технологий здесь применяется масса: полиэдральные подходы, SMT-решатели, насыщение равенствами, autotuning, ML... Классические идеи, представленные еще Бэкусом в FP, продолжают развиваться, но предметно-ориентированных библиотек равенств в духе старенькой книжки Algebra of Programming все еще не хватает :)
источник

DP

Defragmented Panda in Compiler Development
как минимум я ожидаю хотя бы какие-то следы extensibility - возможность добавлять что-то в программу, типа библиотек, взаимодействие с другими программами

в идеале я ожидаю self hosting - что я увижу достаточно следов того что есть возможность написать тот же компилятор на основе производимого кода, достаточно его расширив.

Например если мы на фп генерируем html, и даже используем все фичи фп в процессе, получившийся результат, html файл, уже никак не связан с фп. Потому что он не расширяем, не подходит для попытки написать на нем компилятор фп. И в этом html файле не останется никаких следов характерных для того что он был написан на фп. Из-за далекости html и фп. Примерно то же на мой взгляд происходит и с futhark. Да, это фп. Да, генерирует для гпу. Но там ноль расширяемости и тем более self hosting возможностей, даже в теории.

Перефразируя: если компилятор Х может собрать hellow world - это бонус. Но если компилятор Х не может собрать компилятор Х, мне это кажется не честным - это означает что привнесенная сложность выше той, с которой могут разобраться авторы компилятора.

futhark не сможет собрать futhark. Это критика futhark в целом, а не конкретно какого-то куска кода который он произвел для гпу.
источник

DP

Defragmented Panda in Compiler Development
Соответственно ассемблер фп - лисп или тысяча других примеров того что хотя бы в теории может переписать себя - является self hosting.

Или как минимум обладает extensibility достаточным чтобы я разобрался как сделать его self-hosting )

Этого легко добиться через рантайм, в котором хранятся метаданные. Либо чтобы этот асм имел кучу доп кода чтобы анализировать производимый им код и восстанавливать метаданные. Какой-то путь к рефлексии - то что я ожидал бы от фп асм.
источник

AT

Alexander Tchitchigi... in Compiler Development
Если Вы всерьёз считаете, что Вы на GPU сможете собирать компиляторы или интерпретировать программы, Вам нужно сильно углубить Ваши знания о GPU, особенно в части прагматики его использования.
источник

DF

Dollar Føølish in Compiler Development
А чем вас вообще ГПУ привлёк?
источник

DF

Dollar Føølish in Compiler Development
С чего началась мысль?
источник

DF

Dollar Føølish in Compiler Development
Я про автора вброса
источник

AT

Alexander Tchitchigi... in Compiler Development
И перестаньте уже, пожалуйста, путать extensibility и extensionslity.
источник

𝘎(

𝘎𝘕𝘜/𝘚𝘤𝘳𝘪𝘱𝘵𝘰𝘥 ( λλλ )... in Compiler Development
дискуссия про GPGPU идет или я чет неправильно понял?
источник

DP

Defragmented Panda in Compiler Development
удобный пример ограниченной и сильно распределенной системы
источник

DP

Defragmented Panda in Compiler Development
да
источник

DP

Defragmented Panda in Compiler Development
Спасибо, исправил.
источник

AT

Alexander Tchitchigi... in Compiler Development
Вы ещё и массово-параллельные и распределённые системы путаете? Это, конечно, кое-что объясняет...
источник

DP

Defragmented Panda in Compiler Development
в этом случае я имел ввиду массово-параллельные все же

(но да, мне кажется эти понятия весьма близки)
источник

AT

Alexander Tchitchigi... in Compiler Development
Вам кажется. Это очень разные вещи.
источник

DP

Defragmented Panda in Compiler Development
У них есть плавный переход - что-то типа умного города с кучей отдельных ограниченных девайсов каждые несколько метров.
источник

AT

Alexander Tchitchigi... in Compiler Development
@DefragmentedPanda я Вам серьёзно говорю: пока Вы не начнёте разбираться в том, о чём Вы говорите, в том числе работать с этим руками, и пробовать сделать хоть что-то своё -- Вы ничего содержательного так и не придумаете.
источник