Re: QUESTION: as a new UPC user

From: Paul H. Hargrove (PHHargrove_at_lbl_dot_gov)
Date: Fri Feb 05 2010 - 16:04:49 PST

  • Next message: Evi Dube: "Re: QUESTION: as a new UPC user"
    Evi,
    
    Default translator is http://upc-translator.lbl.gov/upcc-2.10.0.cgi
    This and much more info about the configuration is available by running 
    "upcc -V".
    
    When you say you asked for 4 UPC threads and got only 1, what did your 
    upcrun command line look like exactly?
    
    -Paul
    
    Evi Dube wrote:
    > Thank you for your thoughts below - they, of course, generated more 
    > questions :-)
    >
    > 1. I did get the "Berkeley UPC Runtime" to build - the latest version 
    > from the web site - berkeley_upc-2.10.0 - however it was not happy 
    > with the gnu 4.0, 4.1 or 4.2 versions compilers - called them "buggy 
    > compilers", it liked the 4.3 versions, so I used the configure options 
    > CC and CXX. Since I did not get the  berkeley_upc_translator-2.10.0 to 
    > build, however noticed that I had a "upcc" in the bin directory, I 
    > figured I would try to compile and build a small test code from some 
    > UPC tutorials (hello world, then Monte Carlo PI) and they actually 
    > built and ran. *QUESTION*: What translator is it using?
    >
    > 2. From your info below, that information is helpful, since I actually 
    > asked to run 4 processors - and you are telling me it said I was only 
    > running 1 - so I need to figure out how to run 4 on this machine - 
    > this is my homework.
    >
    > thanks
    > evi
    >
    >
    >
    > At 11:09 AM 2/5/2010, you wrote:
    >> Evi,
    >>
    >> Welcome to the UPC community.
    >>
    >> Some answers for you:
    >>
    >> 1.  The "Berkeley UPC Runtime" contains the runtime libraries that 
    >> implement the UPC language features and communication, plus the 
    >> compiler driver "upcc" and the launcher "upcrun".  The "upcc" driver 
    >> functions by passing UPC code to a UPC-to-C translator which 
    >> generates C code with calls to the runtime libraries.  The translated 
    >> code is then compiled and linked by the normal C compiler.  This is 
    >> described briefly at http://*upc.lbl.gov/docs/system/index.html .
    >>
    >> As you have noticed, the Translator is less portable than the Runtime. 
    >> For that reason we package them separately and provide the ability to 
    >> use a web-based UPC translator we have built (or you can build your 
    >> own on your local network).
    >>
    >> The manual is mostly mute on the subject of translator because it 
    >> should be totally transparent once setup.  The default behavior of 
    >> the runtime is to use our network based translator, meaning that as a 
    >> developer you don't NEED to download or build the translator unless 
    >> you have concerns over the privacy/security of your code or about the 
    >> latency/throughput of compilation.  Information about seting up the 
    >> translator can be found in the "SPECIFYING THE LOCATION OF THE 
    >> UPC-TO-C TRANSLATOR" section in the file INSTALL.TXT of the Berkeley 
    >> UPC Runtime (or online at http://*upc.lbl.gov/download/dist/INSTALL.TXT)
    >>
    >> 2a.  As mentioned above the translator is less portable than the 
    >> runtime.  In particular it is very sensitive to the g++ version in use. 
    >> We hope over time to improve this, but it is not our highest priority. 
    >> The current release should work with most g++ 4.0, 4.1 or 4.2 
    >> versions, but has problems with 4.3.
    >>
    >> 2b.  The output you see is just telling you are running 1 UPC thread 
    >> and what hostname and pid it has.  This output is useful to confirm 
    >> that you are running the number of threads expected and that they are 
    >> spread over multiple hosts in the expected manner (or if you need to 
    >> kill the processes for some reason).  However, if you pass "-q" to 
    >> upcrun then this output will be suppressed.
    >>
    >>
    >> -Paul
    >>
    >>
    >> Evi Dube wrote:
    >>> I am just starting to use UPC, so my questions will be on the naive 
    >>> side:
    >>>
    >>> 1. What is the difference between the Berekely UPC Runtime and the 
    >>> UPC-to_C Translator - why would I need both of them from a 
    >>> developer's view? The manual does not talk about the translator?
    >>>
    >>> 2. I actually think I was able to get the Runtime to build on some 
    >>> Linux x86-64 clusters at Livermore using gnu compilers, version 
    >>> 4.3.2. I could not get the translator to compile, thought. When I 
    >>> run a simple hello world program, or the Monte Carlo Pi program, I 
    >>> get the following message:
    >>>
    >>> UPCR: UPC thread 0 of 1 on yana8 (process 0 of 1, pid=23899)
    >>>
    >>> What does that mean?
    >>>
    >>> thank you
    >>>
    >>> evi
    >>
    >>
    >> -- 
    >> Paul H. Hargrove                          PHHargrove_at_lbl_dot_gov
    >> Future Technologies Group                 Tel: +1-510-495-2352
    >> HPC Research Department                   Fax: +1-510-486-6900
    >> Lawrence Berkeley National Laboratory    
    >>
    
    
    -- 
    Paul H. Hargrove                          PHHargrove_at_lbl_dot_gov
    Future Technologies Group                 Tel: +1-510-495-2352
    HPC Research Department                   Fax: +1-510-486-6900
    Lawrence Berkeley National Laboratory     
    

  • Next message: Evi Dube: "Re: QUESTION: as a new UPC user"