Сколько умножений с плавающей запятой может быть выполнено с одним ядром текущей архитектуры Intel?

#floating-point #parallel-processing #core #simd #cpu-architecture

#с плавающей запятой #параллельная обработка #Ядро #simd #архитектура процессора

Вопрос:

Пытаясь оценить прирост производительности от встроенной архитектуры, я попытался выполнить поиск количества умножений с плавающей запятой, которые могут быть выполнены за цикл на одном ядре архитектур Core 2 и Core i7, но не смог найти быстрого ответа на это. К сожалению, я не знаком с ISA, поэтому не могу сказать этого, просмотрев соответствующие инструкции. Я предполагаю, что это будет какая-то инструкция SIMD. Есть идеи?

Ответ №1:

Одна вещь: Core 2 — это не последняя архитектура Intel. Это был бы Sandy Bridge.

Core 2 и Core i7 Nehalem, могут поддерживать 1 цикл умножения SSE. Каждая команда SSE может обрабатывать до 4 одинарной точности или 2 двойной точности. Итак, это 2 DP или 4 SP умножения с плавающей запятой за цикл.

Core i7 Sandy Bridge может поддерживать 1 цикл умножения AVX. AVX вдвое больше, чем SSE. Таким образом, это 4 умножения с плавающей запятой DP или 8 SP за цикл.

Комментарии:

1. Можно ли с уверенностью предположить, что текущие процессоры AMD обеспечивают одинаковую производительность?

2. Правильно. Я думаю, что все процессоры AMD, начиная с архитектуры K10, имели одинаковую пропускную способность SSE. (1 умножение SSE / цикл) Для новой архитектуры Bulldozer это немного сложнее из-за общего FPU между каждым «модулем Bulldozer».