Re: Install question

From: Jeremy Cowles (jeremy.cowles_at_gmail_dot_com)
Date: Sun Jul 20 2008 - 16:08:08 PDT

  • Next message: Paul H. Hargrove: "Re: Install question"
    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.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>
    > 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
    >> Future Technologies Group                 HPC Research Department
    >>           Tel: +1-510-495-2352
    >> Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900
    >>
    >>
    >
    

  • Next message: Paul H. Hargrove: "Re: Install question"