From: Paul H. Hargrove (PHHargrove_at_lbl_dot_gov)
Date: Wed May 07 2008 - 12:23:47 PDT
David, Based on your description of the problem, it looks like the correct "mpicc" *is* getting used, but the incorrect "mpirun". I believe you simply need to reconfigure adding MIRUN_CMD=/acl/usr/local/mpich2/bin/mpirun to the configure command. Please let us know if that does not solve your problem. -Paul David J. Biesack wrote: > I build upc 2.6.0 but it does not use the mpicc I configured. > > Details: > > Our homogeneous Linux cluster is configured with MPICH2 and the mpich2 bin is in the PATH before the default LAM mpicc. > > $ type -a mpicc > mpicc is /acl/usr/local/mpich2/bin/mpicc > mpicc is /usr/bin/mpicc > $ type -a mpirun > mpirun is /acl/usr/local/mpich2/bin/mpirun > mpirun is /usr/bin/mpirun > > I built upc 2.6.0 as per http://upc.lbl.gov/download/dist/INSTALL with > > configure CC=cc CXX=c++ MPI_CC=/acl/usr/local/mpich2/bin/mpicc > make > > but when I compile upc-examples/cpi then run it > > $ upcrun -np 4 cpi > > I get the following error: > > ----------------------------------------------------------------------------- > It seems that there is no lamd running on the host acl211.unx.sas.com. > > This indicates that the LAM/MPI runtime environment is not operating. > The LAM/MPI runtime environment is necessary for the "mpirun" command. > > Please run the "lamboot" command the start the LAM/MPI runtime > environment. See the LAM/MPI documentation for how to invoke > "lamboot" across multiple machines. > ----------------------------------------------------------------------------- > > Mpich2 is running on my cluster of 24 Linux nodes: > > $ mpdringtest > time for 1 loops = 0.0115139484406 seconds > $ mpdtrace | wc -l > 24 > > I compile upc-examples/cpi/cpi.upc with -v > > $ upcc -v -o cpi cpi.upc > Running as: /acl/usr/local/berkeley_upc/bin/upcc_multi.pl -v -o cpi cpi.upc > Reading multiconf spec file [/acl/usr/local/berkeley_upc/etc/multiconf.conf] > ... > > However, upcc is invoking /usr/bin/mpicc and not the mpicc I used in configure: > > ... > /usr/bin/mpicc -o 'cpi' '/tmp/upcc-acladmin-2350-1210184123/cpi.o' '/tmp/upcc-acladmin-2350-1210184123/cpi_startup_tmp.o' -O3 --param max-inline-insns-single=35000 --param inline-unit-growth=10000 --param large-function-growth=200000 -Winline -v -L/acl/usr/local/berkeley_upc/opt/lib -lupcr-ibv-seq -lumalloc -L/acl/usr/local/berkeley_upc/opt/lib -L/usr/ofed/lib64 -lgasnet-ibv-seq -libverbs -lpthread -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6 -lgcc -lm > ... > > Editing /acl/usr/local/berkeley_upc/etc/multiconf.conf (which had a commented out #MPI_CC= line) to specify my MPI_CC=/acl/usr/local/mpich2/bin/mpicc does not change this either. > > My UPC dbg/upcc.conf and opt/upcc.conf both specify a translator in a shared file system: > > translator = /acl/usr/local/berkeley_upc_translator-2.6.0/open64/osprey1.0/build_ia64 > > Amy I doing something wrong? How can I convince upc 2.6.0 to use my mpicc and my mpirun? > > thanks > -- Paul H. Hargrove PHHargrove_at_lbl_dot_gov Future Technologies Group HPC Research Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900