Berkeley UPC Release 2.10.0

From: Paul H. Hargrove (PHHargrove_at_lbl_dot_gov)
Date: Mon Nov 02 2009 - 22:35:29 PST

  • Next message: Jeremy Abramson: "Open64 Front End/ir_tools on Mac OSX 10.5?"
    We are pleased to announce the release of Berkeley UPC 2.10.0, which is
    now available for download at:
    
         http://upc.lbl.gov/download/
    
    Source is available for all supported platforms.  Binary distributions
    are available for Mac OS X and Windows/Cygwin.  As in the past, DVD's
    containing the release will be freely available at the PGAS booth (#136)
    at SuperComputing 09, November 14-20 in Portland, OR.
    
    The 2.10.0 release contains numerous improvements over our last release,
    including:
    
        - Improved platform support
          - Cray XT support extended to PE 2.1.42+ and to PrgEnv-Intel
          - IBM BG/P support extended to V1R4M0 drivers
          - Support MacOS 10.6 (Snow Leopard) including Apple's new gcc-4.2.1
          - Added support for building with libtool-2.0 and newer
        - New runtime features
          - Experimental shared-memory support (see the section
            "INTRA-NODE SHARED MEMORY SUPPORT" in INSTALL.txt)
          - Experimental collectives autotuner (see gasnet/README)
          - Expanded BUPC atomic extensions w/ additional operations and 32-bit
            types
          - Enhanced bupc_thread_distance() to detect processes on same compute
            node
          - Implemented bupc_{cast,castable,thread_castable}() extensions based
            on a UPC language proposal from HP
        - UPC source-to-source translator changes
          - Many corner cases now generate compiler errors or warnings instead
            of crashing the translator
          - Significantly improved quality of code generated when experimental
            UPC-level optimizations are enabled by -opt
          - Deprecated support for building translator on Tru64 and AIX
        - Enhancements/improvements to upcrun (see the upcrun manpage)
          - Implemented -conf=file and -norc command line options
          - Implemented UPCRUN_NORC environment variable (works like UPCC_NORC)
          - Implemented -bind-threads option
          - Fixed bug 1553 - set appropriate env vars on IBM SP for pthreads
          - Several improvements to job spawning on Cray-XT series
        - Enhancements/improvements to upcc (see the upcc manpage)
          - Implemented -conf=file command line option
          - Corrected behavior when -g and -tv are both specified
          - Extended config file format to be multiconf friendly
          - Enhanced upcc-multi to reject contradictory argument pairings
        - Improved support for GCC UPC
          - Supported virtual address field order in shared pointer
            representation
          - Added support for MacOS 10.5 and newer
        - Misc changes/improvements
          - Tools now work around sometimes buggy UTF-8 support in perl
          - Used strict prototypes in public headers and generated code
            to allow compilation with -Wstrict-prototypes
          - Expanded test suite and fixed several bugs in the tests themselves
          - Fixed several minor bugs/issues with the configure and build
            scripts
        - Fixed the following notable bugs in 2.8.0 runtime libraries
          (see http://upc-bugs.lbl.gov for details):
          bug1840: SIGFPE crashes (environment variable UPC_SUPPRESS_SIGFPE
                   can now be used to control suppression of SIGFPE)
          bug1976: (1st half) portals-conduit AMMedium payload corruption
          bug1976: (2nd half) use-after-free in GASNET_VIS_AMPIPE code
          bug2461: PTL_ME_IN_USE runtime crash from portals-conduit
          bug2462: catch basin overflow failure on portals-conduit
          bug2507: mutex debug code yields warning on every compile on
                   IRIX/gcc/64
          bug2530: mis-aligned use of x86-64 cmpxchg16b instruction
          bug2576/2633: XLC crashes due to CFLAGS used in an opt build
          bug2582: lapi-conduit LongAsync memory leak
          bug2583: AMMedium payload corruption on lapi-conduit
          bug2584: Segfault from upc_free() with pgicc 7.2-5 through 8.0-4
          bug2588: assertion failure when out-of-memory message expected
          bug2606: trace output corruption with high pthread count
          bug2613: FATAL ERROR: Firehose: Ran out of request handles
          bug2617: PtlMDUpdate errors on portals-conduit
          bug2627: long pause at exit time due to sync() call
          bug2665: could not build shmem-conduit with TotalView support
          bug2674: testinternal-par failure on portals-conduit (iop check
                   assertion)
          bug2677: infrequent fflush(NULL) failure on AIX
          bug2683: deal with aggressive alias assumptions of gcc-4.4.x
        - Fix the following notable bugs in 2.8.0 source-to-source translator
          (see http://upc-bugs.lbl.gov for details):
          bug244: translator crashes on incomplete types
          bug247: need compiler error for over-size arrays (instead of under-
                  allocation)
          bug1546/2504/2522/2642: various problems with arrays inside structs
          bug2396: bad codegen for complex upc_forall affinity expression
          bug2502: mismatched static vs. non-static declaration/definition
          bug2626: NPB2.4-UPC Benchmark FT class C compilation error
          bug2643: Wrong precedence generating a flat address for multi-
                   dimensional array
    
    Bundled in this release is the new 1.14.0 release of the GASNet
    communication system, which will become available [after an unavoidable
    delay] for separate download at:
    
                 http://gasnet.cs.berkeley.edu/
    
    Below are the notable changes at the GASNet level since the last public
    release:
    
    * IBM BlueGene/P (dcmf-conduit):
      - Extended support to V1R4M0 driver release
      - Used native DCMF level collectives for several GASNet collectives
      - Implemented more useful gasnett_gethostname() (previously gave I/O
        node name)
      - Minor fix for SEGMENT_EVERYTHING support
    * Cray-XT series (portals-conduit):
      - Extended support to PE 2.1.42 and newer
      - Extended support to include PrgEnv-Intel
      - Implemented more useful gasnett_gethostname() under Catamount
      - Spawner defaults to node count given in batch submission when no -N
        passed
      - Spawner improvements to deal intelligently with thread/process
        pinning
      - Misc. performance and scalability improvements
      - Several bugs fixed
    * IBM SP (lapi-conduit):
      - Improved tentative definitions to eliminate excessive AIX linker
        warnings
      - Implemented AIX-specific code for gasnett_set_affinity()
      - Several bugs fixed
    * InfiniBand (vapi- and ibv-conduits):
      - Corrected non-compliant use of offsetof() that broke compilation
        w/ XLC
      - Fixed anomalous performance on ConnectX HCAs (Mellanox MT25418)
      - Improved performance (and correctness) with segments 2GB and larger
      - Documented settings to work-around failures seen w/ InfiniPath HCAs
        see vapi-conduit/README (source) or share/doc/gasnet/README-ibv
        (installed)
      - Multiple bugs fixed
    * Misc Platform support:
      - Fixed mis-aligned use of x86-64 cmpxchg16b instruction
      - Atomics work-around for SiCortex ICE9A processor errata
      - Fixed aggressive alias analysis in gcc-4.4.x
      - Improved support for XLC on all platforms
      - Improved debug info and warning messages with PathScale compilers
      - Improved gcc TLS support on IA64
    * General:
      - Added experimental shared memory support
        (see README and pshm-design.txt)
      - Added experimental collective autotuner
        (see README and autotune.txt)
      - Additional collective algorithms implemented
      - Fixed some tests for large message sizes or large iteration counts
      - Work around sometimes broken UTF-8 support in perl
      - Improved support for clients with dynamic thread creation
      - Several minor bug fixes in conduit-independent code
    * Build and configure:
      - Improved public headers to enable use of -Wstrict-prototypes by
        clients
      - More accurate conduit auto-detection (eliminating false-positives)
      - Allowed disabling of conduit auto-detection
      - Updates to configure for more recent GNU autotools
      - Better default mpi-conduit configuration on SGI Altix and IRIX
      - Corrected mechanism for detecting an SMP host under FreeBSD
    

  • Next message: Jeremy Abramson: "Open64 Front End/ir_tools on Mac OSX 10.5?"