Re: QUESTION: as a new UPC user

From: Evi Dube (dube1_at_llnl.gov)
Date: Mon Feb 08 2010 - 16:26:23 PST

  • Next message: Dorian Krause: "Atomic set for double"
    Thank you for your thoughts - they helped trigger me to look more
    closely at what I was doing, and I found my errors! 
    
    I was able to get lots done today - i was able to get the temperature
    example in the UPC book to work, once I added a THREADS variable into
    the "upc_forall" example. Now, I am trying to get the vector addition
    example to work from an earlier supercomputing tutorial to work. 
    
    evi
    
    
    
    On Fri, 2010-02-05 at 17:25 -0800, Paul H. Hargrove wrote:
    > Evi,
    > 
    > The translator CGI is meant to talk to the upcc driver, not to people.  
    > It expects to receive a tar file via an HTTP POST command.  It you want 
    > to try out an interactive interface to our UPC-to-C translator try 
    > https://*upc-bugs.lbl.gov//upc_tests/translate.php
    > 
    > Is there any error output after the line "upcc: error during UPC-to-C 
    > translation (sgiupc stage): "?  The output following that line should 
    > indicate the specific error.  The part about "during remote HTTP 
    > translation" is just an indication of what stage the compilation reached.
    > 
    > The translator would have been used by the upcc driver even for a 
    > hello-world application that didn't contain any extensions beyond ISO 
    > C.  So, the use of UPC keywords by itself would not account for an error 
    > where there was not one before.  Based on the text of your email, my 
    > guess is that you may have used "upc-forall" when "upc_forall" was 
    > intended, or have some other syntax problem.
    > 
    > -Paul
    > 
    > Evi Dube wrote:
    > >
    > > 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,
    > > evi
    > >
    > >
    > >
    > > At 04:04 PM 2/5/2010, you wrote:
    > >> 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: Dorian Krause: "Atomic set for double"