From: Paul H. Hargrove (PHHargrove_at_lbl_dot_gov)
Date: Sun Jul 20 2008 - 20:42:43 PDT
Jeremy, I am afraid that what you see is not expected behavior, but does not appear to be the fault of anything you did. In response to your report, I've built Berkeley UPC on my Vista+Cygwin laptop and experienced errors similar to yours. I have created a bug report to track this issue: http://upc-bugs.lbl.gov/bugzilla/show_bug.cgi?id=2305 You can follow that link and add yourself to the bug's CC: list if you wish to receive e-mail when any progress is made on the bug. For now, I am going to assume that Vista (or Cygwin on Vista) is at fault. -Paul Jeremy Cowles wrote: > I think everything is setup now, but something strange is happening > and I want to make sure this is normal. I am compiling > /upc-examples/cpi as follows: > > $ make UPCC='upcc -pthreads' > upcc -pthreads -o cpi cpi.upc > upcc -pthreads -o mcpi mcpi.upc > > Which is successful, and I can run the example with 2 threads and no > problem. However, when I run with 3 threads, the first implementation > (cpi) completes, but I get a seg fault during mcpi. Is it safe to > assume this is because I have only 2 cores on this machine and am > trying to run 3 threads? It seems like both should crash. Here is the > output: > > > -- > $ make run UPCRUN='upcrun -shared-heap 20' THREADS=3 > > upcrun -shared-heap 20 -np 3 ./cpi > WARNING: Node 0 running more threads (3) than there are physical CPU's (2) > enabling "polite", low-performance synchronization algorithms > UPCR: UPC threads 0..2 of 3 on toaster (process 0 of 1, pid=269816) > WARNING: Conflicting environment values for > GASNET_COLL_GATHER_ALL_DISSEM_LIMIT (1024) and GASNET_CO > LL_GATHER_ALL_DISSEM_LIMIT_PER_THREAD (341) > WARNING: Using: 341 > WARNING: Conflicting environment values for > GASNET_COLL_EXCHANGE_DISSEM_LIMIT (1024) and GASNET_COLL > _EXCHANGE_DISSEM_LIMIT_PER_THREAD (113) > WARNING: Using: 113 > Approx: 3.14159357951571883 Error: 0.00000092592592571 > > upcrun -shared-heap 20 -np 3 ./mcpi > WARNING: Node 0 running more threads (3) than there are physical CPU's (2) > enabling "polite", low-performance synchronization algorithms > UPCR: UPC threads 0..2 of 3 on toaster (process 0 of 1, pid=268236) > WARNING: Conflicting environment values for > GASNET_COLL_GATHER_ALL_DISSEM_LIMIT (1024) and GASNET_CO > LL_GATHER_ALL_DISSEM_LIMIT_PER_THREAD (341) > WARNING: Using: 341 > WARNING: Conflicting environment values for > GASNET_COLL_EXCHANGE_DISSEM_LIMIT (1024) and GASNET_COLL > _EXCHANGE_DISSEM_LIMIT_PER_THREAD (113) > WARNING: Using: 113 > *** Caught a fatal signal: SIGSEGV(11) on node 0/1 > NOTICE: Before reporting bugs, run with GASNET_BACKTRACE=1 in the > environment to generate a backtrac > e. > make: *** [run] Segmentation fault > -- > > > I tried the same thing with GASNET_BACKTRACE=1, after if I run with 3 > threads, mcpi seems to go into an infinite loop - if I run with np=2 > and GASNET_BACKTRACE=1, I get a seg fault right away: > > > -- > $ make run UPCRUN='upcrun -shared-heap 20' THREADS=2 > upcrun -shared-heap 20 -np 2 ./cpi > UPCR: UPC threads 0..1 of 2 on toaster (process 0 of 1, pid=312468) > *** Caught a fatal signal: SIGSEGV(11) on node 0/1 > NOTICE: Before reporting bugs, run with GASNET_BACKTRACE=1 in the > environment to generate a backtrac > e. > make: *** [run] Segmentation fault > -- > > > Seems like maybe something is not configured properly. I will also > check out the docs and try to see if I am missing something obvious. > > > Thanks again, > Jeremy > > > > On Sun, Jul 20, 2008 at 12:45 PM, Jeremy Cowles > <jeremy_dot_cowles_at_gmail_dot_com <mailto:jeremy_dot_cowles_at_gmail_dot_com>> wrote: > > Thank you so much! That did the trick. I was > making/configuring/installing for hours last night... I'm just > starting to learn about UPC/parallel programming, I cant wait to > get running! > > Thanks again, > Jeremy > > > > On Sun, Jul 20, 2008 at 12:34 PM, Paul H. Hargrove > <PHHargrove_at_lbl_dot_gov <mailto:PHHargrove_at_lbl_dot_gov>> wrote: > > Jeremy, > > I suspect you see "make: `install' is up to date." because > there is a file named "INSTALL" in the top source directory, > and Cywin is case-insensitive. > I think the simplest option for you would be "mv INSTALL > INSTALL.txt". > In the future, it may be best to configure/make in a > directory other than the source directory (see step 1 in > INSTALL, the part following "if you wish to build in a > separate directory") . That would also avoid this problem. > > I've created a bug entry for this problem: > http://upc-bugs.lbl.gov/bugzilla/show_bug.cgi?id=2304 > where we can track a long-term solution (either documenting > the issue or working around it). > > -Paul > > > Jeremy Cowles wrote: > > Hi, > > I am having a problem installing the Berkeley UPC runtime > (2.6.0). I've done the following: > > $ ./configure (no options) > > had permission issues, but completed with success > after a few runs > > $ ./make > > multiple permissions issues, same as above > > $ ./make install > > make: `install' is up to date. > > $ ./make install-local > > (this completed ok) > > However, when I run upcc I get: > > $ upcc > WARNING: skipping match for opt, because > /usr/local/berkeley_upc/opt/bin/upcc.pl does not exist. > You may need to update your Berkeley UPC install or the > configure file at: /usr/local/berkeley_upc/ > etc/multiconf.conf > ERROR: No matching Berkeley UPC configuration found in > /usr/local/berkeley_upc/etc/multiconf.conf! > > I do have a /usr/local/berkeley_upc/etc/multiconf.conf, > unmodified. > Also, this is the /usr/local/berkeley_upc listing: > > /usr/local/berkeley_upc$ ls -R > .: > bin etc > > ./bin: > upcc upcc_multi upcc_multi.pl > > ./etc: > multiconf.conf > > > Which seems really slim. > I am running > Vista ultimate with Cygwin, > gcc 3.4.4, and > all the requirements listed on the Cygwin install notes. > I have no MPI compiler. > > But the build does seem to work when I run upcc from the > directory where i ./configured & made it: > > ~/Desktop/berkeley_upc-2.6.0 > $ ./upcc > upcc: Error: no input files > > And from this location, I can compile and run the > hello.upc test. > > ~/Desktop/berkeley_upc-2.6.0/upc-examples > $ ../upcrun -n 2 hello > UPCR: UPC threads 0..1 of 2 on toaster (process 0 of 1, > pid=561368) > UPC Runtime warning: Requested shared memory (128 MB) > > available (126 MB) on node 0 (toaster): using 63 MB per > thread instead > Welcome to Berkeley UPC!!! > - Hello from thread 1 > - Hello from thread 0 > > > Any ideas on how I can make the make file stop thinking > it's installed? > > Thanks, > Jeremy > > > > -- > Paul H. Hargrove PHHargrove_at_lbl_dot_gov > <mailto:PHHargrove_at_lbl_dot_gov> > Future Technologies Group HPC Research > Department Tel: +1-510-495-2352 > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 > > > -- Paul H. Hargrove PHHargrove_at_lbl_dot_gov Future Technologies Group HPC Research Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900