Рассматриваются методы распараллеливания программ в оптимизирующем компиляторе, использующие параллелизм операций, коротких векторов и параллельных потоков управления. Предложенные методы являются достаточно универсальными, т.к. они практически применяются для двух архитектурных платформ: «Эльбрус» с явным параллелизмом операций и «МЦСТ-R» с суперскалярным (в исходном порядке) выполнением операций, при этом обе платформы содержат короткие (несовпадающие) векторные операции и поддерживают многопроцессорность на общей памяти. Приводятся результаты практического использования данных методов распараллеливания.
Дано краткое описание архитектуры процессора Эльбрус, рассмотрено применение его особенностей для реализации быстрого преобразования Фурье (БПФ). Предложен алгоритм реализации БПФ для данной архитектуры. Подробно рассмотрена оптимизация алгоритма для 32-разрядных данных с плавающей точкой. Произведен сравнительный анализ предложенного алгоритма с алгоритмом FFTW и представлены результаты работы алгоритма на разных размерах.
В аналитическом обзоре рассмотрены архитектурные особенности многоядерных процессоров с количеством ядер – восемь и более. Выполнен анализ основных технических и технологических решений при проектировании процессоров. Выделены тенденции, которые наблюдаются в разработке процессоров для современных высокопроизводительных решений.
В статье анализируются проблемы эффективности применения суперкомпьютерных вычислительных комплексов, создаваемых на многоядерных микропроцессорных платформах.