Re: QUESTION: as a new UPC user

From: Evi Dube (dube1_at_llnl.gov)
Date: Fri Feb 05 2010 - 12:35:18 PST

  • Next message: Paul H. Hargrove: "Re: QUESTION: as a new UPC user"
    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
    >
    

  • Next message: Paul H. Hargrove: "Re: QUESTION: as a new UPC user"