ИСПОЛЬЗОВАНИЕ КОМАНД ВЕКТОРНОЙ ОБРАБОТКИ ДАННЫХ ПРОЦЕССОРОВ INTEL ДЛЯ ОРГАНИЗАЦИИ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ ПРИ РЕШЕНИИ ЗАДАЧ ОПТИМИЗАЦИИ Шарипов М.И.

Уфимский государственный нефтяной технический университет


Номер: 5-1
Год: 2016
Страницы: 126-129
Журнал: Актуальные проблемы гуманитарных и естественных наук

Ключевые слова

Дискретная оптимизация, параллельные вычисления, векторная обработка, процессор, discrete optimization, parallel computing, single instruction multiple data, processor

Просмотр статьи

⛔️ (обновите страницу, если статья не отобразилась)

Аннотация к статье

Рассматриваются векторные команды современных процессоров Intel и их применение для организации параллельных вычислений при решении задач дискретной оптимизации.

Текст научной статьи

Современные процессоры Intel [1] поддерживают векторные операции (набор команд SSE - Streaming SIMD Extensions, SIMD - Single Instruction Multiple Data), которые позволяют одной командой выполнять однотипные арифметико-логические операции либо с 2-мя парами вещественных операндов двойной точности (64-бит), либо 4-мя парами вещественных операндов одинарной точности (32-бит) [2]. В частности, операция ADDPD выполняет параллельное сложение двух пар 64-битных вещественных операндов двойной точности (рис. 1). Операция ADDPS выполняет параллельное сложение четырех пар 32-битных вещественных операндов одинарной точности (рис. 2). Операция MULPD выполняет параллельное умножение двух пар 64-битных вещественных операндов двойной точности (рис. 3). Операция MULPS выполняет параллельное умножение четырех пар 32-битных вещественных операндов одинарной точности (рис. 4). Рис. 1. Схема выполнения векторной операции ADDPD - параллельного сложения двух пар операндов двойной точности Рис. 2. Схема выполнения векторной операции ADDPS - параллельного сложения четырех пар операндов одинарной точности В то же время при решении задач условной оптимизации [3, 4, 5] зачастую приходится многократно осуществлять проверку выполнения одного или множества ограничений вида (знак отношения ≤ приведен только для примера, на его месте может быть другой знак: ≥, >, <, =), а также вычислять значение целевой функций вида . Рис. 3. Схема выполнения векторной операции MULPD - параллельного умножения двух пар операндов двойной точности Рис. 4. Схема выполнения векторной операции MULPS - параллельного умножения четырех пар операндов одинарной точности Если абстрагироваться от сущности ограничений и целевых функций, то можно сказать, что с вычислительной точки зрения приходится иметь дело с расчетом значений множества аддитивно-взвешенных функций вида , где в качестве коэффициентов выступают коэффициенты соответствующих ограничений, и целевой функции задачи оптимизации. Очевидно, что вычисление множества «взвешенных» сумм, как для проверки ограничений, так и для целевых функций, можно осуществлять параллельно и независимо за счет использования векторных операций. Для наглядной демонстрации возможности эффективного применения векторных команд процессора рассмотрим простейший частный случай вычислительных операций, для случая одного ограничения и одной целевой функции, и двух переменных: . Без применения векторных команд процессора мы имеем возможность лишь последовательного вычисления двух аддитивно-взвешенных сумм. В случае если нам достаточна одинарная точность, то мы можем применить векторные команды для одновременного сложения или умножения 4-х пар операндов, и получить результаты вычислений значительно быстрее (рис. 5). Рис. 5. Вычисление двух аддитивно-взвешенных функций при применении векторных команд для четырех пар операндов одинарной точности В рамках научных исследований автором были разработаны модель векторных вычислений на уровне обработки точек поискового пространства и проведено экспериментальное исследование по оценке ускорения задач поиска решений на примере решения задач распределения ресурсов [6, 7]. Результаты исследований показало ускорение решения задач до 3,2 раз на современном процессоре Intel за счет применения векторных команд.

Научные конференции

 

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