Re: UPC Problem with Compiler optimization flags for Sun C compiler

From: Paul H. Hargrove (PHHargrove_at_lbl_dot_gov)
Date: Tue Dec 04 2007 - 09:53:33 PST

  • Next message: 42aftab_at_niit.edu.pk: "UPC Run time error: Out of shared memory"
    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
    

  • Next message: 42aftab_at_niit.edu.pk: "UPC Run time error: Out of shared memory"