Твой проект —
твоя профессиональная
Траектория

Решение задач по программированию на языках Си, С++ олимпиадного и прикладного характера с использованием российских процессоров «Эльбрус»

Партнер
ВУЗ
Актуальность

В наше время, когда перед страной остро стоит задача создания собственных вычислительных средств и информационных технологий на их основе, принципиальное значение приобретает проблема подготовки поколения молодых программистов, в полной мере овладевших отечественной вычислительной техникой и способных эффективно использовать ее во всех направлениях, связанных с определяющими интересами государства. За последние годы в России разработаны собственные микропроцессоры и вычислительные комплексы семейства «Эльбрус», отличающиеся рядом оригинальных решений. Они позволяют выполнять реальные задачи на уровне, не уступающем зарубежным аналогам, а в отдельных случаях – превосходящем их. В связи с этим залогом успешного решения приведенной проблемы становится массовое и глубокое, начиная со школьных лет, освоение этой отечественной техники нашей молодежью.  


Описание

Специалисты АО «МЦСТ» и Московского физико-технического института подготовили среду разработки программного обеспечения для вычислительных комплексов семейства «Эльбрус» и несколько задач олимпиадного и прикладного характера. За несколько часов команда из 10 человек изучает основные инструменты программирования, упрощенный курс оптимального программирования для отечественных процессоров, получает базовые рекомендации по разработке ПО. На следующем этапе происходит командная работа по решению предложенных задач и их реализации на языках Си и Си++, далее проводятся проверочные тесты, оценивается время разработки и достигнутый уровень производительности. Особое внимание уделяется достигнутой степени параллелизма при реализации алгоритма решения задач на языках высокого уровня. 

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

- Имеющиеся средства платформы Эльбрус  для программирования и разработки ПО, их полнота, удобство. Рекомендации по развитию инструментов программирования и аналитики платформы Эльбрус. 

- Что такое внутренний параллелизм алгоритма, его влияние на скорость работы двоичного кода на платформе Эльбрус. Опытно достигнутое ускорение решённых задач, относительно базовой версии, за счёт оптимизаций и за счёт изменений в коде. 

- В каких областях можно использовать платформу Эльбрус, что даёт отечественной ИТ-отрасли в целом наличие такой платформы. 


Результат

Знакомство с отечественной аппаратной платформой Эльбрус и инструментами разработки ПО для нее. Приобретение навыков эффективного программирования и анализа результатов, полученных для процессора Эльбрус. 

Требования

Реализация каждой задачи в двух вариантах: базовом и в варианте с проведёнными микрооптимизациями, нацеленными на увеличение внутреннего параллелизма и ускорение работы алгоритма. Оценка времени работы кода в каждом случае, их сравнение и вывод о влиянии внутреннего параллелизма на эффективность исполнения кода.  


Ограничения

Не более 10 участников

Требования к участникам: навыки работы в среде операционной системы linux, навыки программирования на языках Си, Си++, навыки отладки программ в среде linux. Желательно: знакомство с основными принципами построения микропроцессоров, знакомство с языком ассемблера Intel x86 и/или других микропроцессоов, навыки оптимизации программ.