Download Latest Version upc-4.5.1.2-i686-linux-centos5.tar.gz (59.0 MB)
Email in envelope

Get an email when there's a new version of GCC UPC

Home / Latest Release
Name Modified Size InfoDownloads / Week
Parent folder
upc.4.5.1.2-gcc.4.5.1.diffs.txt 2010-10-23 2.4 MB
upc-4.5.1.2-x86_64-linux-fc13.tar.gz 2010-10-23 67.8 MB
upc-4.5.1.2-x86_64-apple-macosx.tar.gz 2010-10-23 16.5 MB
upc-4.5.1.2-ia64-sgi-suse11.1.tar.gz 2010-10-23 44.3 MB
upc-4.5.1.2-i686-linux-centos5.tar.gz 2010-10-23 59.0 MB
upc-4.5.1.2.src.tar.gz 2010-10-23 36.1 MB
README-4.5.1.2 2010-10-23 6.4 kB
Totals: 7 Items   226.1 MB 0
2010-10-20 23:39:31 PDT

This is version 4.5.1.2 of the GCC-based implementation
of a compiler for the UPC programming language.

This release is based on GCC version 4.5.1, and has been tested 
on the following configurations:

  - AMD64 (Opteron) (64 bit)
  - AMD64 (Opteron) (32 bit)
  - Intel Itanium (IA64)
  - Intel 686 (32 bit)

In addition to the source code release, binary releases that install under
the /usr/local/upc directory for the following platforms are included:

  - Fedora Core 13 x86_64 AMD Opteron
  - SUSE Linux Enterprise 11.1 Intel IA64
  - CentOS 5.5 i686 Intel x86
  - Apple MacOS X 10.6 (Snow Leopard) Intel x86_64

For further information on the UPC language, and this implementation,
consult http://www.gccupc.org.

This directory contains the following files:

upc-4.5.1.2.src.tar.gz
	The source code release for the compiler

upc.4.5.1.2-gcc.4.5.1.diffs.txt
	A set of 'diffs' that compare the UPC compiler to the GCC 4.5.1
	baseline it was built from. This file can be fed to the `patch'
	utility. Installation instructions are given at the beginning
	of the file.

upc-4.5.1.2-x86_64-linux-fc13.tar.gz
	Pre-built binary releases for a symmetric multi-processor
	AMD 64 (Opteron) based system running the Fedora Core 13
	Linux operating system.

upc-4.5.1.2-i686-linux-centos5.tar.gz
	Pre-built binary releases for a symmetric multi-processor Intel
	x86 based system running the CentOS 5 Linux operating system.

upc-4.5.1.2-ia64-sgi-suse11.1.tar.gz
	Pre-built binary releases for a symmetric multi-processor
	Intel Itanium based system running the
	SUSE Linux Enterprise 11 operating system.

upc-4.5.1.2-x86_64-apple-macosx.tar.gz
	Pre-built binary release for a symmetric multi-processor Intel
        x86 based system running the Mac OS X 10.6 operating system.

Installing from the source release
----------------------------------

The gzip'ed source tar file contains the source code that can be
configured and installed on any of the supported systems.

Please visit GCC's prerequisites page 
http://gcc.gnu.org/install/prerequisites.html for the list of various
tools and packages that are used in the build procedure.

To configure and install from the source release use the following steps:

(1) Download and unpack the source gzip'ed tar file (assume that
source, build, and release directory are located under /upc/)

    mkdir /upc
    mkdir /upc/src
    mkdir /upc/wrk
    mkdir /upc/rls
    cd /upc/src
    tar xpzf /upc/download/upc-4.5.1.2.src.tar.gz

(2) Configure source release

    cd /upc/wrk
    /upc/src/upc-4.5.1.2/configure --prefix=/usr/local/upc [...]
   
GCC UPC 4.5.1.2 accepts various configuration options that affect
code size and execution efficiency:

    --with-upc-pts=packed
	Packed shared pointer representation (default).
	More efficient, but limits the maximum layout specifier
	(block size) to 65536, number of threads to 4096, unless
        --with-upc-packed-bits option is specified.

    --with-upc-pts=struct
	Structure shared pointer representation. Compatible with
	previous implementations of GCC UPC.  Supports a large layout
	specifier and maximum number of threads.

    --with-upc-packed-bits=phase,thread,addr
        Packed shared pointer layout. Allows the user to specify
        number of bits allocated for each filed of the shared pointer.
        Sum of the specified fields must be 64. Default values are: 
        addr=36 thread=12 phase=16.

    --upc-pts-vaddr-order=[first,last]
        Define if vaddr goes first or last in the shared pointer 
        representation. Applies to both packed and struct. Default is
        first.

    --disable-bootstrap
	By default, GCC/UPC will be built in three stages, where
	in the last stage the built compiler compiles itself.
	Bootstrapping is a useful method of verifying that the
	compiler is operational, but it takes three times as
	long to build the compiler.  Specifying --disable-bootstrap
	reduces build time to 1/3 of the default build time.

    --disable-upc-affinity
	When supported by the underlying OS, the GCC/UPC runtime
	will take advantage of cpu affinity support (default).
	Specifying --disable-upc-affinity will build the GCC/UPC
	runtime without cpu affinity support.

    --disable-upc-numa
	When supported by the underlying OS, the GCC/UPC runtime
	will take advantage of NUMA support.  This is enabled by default.
	Specifying --disable-upc-numa will build the GCC/UPC runtime
	without NUMA support.

    --disable-upc-link-script
	When supported by the underlying OS, the GCC/UPC compiler
	will create linkage sections for shared variables that are
	tagged as "no load" sections.  The --disable-upc-link-script
	configuration switch disables the use of the custom linker
	script that is used to implement the "no load" section.

    --enable-checking
	Primarily intended as an aid to developers, the
	--enable-checking option enables various internal checks within
	the GCC/UPC compiler.  Compilations will be slower, but the
	checking can help catch bugs in the compiler's internal logic.


(3) Build binary release and install

    make
    make install

(4) Place /usr/local/upc/bin in your shell's path variable,
    and the GCC/UPC compiler is ready to use.
    The 'upc' command invokes the compiler.

Installing from a binary release
--------------------------------

The gzip'ed tar files contain an installable binary release of the
UPC compiler, built for their respective target platforms.

All the binary releases are built with the following configuration options:

  (a) Packed shared pointer representation
  (b) UPC thread cpu affinity supported (if available)
  (c) UPC thread memory affinity (NUMA) supported (if available)

The binary release is built to install under /usr/local/upc.  However,
the release can be installed in any convenient location - the 'upc'
command finds the programs it requires, relative to its location.

The tar file contains paths which do not begin with "/".  They are
relative to the root directory.  To install in /usr/local/upc, issue
the following commands (the Linux Intel 686 release is illustrated
below):

  cd /
  gunzip -c < upc-4.5.1.2-x86_64-linux-fc13.tar.gz | tar xpf -

The commands above, must be issued from a sysadmin account that
has write access to /usr/local.  A /usr/local/upc directory will
be created.


			      -- end --
Source: README-4.5.1.2, updated 2010-10-23