From: Paul H. Hargrove (PHHargrove_at_lbl_dot_gov)
Date: Tue Dec 04 2007 - 09:53:33 PST
Aftab, For what you are trying to achieve, setting CFLAGS when configuring the Berkeley UPC compiler is not the right approach. I recommend you not set CFLAGS when configuring and building the Berkeley UPC runtime. You should consider rebuilding Berkeley UPC w/o setting CFLAGS before you continue. What you *do* want to use is "-Wc,<option>" to pass "<option>" to the underlying native compiler, in addition to "-O" to enable use of the optimized UPC runtime. For example instead of "-xO3", try "-O -Wc,-xO3". You should be able to find more info in the upcc manpage. Additionally, if your cluster is connected only by Ethernet, I'd suggest --network=udp, as it is usually faster than --network=mpi over Ethernet. -Paul [email protected] wrote: > Hi all, > We have installed upc on our cluster consisting of 4 SunFire v890 > servers with Solaris 10 (version 5.10), and Sun's C compiler > (version 5.8). We are trying to use different levels of compiler > optimization flags used by the native (Solaris) C compiler such as > -xO3 etc., when we use these optimization flags, UPC gives error at > compile time that it does not recognize these flags. We can only > pass -O flag used by the UPC but it does not give the comparable > performance to MPI compiled program with Sun's C compiler and -xO3 > flag. > Suggestions regarding this problem will be appreciated, that how can > we use native c compiler optimization flags with 'upcc'. > > The output of configure (config.log) and gmake (gmake.log) is also > attached and the configure command is given as: > > hammad@indus1 # cd berkeley_upc-2.6.0 > hammad@indus1 # export CFLAGS="-xO1 -xO2 -xO3 -xO4 -xO5 -fast" > hammad@indus1 # echo $CFLAGS > -xO1 -xO2 -xO3 -xO4 -xO5 -fast > hammad@indus1 # ./configure --prefix=/home/hammad/upc CC=cc CXX=CC > MPI_CC=mpicc > hammad@indus1 # gmake > > aftab@indus1 # /home/hammad/berkeley_upc-2.6.0/upcc -xO3 -T64 > --network=mpi -pthreads=16 -shared-heap=100MB 2dfdtd-pri.upc -o 2DFDTD > upcc: unrecognized flag '-xO3' > > aftab@indus1 # /home/hammad/berkeley_upc-2.6.0/upcc -fast -T64 > --network=mpi -pthreads=16 -shared-heap=100MB 2dfdtd-pri.upc -o 2DFDTD > upcc: unrecognized flag '-fast' > > This is upcc (the Berkeley Unified Parallel C compiler), v. 2.6.0 > (getting remote translator settings...) > ----------------------+--------------------------------------------------------- > UPC Runtime | v. 2.6.0, built on Nov 30 2007 at 13:23:54 > ----------------------+--------------------------------------------------------- > UPC-to-C translator | v. 2.6.0, built on Oct 15 2007 at 15:50:19 > ----------------------+--------------------------------------------------------- > Translator location | http://upc-translator.lbl.gov/upcc-2.6.0.cgi > ----------------------+--------------------------------------------------------- > networks supported | udp mpi smp > ----------------------+--------------------------------------------------------- > default network | smp > ----------------------+--------------------------------------------------------- > pthreads support | available (if used, default is 2 pthreads per > process) > ----------------------+--------------------------------------------------------- > Configured with | > '--with-translator=http://upc-translator.lbl.gov/upcc-2 > | .6.0.cgi' 'CC=/opt/SUNWspro/bin/cc' > | 'CXX=/opt/SUNWspro/bin/CC' > | 'MPI_CC=/opt/SUNWhpc/HPC7.0/bin/mpicc' > | '--prefix=/home/hammad/upc/opt' > | '--with-multiconf-magic=opt' 'CFLAGS=-xO1 -xO2 -xO3 > | -xO4 -xO5 -fast' > ----------------------+--------------------------------------------------------- > Configure features | berkeleyupc,upcr,gasnet,upc_collective,upc_io, > | upc_memcpy_async,upc_ptradd,upc_thread_distance, > | upc_tick,upc_sem,upc_dump_shared,upc_trace_printf, > | upc_trace_mask,upc_local_to_shared,upc_atomics,pupc, > | upc_memcpy_vis,nodebug,notrace,nostats,nogasp, > | segment_fast,os_solaris,cpu_sparc,cpu_32,cc_sun, > | packedsptr > ----------------------+--------------------------------------------------------- > Configure id | indus1 Fri Nov 30 13:06:44 PKT 2007 hammad > ----------------------+--------------------------------------------------------- > Binary interface | 32-bit sparc-sun-solaris2.10 > ----------------------+--------------------------------------------------------- > Runtime interface # | Runtime supports 3.0 -> 3.9: Translator uses 3.6 > ----------------------+--------------------------------------------------------- > | --- BACKEND SETTINGS (for smp network) --- > ----------------------+--------------------------------------------------------- > C compiler | /opt/SUNWspro/bin/cc > | cc: Sun C 5.8 2005/10/13 > ----------------------+--------------------------------------------------------- > C compiler flags | -fast -xO5 -xarch=v8plusb -errtags > ----------------------+--------------------------------------------------------- > linker | /opt/SUNWspro/bin/cc > | cc: Sun C 5.8 2005/10/13 > ----------------------+--------------------------------------------------------- > linker flags | -fast -xO5 -L/home/hammad/berkeley_upc-2.6.0/opt > | -L/home/hammad/berkeley_upc-2.6.0/opt/umalloc > | -lupcr-smp-seq -lumalloc > | > -L/home/hammad/berkeley_upc-2.6.0/opt/gasnet/smp-condui > | t -lgasnet-smp-seq -lposix4 -lm > ----------------------+--------------------------------------------------------- > > > Regards > Aftab Hussain > > Center For High Performance Scientific Computing > NUST Institue of Information Technology (NIIT), Pakistan > -- 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