Hi,
I think I have a problem with the installation of PGI 17.3, because simple atomic support is not working. I’m new to intalling PGI, so it will probably just be a stupid mistake on my side. The only clue I have is that PGI doesn’t understand the C++ library code. What C++ library is PGI supposed to work with?
Code:
include
include
include “omp.h”
using std::cout;
int main (int argc, char *argv)
{
std::atomic accumulator(0);
#pragma omp parallel
{
accumulator++;
#pragma omp critical(out)
cout << "Thread " << omp_get_thread_num() << " of " << omp_get_num_threads() << ‘\n’;
}
cout << "Accumulator: " << accumulator << ‘\n’;
}
Error:
[stadler_h@merlin-l-01 C++]$ pgc++ -mp atomic.cc
“/afs/psi.ch/sys/psi.merlin/Programming/gcc/6.4.0/include/c++/6.4.0/bits/atomic
_base.h”, line 210: error: identifier
“__GCC_ATOMIC_TEST_AND_SET_TRUEVAL” is undefined
{ return __i ? __GCC_ATOMIC_TEST_AND_SET_TRUEVAL : 0; }
localrc file:
set LDSO=/lib64/ld-linux-x86-64.so.2;
set GCCDIR=/afs/psi.ch/sys/psi.merlin/Programming/gcc/6.4.0/bin/../lib/gcc/x86_64-pc-linux-gnu/6.4.0;
set G77DIR=/afs/psi.ch/sys/psi.merlin/Programming/gcc/6.4.0/bin/../lib/gcc/x86_64-pc-linux-gnu/6.4.0/;
set OEM_INFO=64-bit target on x86-64 Linux $INFOTPVAL;
set GCCINC= /afs/psi.ch/sys/psi.merlin/Programming/gcc/6.4.0/bin/../lib/gcc/x86_64-pc-linux-gnu/6.4.0/include /afs/psi.ch/sys/psi.merlin/Programming/gcc/6.4.0/bin/../lib/gcc/x86_64-pc-linux-gnu/6.4.0/include-fixed /usr/local/include /afs/psi.ch/sys/psi.merlin/Programming/gcc/6.4.0/bin/../lib/gcc/../../include /usr/include;
set GPPDIR= /afs/psi.ch/sys/psi.merlin/Programming/pgi/17.3/linux86-64/17.3/include /afs/psi.ch/sys/psi.merlin/Programming/gcc/6.4.0/include/c++/6.4.0 /afs/psi.ch/sys/psi.merlin/Programming/gcc/6.4.0/include/c++/6.4.0/x86_64-pc-linux-gnu /afs/psi.ch/sys/psi.merlin/Programming/gcc/6.4.0/include/c++/6.4.0/backward /afs/psi.ch/sys/psi.merlin/Programming/gcc/6.4.0/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include /afs/psi.ch/sys/psi.merlin/Programming/gcc/6.4.0/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include-fixed /usr/local/include /afs/psi.ch/sys/psi.merlin/Programming/gcc/6.4.0/include /usr/include ;
set NUMALIBNAME=-lnuma ;
set LOCALRC=YES;
set THROW=__THROW=;
set EXTENSION=extension=;
set COMPGCCINCDIR=include-gcc60;
set LC=$if(-Bstatic,-lgcc -lgcc_eh -lc -lgcc -lgcc_eh -lc, -lgcc -lc -lgcc -lgcc_s);
GLIBC version 2.17
GCC version 6.4.0
set GCCVERSION=60400;
set LOCALDEFS=STDC_HOSTED;
set LIBNCURSES=YES;
export PGI=$COMPBASE;