Источник:
ri.ria.ru
Увеличить на десятки процентов скорость выполнения алгоритмов некоторых программ удалось ученым
ННГУ. По их словам, новые методы повышения производительности вычислений помогут решить многие научные и прикладные задачи. Результаты
опубликованы в Lobachevskii Journal of Mathematics.Микропроцессор – один из ключевых элементов вычислительных систем. Он в значительной степени определяет, с какой скоростью компьютер будет решать те или иные задачи. Микропроцессор выполняет арифметические и логические действия, контролирует общее состояние электронных систем не только в компьютерах и смартфонах, но и в автомобилях и бытовой технике.
В настоящее время существуют два типа архитектур микропроцессоров. Именно архитектура определяет их возможности с точки зрения программиста – обработку данных и инструкций, хранящихся в памяти, занесение их во внутренние регистры и выполнение определенных операций, рассказали ученые Нижегородского государственного университета им. Н.И. Лобачевского (ННГУ, Университет Лобачевского).
Так называемый CISC-тип микропроцессоров способен обрабатывать сложные команды из набора микроопераций, которые можно многократно повторять. Такой принцип делает код более компактным, но увеличивает время выполнения команд. RISC-тип же, наоборот, способен быстро выполнять каскад примитивных операций, однако код для таких микропроцессоров занимает большее количество памяти.Архитектура микропроцессора RISC-V, с которой работают специалисты ННГУ, является открытой и бесплатной. Процессоры на основе этой архитектуры проектируются в США, в Европе, в Китае и в России. На рынке уже сейчас доступны выпускаемые серийно процессоры, пригодные для научных исследований и практического использования.
Специалисты Университета Лобачевского предложили способ рационального использования ресурсов микропроцессоров RISC-V, который позволяет ускорить выполнение некоторых алгоритмов библиотеки OpenCV – основы "компьютерного зрения" для робототехники, медицины, мобильных фотографий и разработки автопилотов.«
"Мы нашли способ рационально использовать ресурсы векторных вычислений и ускорить некоторые алгоритмы из библиотеки OpenCV на десятки процентов", – рассказал один из авторов публикации, заведующий кафедрой высокопроизводительных вычислений и системного программирования Института информационных технологий, математики и механики ННГУ Иосиф Мееров.
Он пояснил, что при векторных вычислениях в ходе выполнения одной инструкции микропроцессор параллельно производит одну и ту же операцию над несколькими "порциями" данных, что позволяет значительно ускорить вычисления.
"Используя смартфон, мы ожидаем, что все операции будут выполняться очень быстро, налету, без пауз и зависаний. Между тем задачи, которые мы доверяем мобильным устройствам, становятся все сложнее и сложнее. Поэтому разработчики программного обеспечения стараются писать программы так, чтобы как можно лучше использовать возможности процессора и подсистемы памяти, чтобы те в итоге быстро работали. Есть надежда, что скоро мы можем увидеть RISC-V-процессоры в мобильных и в серверных устройствах", – подчеркнул Мееров.
Работа поддержана программой "Приоритет-2030" российского национального проекта "Наука и университеты", участником которой является Университет Лобачевского.