UPC Downloads

  • Testing Suites

  • The testing suite is intended to test the functionality of any implementation of the UPC compiler and allow the user to measure the degree of its conformance to the UPC standard. The suite should contain a set of portable test programs. These programs fall under either of the following categories:
    1. Positive tests: These tests are to verify that UPC features work properly according to the syntax and semantics described in the UPC specifications.
    2. Negative tests: These tests are to determine the error detection capabilities of a UPC compiler implementation.

    • GWU Unified Testing Suite(GUTS), August 2010 [Wiki | gz]

    • Unified UPC Test Suite 1.2.0-r1, June 2005 [ README | gz ]

    • The GWU Testing Strategy 1.1, March 2003 [PDF]
    • The GWU Testing Suite 1.1, September 2004 [gz]

    • The GWU UPC-IO Testing Strategy 1.2.0-r1, June 2005 [PDF]
    • The GWU UPC-IO Test Suite 1.2.0-r1, June 2005 [gz]

    • MuPC Test Suite, January 2003 [PDF | gz]



  • Compilers

    • HP UPC Compiler
    • HP UPC is a fully conforming implementation of the UPC language, with some extensions, primarily for compatibility with the HP C and HP C++ products. HP UPC supports the UPC language specification V1.2 developed by the UPC Consortium. HP UPC is available for the HP Tru64 UNIX AlphaServer SC Cluster and SMP, HP-UX PA RISC, and IPF SMP systems.
      For more information check the HP-UPC website

    • GCC-Based UPC Compiler
    • The GCC UPC toolset provides a compilation and execution environment for programs written in the UPC (Unified Parallel C) language. The GCC UPC compiler extends the capabilities of the GNU GCC compiler. The GCC UPC compiler is implemented as a C Language dialect translator, in a fashion similar to the implementation of the GNU Objective C compiler.
      For more information and download, check the GCC UPC official page

    • MuPC UPC Run Time System
    • MuPC is a run time system for UPC. It enables UPC programs to run on a variety of platforms. A front end, provided with the MuPC distribution,translates the user's UPC program into C with references to shared data and other UPC constructs translated into MuPC run time system calls. MuPC uses Pthreads and MPI to implement a UPC run time system interface specified by HP.
      MuPC is a run time system for UPC. It is available for Linux clusters, Sun Solaris platforms, and HP Tru64 systems. MuPC implements the API defined by a contributed UPC-to-C translator that is distributed with MuPC. It uses MPI for remote references to shared objects. Local and remote accesses are performed by separate Pthreads in each UPC thread. V1.1.2 MuPC performance improvements include caching and overall lower latencies for references to shared memory on clusters. V1.0.5 is now available for Linux and Solaris platforms. The Tru64 version will be available soon.
      For more information and download, check the MTU UPC website.

    • Berkeley UPC Compiler
    • - A high-performance, fully portable, complete implementation of the latest UPC 1.2 language specification
      - Source-to-source translator with inspectable C-code output
      - Supports a wide variety of operating systems:
        Linux, AIX, Tru64, HPUX, IRIX, Solaris, FreeBSD, Windows/Cygwin, Mac OSX
      - Supported CPUs:
        x86, Itanium, PowerPC, MIPS, SPARC, PA-RISC
      - Supported backend C compilers:
        gcc, Intel C, Visual Age C, HP C, Portland Group C, MIPSPro C, Sun Pro C
      - Runs natively on a number of network interconnects for maximal communication performance:
        Quadrics/elan, Myrinet/GM, IBM/LAPI, Infiniband/VAPI
      - Portable network backend for other hardware: MPI 1.1
      - Optimized pointer-to-shared implementation
      For more information and download, UC Berkeley/LBL UPC website.

    • UPC Cray T3E Compiler
    • For more information on downloading the UPC Cray T3E Compiler, please contact  
      Jesse M.Draper : IDA Center for Computing Sciences jdraper@super.org



  • UPC Libraries

    • UPC Collectives Reference Implementation

    • This is a reference implementation of the V1.0 collective functions.
      This source library conforms to the V1.1 UPC standard and implements the broadcast, scatter, gather, gather-all, exchange, permute, reduce, prefix reduce, and sort collective functions. The first seven of these are provided in "push" and "pull" variations.
      Implementation details can be downloaded here:


    • UPC-IO Reference Implementation

    • This is a reference implementation of the UPC-IO Library as defined in the UPC-IO Specifications document V1.0.
      The implementation can be downloaded here:




  • Benchmarking

    • UPC NAS Parallel Benchmarks
      • The current release of the UPC NAS Parallel Benchmarks is version 2.4-11.02 [.tar.gz]
      • Project page: Subversion repository, Bug reports, informations...

    • UPC SSCA #3
      • The current release of the UPC SSCA #3 - 0.1 [.tar.gz]
      • Project page: Subversion repository, Bug reports, informations...

    • GWU_UPC_Bench - the UPC Benchmarking Suite
      • the UPC and MPI implementations of the N-Queens problem
      • the UPC and MPI implementations of the Sobel edge-detection algorithm
      • the UPC and MPI implementations of the matrix-multiplication algorithm
      • the UPC Synthetic benchmark.

      • Download the lastest version of the UPC_Bench here: [gz]

    • GWU_Examples from the UPC tutorial, August 2001


    • GWU_UPC Measurement Tools:
      To automatically produce execution times and speedup curves using the Lout document formatting system [ gz | bz2 ]

    • UPC Operations Microbenchmarking Suite (UOMS)
      • The current release of the UOMS v1.1, November 2010[.tar.gz]
      • Project page: For more information.




Home | Projects | Tutorials | Publications | Documentation | Downloads | News | Forum | Events | Working Groups | FAQ