Size: a a a

Compiler Development

2020 April 28

VS

Vasily Shapenko in Compiler Development
Все же проще, наверное, на гитхабе репозиторий, чем выкладывать rar
источник

A

Alex in Compiler Development
Timur Safin
вот против специализированный вычислителей я ничего не имею против. Но вот с generic purpose процессорами на VLIW как-то дел не идет, уже пару десятилетий как...
Могу только заметить что я в своё время почти спокойно сидел на десктопе из 700 МГц VLIW процессора. И проблемой было далеко не производительность, а малое количество портированного ПО. Сейчас, когда у флагманов частота достигла 1500 МГц с производительностью проблемы могут быть только разве что при подгрузке комментов на ютубе (и то не проверял, раньше там проблема была в недопортированном JS)
источник

AT

Alexander Tchitchigin in Compiler Development
Я в своё время спокойно сидел на десктопе на 100 МГц 486DX4 и 8 МБ памяти. Но где те времена? 😂
источник

A

Alex in Compiler Development
Это был ~2016 год
источник

K

Kitsu in Compiler Development
Alex
Могу только заметить что я в своё время почти спокойно сидел на десктопе из 700 МГц VLIW процессора. И проблемой было далеко не производительность, а малое количество портированного ПО. Сейчас, когда у флагманов частота достигла 1500 МГц с производительностью проблемы могут быть только разве что при подгрузке комментов на ютубе (и то не проверял, раньше там проблема была в недопортированном JS)
А что это за проц, если не секрет? Если эльбрус то мне казалось у них там был эмулятор x86->их архитектура
источник

A

Alex in Compiler Development
Про кэши инструкций - далеко не все задачи упираются именно в них. Копаясь в памяти я могу вспомнить что проблемы вылезали, но скорее со стороны оптимизатора (но возможно у тех кто сидит ближе к инженерной части на это взгляд с другой стороны). В целом производительность тут будет определяться и ILP-ом и частотой и работой с памятью, т.е. невероятно сильно зависеть от задачи
источник

A

Alex in Compiler Development
Kitsu
А что это за проц, если не секрет? Если эльбрус то мне казалось у них там был эмулятор x86->их архитектура
Это был инженерник Эльбруса-4С
источник

A

Alex in Compiler Development
Трансляция есть, но это опционально, я работал только в нативном режиме
источник

МБ

Михаил Бахтерев in Compiler Development
Alex
Про кэши инструкций - далеко не все задачи упираются именно в них. Копаясь в памяти я могу вспомнить что проблемы вылезали, но скорее со стороны оптимизатора (но возможно у тех кто сидит ближе к инженерной части на это взгляд с другой стороны). В целом производительность тут будет определяться и ILP-ом и частотой и работой с памятью, т.е. невероятно сильно зависеть от задачи
Ну... Дело же не только в этом. Надо вообще ждать память.
источник

A

Alex in Compiler Development
Да, тут все изворачиваются как умеют. В конкретно Эльбрусах есть асинхронная подкачка памяти - отдельные prefetch'и, которые её подкачивают параллельно с работой основной программы. ООООчень сильно ускоряет работу с вычислительными циклами
источник

МБ

Михаил Бахтерев in Compiler Development
Alex
Да, тут все изворачиваются как умеют. В конкретно Эльбрусах есть асинхронная подкачка памяти - отдельные prefetch'и, которые её подкачивают параллельно с работой основной программы. ООООчень сильно ускоряет работу с вычислительными циклами
Ага. Читал про это. Но циклы должны быть "хорошими" для этого.
источник

T

Thorn in Compiler Development
Alex
Да, тут все изворачиваются как умеют. В конкретно Эльбрусах есть асинхронная подкачка памяти - отдельные prefetch'и, которые её подкачивают параллельно с работой основной программы. ООООчень сильно ускоряет работу с вычислительными циклами
а контроллер памяти там вообще какой? ddr сколько, количество каналов, ширина шины данных и т п
источник

A

Alex in Compiler Development
Михаил Бахтерев
Ага. Читал про это. Но циклы должны быть "хорошими" для этого.
Циклы должны быть "хорошими" и для предсказателя переходов, например ;) Разумеется всегда можно написать код который будет работать плохо либо на выборочных машинах, либо вообще везде
источник

A

Alex in Compiler Development
Thorn
а контроллер памяти там вообще какой? ddr сколько, количество каналов, ширина шины данных и т п
В последней машине - ddr4 2400 МГц, 4 канала, ширину не помню
источник

T

Thorn in Compiler Development
неплохо
источник

МБ

Михаил Бахтерев in Compiler Development
Alex
Циклы должны быть "хорошими" и для предсказателя переходов, например ;) Разумеется всегда можно написать код который будет работать плохо либо на выборочных машинах, либо вообще везде
ВооОот. Всё соревнование сводится к тому, какая архитектура лучше выполняет фиговые циклы :)
источник

A

Alex in Compiler Development
Далеко не только. Не все (сильно не все) задачи представляют из себя циклы.
источник

МБ

Михаил Бахтерев in Compiler Development
Alex
Далеко не только. Не все (сильно не все) задачи представляют из себя циклы.
Хм... А можно пример? Если задача не цикл, зачем вообще компьютер?
источник

A

Alex in Compiler Development
Например, если посмотреть профиль исполнения того же gcc, то там каждая процедура не работает более 5% времени (кажется меньше 2%). И там не важно как хорошо ты умеешь исполнять отдельный цикл, там другие вещи нужно уметь хорошо исполнять. Тут, конечно, OoO архитектуры лучше себя показывают
источник

МБ

Михаил Бахтерев in Compiler Development
А... В этом смысле...
источник