Есть ли встроенная библиотека Intel AVX? Я ищу что-то похожее, как заголовок 'sse2mmx.h', который возвращается к встроенным MMX, если SSE2-целочисленные intrinsics недоступны во время компиляции. Таким образом, если бы у меня была подобная библиотека для AVX, я мог бы написать оптимизированный код для нового оборудования, который имел бы почти оптимальную скорость, если расширение AVX недоступно. Googling не помог до сих пор :(Intel AVX intrinsics: любая библиотека совместимости?
ответ
Intel предлагает AVX emulation header. Я не пробовал, но цитируя связанную статью «Заголовочный файл эмуляции AVX использует встроенные средства для предыдущих расширений набора инструкций Intel до Intel SSE4 Поддержка SSE4.2 в вашей среде разработки, а также аппаратное обеспечение требуется для использования файла заголовка эмуляции AVX. Чтобы просто использовать этот файл: #include "avxintrin_emu.h"
nstead of normal #include <immintrin.h>
"- звучит так,
У Intel также есть эмулятор под названием SDE, который может быть полезен. Я еще не использовал его для тестирования кода AVX, но он отлично работал на моей машине для тестирования кода с использованием наборов инструкций AES-NI на более старый процессор, и я знаю, что он поддерживает эмуляцию AVX. SDE особенно полезен для проверки кода обработки CPUID.