Подтвердить что ты не робот

Примеры и учебники Intel SSE и AVX

Есть ли хорошие учебные пособия по C/С++ или примеры для обучения инструкциям Intel SSE и AVX?

Я нашел несколько на сайтах Microsoft MSDN и Intel, но было бы прекрасно понять это из основ.

4b9b3361

Ответ 1

Для визуально наклонного SIMD-программиста сайт Stefano Tommesani - лучшее введение в программирование SIM-карты x86.

http://www.tommesani.com/index.php/simd/46-sse-arithmetic.html

Диаграммы предоставляются только для MMX и SSE2, но как только учащийся овладеет SSE2, относительно легко перемещаться и читать формальные спецификации.


Intel IA-32 Инструкции, начинающиеся с A до M

http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-2a-manual.pdf

Инструкции Intel IA-32, начинающиеся с N на Z

http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-2b-manual.pdf


Кроме того, для программистов Intel SIMD важно знать минимальную требуемую архитектуру для инструкций, которые находятся за пределами поколения SSE2.

Просмотр по поколениям в Википедии:

Поиск определенной SIMM-памяти Intel на одной странице (через текстовый поиск):


Ответ 2

Здесь есть приятное введение.

Проект кода SSE

Также, если у вас установлен Microsoft DirectX SDK, источник из xnamath имеет множество векторных/матричных операций с использованием sse intrinsics (проверка sdk include folder, xnamath.h, xnamathconvert.inl, xnamathmatrix.inl...)

Ответ 4

Вам может показаться полезным взглянуть на примеры того, как SIMD можно применять к некоторым общим алгоритмам. На конференции разработчиков игр 2011 года был анонс Intel под названием "Горячие точки, FLOPS и uOps: to-the-metal CPU Optimization" , который пытается продемонстрировать SIMD для алгоритмов, общих в играх. Разговор относится к некоторому образцу кода Intel, который показывает, как AVX может применяться к расчетам ткани.