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

Справочное руководство/учебник по внутренним интерфейсам SIMD?

Я изучаю их, чтобы улучшить производительность какого-то кода, но хорошая документация, кажется, трудно найти для функций, определенных в заголовках * mmintrin.h, может ли кто-нибудь предоставить мне указатели на хорошую информацию об этих?

EDIT: особенно интересен очень простой учебник о том, как начать.

4b9b3361

Ответ 1

Там есть удобный Intel Intrinsics Guide для Mac/Linux/Windows по адресу http://software.intel.com/en-us/articles/intel-intrinsics-guide - он охватывает все Intel SIMD из MMX через различные варианты SSE до AVX2 и др.

Вы также можете получить следующие PDF файлы из Intel:

  • Руководство разработчика программного обеспечения для систем Intel® 64 и IA-32, том 2A: Справочник по набору инструкций, A-M (253666-021)

  • Руководство разработчика программного обеспечения Intel® 64 и IA-32, том 2B: Справочник по набору инструкций, N-Z (253667-021)

  • Справочник по программированию Intel® SSE4 (D91561-001)

UPDATE

В настоящее время существует онлайн-версия руководства по использованию, поэтому вам больше не нужно устанавливать что-либо, и это всегда актуально.

Ответ 2

Это лучшее введение в программирование MMX/SSE, которое я когда-либо находил. (Я запрограммировал SSE2 в течение 5 лет, и я до сих пор считаю этот учебник максимально понятным.)

http://www.tommesani.com/Docs.html

Это не полный список инструкций; поэтому, как только вы будете готовы узнать больше, начните читать руководство по интуиции Intel, как предлагает @PaulR.

Важно помнить, что MMX/SSE, как правило, сильно ограничивают движение данных (перетасовка или произвольная перестановка или изменение одного элемента). Это ограничение конструкции процессора. Команды Scatter-gather были добавлены несколько лет назад и могут быть недоступны даже на ваших компьютерах-клиентах.

Существует большой репертуар векторизационных трюков для MMX/SSE, аналогичный способу http://www.hackersdelight.org/ предписывает трюки для использования бит-параллельных операций.