Я в замешательстве, в чем разница между SIMD и SSE, SSE2, SSE3, AVX и т. Д.?В чем разница между SIMD и SSE?
Согласно моим знаниям и исследованиям, SIMD - это архитектура, которая позволяет Single Instruction работать с несколькими данными и SSE, AVX - это наборы инструкций, которые реализуют архитектуру SIMD.
А также существует ли разница между размерами векторов каждой архитектуры, например SSE, 128 бит, а AVX имеет 256 бит? Если базовая архитектура SIMD одинакова (я думаю), то как разные ISA имеют разные размеры вектора?
Я не уверен, что это правда, может кто-нибудь объяснить мне подробно, что на самом деле происходит?
Я не уверен, что этот вопрос полностью посвящен теме, поскольку вы, кажется, ссылаетесь на сами понятия, а не на вопрос программирования. –
Точно так же, как «серый цвет», «SSE является SIMD». –
SIMD - это парадигма программирования, в которой несколько элементов данных обрабатываются одной и той же инструкцией. SSE и AVX являются как расширениями набора команд x86, так и являются реализациями этой концепции SIMD. В определении SIMD нет ничего, что требует обработки 128 бит или 256 бит одновременно и не более того. Более того, SSE и AVX могут сосуществовать. –