From: Paul H. Hargrove (PHHargrove_at_lbl_dot_gov)
Date: Fri Feb 05 2010 - 16:04:49 PST
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