Size: a a a

Compiler Development

2020 February 18

А

Алексей in Compiler Development
Yuriy Syrovetskiy
только Хаскель
неа
источник

p

polunin.ai in Compiler Development
Yuriy Syrovetskiy
только Хаскель
Хрень
источник

AT

Alexander Tchitchigin in Compiler Development
Yuriy Syrovetskiy
только Хаскель
Увы, всего лишь лучший из худших... 😂
источник

BD

Berkus Decker in Compiler Development
Yuriy Syrovetskiy
только Хаскель
тоже норм инструмент, да
источник

FO

FORTRAN ONE LOVE in Compiler Development
Peter Sovietov
Особенно интересны компиляторы Фортрана для HPC,  у них большая история, но и сегодня их продолжают писать.
на топ-10 суперкомпьютеров вроде свои компиляторы используются. за основу берется уже известный (например на саммите XLF), и допиливается до состояния, чтобы автоматически параллелизовал задачу на CPU+GPU :D
источник

FO

FORTRAN ONE LOVE in Compiler Development
K R
Как там со стабильностью gcc?
хренова. -flto софт поломал :(
источник

FO

FORTRAN ONE LOVE in Compiler Development
акварель на мету
во первых gcc c++ не компилит
а gfortran вполне может :D
источник

BD

Berkus Decker in Compiler Development
фортран вдруг превратился в Юлию
источник

FO

FORTRAN ONE LOVE in Compiler Development
Berkus Decker
фортран вдруг превратился в Юлию
Бывает :)
источник

EO

Eugene Obrezkov in Compiler Development
вот что девушки с коллегами делают, забирают последнее любимое
источник

FO

FORTRAN ONE LOVE in Compiler Development
Berkus Decker
фортран вдруг превратился в Юлию
а можете Юлию с большой буквы написать?
источник

BD

Berkus Decker in Compiler Development
Eugene Obrezkov
вот что девушки с коллегами делают, забирают последнее любимое
какие девушки, я думал это про язык Julia
источник

FO

FORTRAN ONE LOVE in Compiler Development
Berkus Decker
какие девушки, я думал это про язык Julia
нет. это про девушку)
источник

BD

Berkus Decker in Compiler Development
FORTRAN ONE LOVE
нет. это про девушку)
ах, со, тогда вот с большой буквы - Юлия
источник

EO

Eugene Obrezkov in Compiler Development
проф. деформация на виду :)
источник

AK

Andrei Kurosh in Compiler Development
Eugene Obrezkov
проф. деформация на виду :)
+1
источник

N

Nikolay in Compiler Development
Правильно ли понимаю работу мемори барьера ? На каждом ядре помимо кэша L0 есть ещё очередь . И часть операций перед записью в кэш идёт через эту очередь ( для упорядочивания ). И если на одном из процессоров нужно считать по адресу , на который был установлен мемори барьер , то это приводит к фактическому flush на эту очередь
источник

IN

Ilya Neganov in Compiler Development
Nikolay
Правильно ли понимаю работу мемори барьера ? На каждом ядре помимо кэша L0 есть ещё очередь . И часть операций перед записью в кэш идёт через эту очередь ( для упорядочивания ). И если на одном из процессоров нужно считать по адресу , на который был установлен мемори барьер , то это приводит к фактическому flush на эту очередь
На store-инструкции - да, +- uncached, на load - барьером можно запретить спекуляцию на  те load’ы что за барьером. Аппаратно на, собственно, flush очереди могут и забить, главное чтобы состояние в очереди стало глобально видимым
источник

EE

Eugene Erokhin in Compiler Development
Ну на лоад по идее буфер инвалидации должен промаркироваться, и дождаться когда он весь прочистится. А врайтбуфер по идее должен учитываться и так. Что то типа форвардинга.
источник

p

polunin.ai in Compiler Development
Я тут делаю недодвижок для создания текстовых квестов делаю, оцените примерно пж:

VM - вм
Она в себе хранит:
1. Функции на специальном (e)DSL.
2. Блоки исполняемого кода, которые содержат команды и вызовы функций.
3. Глобальный стейт для хранения данных.

Блоки - это диалоги. Они в себе хранят локальные переменные, и последовательность команд для вывода (за это отвечает GraphicController).
Код написанный на (e)DSL парсится в дерево, проходит тайпчек, и транслируется в последовательность блоков (их можно рассматривать как состояния в КА).
Делать чисто стековую ВМ это хорошо но слишком сложно. Вместо этого будут хранится деревья, а данные в hashset'ах (плановый вариант).
Графическая составляющая подгружается динамически в виде GraphicController у которого есть интерфейс, принимающий название команды и аргументы. Он занимается отображением на экране *логика*
источник