Выполнение целочисленной операции AVX

Я пытаюсь оптимизировать некоторые целочисленные (_int64) операции с использованием AVX. Однако я даже не могу просто добавить операцию. Это продолжает говорить мне незаконные инструкции. Пожалуйста, я могу исправить, что я делаю не так? Спасибо

for (int i = 0; i < 1; i+=4)
{
__m256i rA, rB, rC;
__m256i *iu, *ju, *ku;

iu =  (__m256i *)(MatrixAiB1 + i);
ju =    (__m256i *)(MatrixAjB1+ i);
ku = (__m256i *) (store+ i);

rA=_mm256_load_si256(iu);
rB=_mm256_load_si256(ju);
rC=_mm256_add_epi16(rA,rB);
_mm256_store_si256(ku,rC);

}

0

Решение

Вы используете инструкции от AVX 2 набор инструкций, который пока широко не поддерживается. Исключение недопустимой инструкции указывает, что вы выполняете код на машине, которая не поддерживает эти инструкции.

Эти инструкции впервые вводятся в процессоры Haswell в этом году, поэтому «не широко поддерживаемый» в настоящее время означает «не поддерживаемый каким-либо общедоступным процессором».

5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]