次のコードをコンパイルします。
#include <iostream>
#include <omp.h>
int main(int argc, char *argv[])
{
std::cout << omp_get_default_device() << '\n';
return 0;
}
GNU G++ 4.8.2 では、次のコマンドを使用します。
g++ -fopenmp test.cpp
次のエラー メッセージが表示されます。
test.cpp: In function ‘int main(int, char**)’:
test.cpp:6:39: error: ‘omp_get_default_device’ was not declared in this scope
std::cout << omp_get_default_device() << '\n';
omp_get_default_device
並列領域の外で呼び出すことができるはずだと思うのは正しいですか? これはバグですか?