Perfect! Thanks Jeff!

The NAS Parallel Benchmark on a dual core AMD machine now returns this...
[jpummil@localhost bin]$ mpirun -np 1 cg.A.1
NAS Parallel Benchmarks 3.2 -- CG Benchmark
CG Benchmark Completed.
Class           =                        A
Size            =                    14000
Iterations      =                       15
Time in seconds =                     4.75
Total processes =                        1
Compiled procs  =                        1
Mop/s total     =                   315.32

...and...

[jpummil@localhost bin]$ mpirun -np 2 cg.A.2
NAS Parallel Benchmarks 3.2 -- CG Benchmark
CG Benchmark Completed.
Class           =                        A
Size            =                    14000
Iterations      =                       15
Time in seconds =                     2.48
Total processes =                        2
Compiled procs  =                        2
Mop/s total     =                   604.46

Not quite linear, but one must account for all of the OS traffic that one core or the other must deal with.


Jeff F. Pummill
Senior Linux Cluster Administrator
University of Arkansas
Fayetteville, Arkansas 72701
(479) 575 - 4590
http://hpc.uark.edu

"A supercomputer is a device for turning compute-bound
problems into I/O-bound problems." -Seymour Cray


Jeff Squyres wrote:
Just remove the -L and -l arguments -- OMPI's "mpif90" (and other wrapper compilers) will do all that magic for you.

Many -L/-l arguments in MPI application Makefiles are throwbacks to older versions of MPICH wrapper compilers that didn't always work properly. Those days are long gone; most (all?) MPI wrapper compilers do not need you to specify -L/-l these days.



On Jun 10, 2007, at 3:08 PM, Jeff Pummill wrote:

Maybe the "dumb question" of the week, but here goes...

I am trying to compile a piece of code (NPB) under OpenMPI and I am having a problem with specifying the right library. Possibly something I need to define in a LD_LIBRARY_PATH statement?

Using Gnu mpich, the line looked like this...

FMPI_LIB  = -L/opt/mpich/gnu/lib/ -lmpich

I tried to replace this with...

FMPI_LIB  = -L/usr/lib/openmpi/ -llibmpi

to which the make responded...
mpif90 -O -o ../bin/cg.A.2 cg.o ../common/print_results.o ../common/ randdp.o ../common/timers.o -L/usr/lib/openmpi/ -llibmpi
/usr/bin/ld: cannot find -llibmpi
collect2: ld returned 1 exit status

Wrong library file? Setup or path issue?

--
Jeff F. Pummill
Senior Linux Cluster Administrator
University of Arkansas

_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users


Reply via email to