Найден способ в два раза ускорить работу гаджетов без замены деталей

Найден способ в два раза ускорить работу гаджетов без замены деталей
фото: Роман ПОПОВ (сгенерировано с помощью нейросети)

Исследователи предложили новый подход к вычислениям, который может удвоить скорость обработки на самых разных устройствах, не заменяя ни одной детали, передает портал Качественный Казахстан.

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

Современные устройства оснащены различными чипами, которые выполняют разные типы обработки данных. Помимо центрального процессора (CPU), устройства имеют графические процессоры (GPU), ускорители для работы с искусственным интеллектом (AI) и цифровые процессоры обработки сигналов для обработки аудиосигналов.

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

Чтобы решить эту проблему, ученые разработали новую схему выполнения программ, в которой блоки обработки работают параллельно. Команда описала новый подход, названный “одновременное и гетерогенное многопоточное выполнение (SHMT)”.

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

Другой метод, обычно используемый для решения этой проблемы, известен как “программная конвейеризация” и ускоряет процесс, позволяя разным компонентам работать над разными задачами одновременно, а не ждать, пока один процессор закончит работу, прежде чем другой начнет работать.

Однако при программной конвейеризации одна задача никогда не может быть распределена между разными компонентами. Это не относится к SHMT, который позволяет разным блокам обработки работать над одной и той же областью кода одновременно, позволяя им также брать на себя новые задачи, как только они выполнили свою часть работы.

Источник: arXiv