Есть ли какие-либо изменения в PGi версии 18.1 до 18.4 в отношении процедуры #pragma seq, у меня код работает нормально с версией 18.1, но выдает ошибку при использовании более новой версии.Я генерирую ядра, используя математическую библиотеку.
используя пространство имен std;#pragma acc рутина double myfunc (double x) {return (fabs (x));}
Параллелизм по умолчанию для директивы рутины является (или был) последовательным.то есть #pragma acc рутина эквивалентна #pragma acc рутина seq
Это прекрасно работает в версии 18.1.Но я думаю, что в новой версии могут произойти некоторые изменения, поскольку, когда я компилирую с версией 18.4, она выдает ошибку, сообщающую о функции математической библиотеки.
Как ни странно, это также вызывает ошибку
# includecmath
# include "openacc.h"
с использованием пространства имен std;
#pragma acc routine seq
double sine( double x )
{
return ( sin( x ) );
}
Дает ошибку компиляции, но когда я изменяю библиотеку математики на math.h, этопрекрасно, может кто-нибудь объяснить, почему не работает с pgc ++?