Pull to refresh
11
0
Илья Биро@StudMG

Высопроизводительные вычисления С++ | Assembler

Send message

Сравнивать х86 и Эльбрус не совсем корректно, совсем разные архитектуры

Для высокой производительности на Эльбрусе нужен совершенно другой подход и правильное распределение данных подаваемых АЛУ под вычисления, компилятор к сожалению сам довольно плохо справляется с оптимизациями под явный параллелизм заложенный в архитектуре, плюс упор в пропускную способность память может вполне себе упираться и из-за этого остальные ядра работают как раз таки не оптимально и занимаются загрузкой данных.

Кто интересуется могут почитать документацию по Эльбрусу и увидеть, что каждое ядро имеет свои ограниченные возможности и только(если не подводит память) 4 из них могут заниматься подгрузкой данных через кэши, что они скорее всего и делают. Есть конечно вариант заставить его использовать АПБ, но и там свои нюансы с оптимальностью вычислений в виде использования вращаемых регистров, которых довольно мало и не всякая вычислительная схема попадёт под такие требования.

в общем без глубоких оптимизаций и переписывания исходного кода движка тут вряд ли можно увидеть производительность в силу совершенно иной архитектуры с явным параллелизмом и асинхронным блоком подгрузки

Все верно, работает это за счёт буферизации, в целом это зависит от того как именно компилятор генерирует метку отвечающую за системный вызов, если буферизация включена то эта метка если не ошибаюсь как раз таки помещает в регистры значения соответствующие полной строке, если отключена, то не всегда строка будет подана на этот системный вызов полностью

Естественно это далеко не единственный способ взаимодействия и передачи сообщений, в этой статье затронуты только передачи типа точка точка с блокировкой в силу того, что информации и так много, передачи без блокировки и другие способы взаимодействий будут описаны в следующих статьях
Тут больше преследуется цель последовательного введения в тему для начинающих, чисто эмпирически такие взаимодействия проще для понимания и освоения

В планах довольно глубоко осветить тему при этом рассказывая все достаточно простым языком, естественно я не претендую на особую уникальность этих статей


Тут скорее преследуется цель как упорядочить свои знания в голове по этой тематике и вспомнить то что было, так и сделать удобный цикл статей для людей которые активно интересуются этой темой и изучает, не всегда информация на одном из ресурсов достаточно проста в понимании для начинающего, поэтому считаю чем больше информации, тем лучше и приятнее изучается, особенно когда написано доступно

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity