Re: QUESTION: as a new UPC user

From: Evi Dube (
Date: Fri Feb 05 2010 - 16:48:02 PST

  • Next message: Paul H. Hargrove: "Re: QUESTION: as a new UPC user"
    When I try to access that translator - I get the following error:
    upcc.cgi: Illegal arch_size parameter: '' at 
    /srv/www/htdocs/upcc-2.10.0.cgi line 149.
    Additionally, once I started to actually use real UPC commands - i.e. 
    upc-forall - which I believe need the translator - then I got the 
    following error from the UPC complier:
    yana4{dube}168:  ../bin/upcc vector_add_upc.v2.c -o vector_add_upc.v2
    Error during remote HTTP translation:
    upcc: error during UPC-to-C translation (sgiupc stage):
    As for the parrallelization error - I figured out in using the linux 
    cluster parallel job scheduled we have at livermore that I was not 
    using the correct option for the number of processes.
    thanks for your help,
    At 04:04 PM 2/5/2010, you wrote:
    >Default translator is http://*
    >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?
    >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.
    >>At 11:09 AM 2/5/2010, you wrote:
    >>>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://** .
    >>>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 
    >>>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.
    >>>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
    >>>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: Paul H. Hargrove: "Re: QUESTION: as a new UPC user"