PGI User Forum
 SearchSearch   MemberlistMemberlist     RegisterRegister   ProfileProfile    Log inLog in 

CUDA-x86.

libnuma and pgf77 on 12.9-0
Goto page 1, 2  Next
 
Post new topic   Reply to topic    PGI User Forum Forum Index -> Programming and Compiling
View previous topic :: View next topic  
Author Message
Eric Maddy



Joined: 27 Oct 2009
Posts: 4

PostPosted: Thu Oct 11, 2012 4:49 am    Post subject: libnuma and pgf77 on 12.9-0 Reply with quote

Hi,

We've recently upgraded to v12.9-0 from 10.4. I've noticed that if I promote executables to machines without that version of the PGI compiler, I also need to promote libnuma.so. I am not sure why the code needs to dynamically link this library as none of my code uses MPI or multi-threading. Is there anyway to disable this? I've tried using -Mconcur=nonuma and -mp=nonuma. Neither seem to do anything. The error message I receive is :

error while loading shared libraries: libnuma.so: cannot open shared object file: No such file or directory.
Back to top
View user's profile
mkcolg



Joined: 30 Jun 2004
Posts: 5871
Location: The Portland Group Inc.

PostPosted: Thu Oct 11, 2012 9:50 am    Post subject: Reply with quote

Hi Eric,

The "-mp=nonuma" flag should have done it. From the output of the "-dryrun" flag (below), you can see that libnuma doesn't get linked in so I'm not sure why the dependency would still exist.

Another thing to try is to not link with the OpenMP library at all (i.e. add "-nomp"). We started linking with the OpenMP library by default in the 11.0 release so that users would be able to use CPU binding even with serial code.

- Mat


Code:
% pgf90 -dryrun -mp=nonuma x.o
...
/usr/bin/ld /usr/lib64/crt1.o /usr/lib64/crti.o /usr/pgi/linux86-64/12.9/lib/trace_init.o /usr/lib/gcc/x86_64-redhat-linux/4.1.2/crtbegin.o /usr/pgi/linux86-64/12.9/lib/initmp.o /usr/pgi/linux86-64/12.9/lib/f90main.o -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 /usr/pgi/linux86-64/12.9/lib/pgi.ld -L/usr/pgi/linux86-64/12.9/lib -L/usr/lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.1.2 x.o -rpath /usr/pgi/linux86-64/12.9/lib /usr/pgi/linux86-64/12.9/lib/nonuma.o -lpgmp -lpthread -lpgf90 -lpgf90_rpm1 -lpgf902 -lpgf90rtl -lpgftnrtl -lnspgc -lpgc -lrt -lpthread -lm -lgcc -lc -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.1.2/crtend.o /usr/lib64/crtn.o
Back to top
View user's profile
Eric Maddy



Joined: 27 Oct 2009
Posts: 4

PostPosted: Thu Oct 18, 2012 6:36 am    Post subject: -nomp -mp=nonuma Reply with quote

I am still getting this error even using both flags.

/usr/local/pgi/linux86/12.9/bin/pgf77 -c -O2 -byteswapio -mp=nonuma -nomp simstat.F
/usr/local/pgi/linux86/12.9/bin/pgf77 -o ../exe//simstat.exe simstat.o

If I do an nm on the exe:

nm simstat.exe | grep numa
U numa_alloc_local
U numa_available
000000000a6dcd18 B numa_exit_on_error
U numa_max_node
U numa_set_preferred

Numa is still there.

Eric
Back to top
View user's profile
mkcolg



Joined: 30 Jun 2004
Posts: 5871
Location: The Portland Group Inc.

PostPosted: Thu Oct 18, 2012 10:25 am    Post subject: Reply with quote

Hi Eric,

You need to add the flag to the link options not just the compile.

- Mat
Back to top
View user's profile
Eric Maddy



Joined: 27 Oct 2009
Posts: 4

PostPosted: Fri Oct 19, 2012 7:11 am    Post subject: Reply with quote

Mat,

Thanks for your help on this.

Using LDFLAGS=-Wl,-nomp=nonuma yields the error message

/usr/bin/ld: cannot find -lnuma

Not sure what I am doing wrong.

Thanks,
Eric
Back to top
View user's profile
Display posts from previous:   
Post new topic   Reply to topic    PGI User Forum Forum Index -> Programming and Compiling All times are GMT - 7 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group