From: Evi Dube (dube1_at_llnl.gov)
Date: Mon Feb 08 2010 - 16:26:23 PST
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 > >> > > > >