Ручная векторизация SIMD в Фортране - PullRequest
1 голос
/ 27 мая 2019

Вопрос прост, но я до сих пор не могу найти ответ:

Как я могу использовать SIMD Intrinsics в коде Фортрана?

Я не имею в виду использовать директивы !$omp, а в этот пример пост от Intel. Всегда из того же источника, у меня есть то, что Fortran не разрешает SIMD-вызовы по крайней мере с компилятором Intel Fortran, но это сообщение от 2006 года, довольно старая информация.

Я имею в виду явный вызов SIMD-функций, как я это делаю в C и C ++. Например, учитывая:

__m128i a;

a = _mm_lddqu_si128 ((__m128i*)(ptr)); // with ptr defined previously

как можно сделать то же самое в Фортране?

Знайте, что я знаю, что могу написать обертку на C и вызвать ее из Fortran, я сделаю это, если нет способа использовать только Fortran.

...