2010-04-25 11 views
6

Gibt es eine Intel AVX-Intrinsic-Bibliothek? Ich suche etwas Ähnliches wie 'sse2mmx.h' Header, die auf MMX intrinsics zurückfallen, wenn SSE2 Integer-Intrinsics zur Kompilierzeit nicht verfügbar sind. Wenn ich also eine ähnliche Bibliothek für AVX hätte, könnte ich optimierten Code für neue Hardware schreiben, die fast optimale Geschwindigkeit hätte, falls die AVX-Erweiterung nicht verfügbar wäre. Googling hat bisher nicht viel geholfen :(Intel AVX intrinsics: irgendwelche Kompatibilität Bibliothek aus?

Antwort

8

Intel stellt eine AVX emulation header zur Verfügung. Ich habe es nicht ausprobiert, aber zitieren den verlinkten Artikel "Die AVX Emulation Header-Datei verwendet intrinsics für die früheren Intel Befehlssatzerweiterungen bis zu Intel SSE4 .2 SSE4.2-Unterstützung in Ihrer Entwicklungsumgebung sowie Hardware ist erforderlich, um die AVX-Emulations-Header-Datei zu verwenden.Um einfach zu verwenden, haben Sie folgende Datei: #include "avxintrin_emu.h" nstead of our üblich #include <immintrin.h> "- klingt wie das, was du bist

Intel hat auch einen Emulator namens SDE, der nützlich sein könnte.Ich habe es noch nicht zum Testen AVX-Code verwendet, aber es funktionierte gut auf meinem Computer zum Testen von Code mit den AES-NI-Befehlssätzen auf einem ältere CPU, und ich weiß, dass es auch die AVX-Emulation unterstützt. SDE ist besonders nützlich, um Ihren CPUID-Code zu überprüfen.