_mm512_exp_pd с компилятором GNU - PullRequest
0 голосов
/ 22 мая 2018

Следующий код прекрасно работает с компилятором Intel (версия: 18.0.2), но не для компилятора GNU (версия: 6.1.0):

#include <immintrin.h>

double ALIGN array1[8] = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0};

__m512d a1AVX = _mm512_load_pd(array1);
__m512d exp = _mm512_exp_pd(a1AVX);

В сообщении об ошибке указано следующее:error: ‘_mm512_exp_pd’ was not declared in this scope.Это из библиотеки SVML .

Я использую следующие флаги компилятора: -std=c++11 -march=knl -mtune=knl -fpic -O3 -DNDDEBUG.

Не пропущен ли здесь флаг компилятора?

1 Ответ

0 голосов
/ 22 мая 2018

gcc поддерживает встроенные функции Intel.Однако _mm512_exp_pd - это не встроенная функция, а функция из библиотеки SVML, предназначенная исключительно для компилятора Intel.Вы можете проверить полный список встроенных функций Intel и SVML функций здесь .

...