Компиляция с помощью следующей команды решит эту проблему:
g++ -fopenmp -fno-stack-protector -O3 gpu_test.cpp
Если вы выполняете разгрузку на Nvidia, вы можете проверить, была ли разгрузка успешной, запустив вашу программу следующим образом:
nvprof ./a.out
Это должно вернуть, например,
==61495== NVPROF is profiling process 61495, command: ./a.out
...
...
Program output
...
...
==61495== Profiling application: ./a.out
==61495== Profiling result:
Type Time(%) Time Calls Avg Min Max Name
GPU activities: 98.52% 173.09us 1 173.09us 173.09us 173.09us main$_omp_fn$0
0.84% 1.4720us 1 1.4720us 1.4720us 1.4720us [CUDA memcpy DtoH]
0.64% 1.1200us 1 1.1200us 1.1200us 1.1200us [CUDA memcpy HtoD]
Копирование на хост и с хоста вместе с вызовом функции в main указывает, что разгрузка была успешной.