2012-02-06 19:00 PDT This is version 4.7.0.2 of the GCC-based implementation of a compiler for the UPC programming language. This release is based on GCC version 4.7.0 and has been tested on the following configurations: - Intel (Xeon) (64 bit) - AMD64 (Opteron) (64 bit) - Intel Itanium (IA64) - Intel i686 (32 bit) - AMD64 (Opteron) (32 bit) In addition to the source code release, binary releases that install under the /usr/local/gupc directory for the following platforms are provided: - Fedora Core 15 Intel x86_64 - Apple MacOS X 10.6 (Snow Leopard) Intel x86_64 - Apple MacOS X 10.7 (Lion) Intel x86_64 - Red Hat Enterprise Linux 6.2 x86_64 - Open SUSE 12.1 Intel x86_64 - Scientific Linux 6.1 Intel x86_64 - Ubuntu 11.04 and 11.10 Intel x86_64 - SUSE Linux Enterprise 11.1 Intel IA64 - CentOS 6.2 i686 Intel x86 For further information on the UPC language, and this implementation, consult http://www.gccupc.org. In addition to the README file, this directory contains the following files: upc-4.7.0.2.src.tar.bz2 The source code release for the compiler. upc-4.7.0.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.7.0.2-x86_64-apple-macosx10.6.tar.gz Pre-built binary release for a symmetric multi-processor Intel x86 based system running the Mac OS X 10.6 (Snow Leopard) operating system. upc-4.7.0.2-x86_64-apple-macosx10.7.tar.gz Pre-built binary release for a symmetric multi-processor Intel x86 based system running the Mac OS X 10.7 (Lion) operating system. ubuntu11.10-upc-4.7.0.2-patches.diff.gz A source code patch file for building GUPC 4.7.0.2 on Ubuntu 11.10 operating system. Additionally, package repositories, both binary and source, are available for the following systems: - Red Hat Enterprise Linux 6.2 x86_64 - Fedora Core 15 Intel x86_64 - Open SUSE 12.1 Intel x86_64 - Scientific Linux 6.1 Intel x86_64 - Ubuntu 11.04 and 11.10 Intel x86_64 - CentOS 6.2 i686 Intel x86 Consult http://www.gccupc.org for more information on the available repositories. Installing from the Source Release ---------------------------------- The bzip'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 bzip'ed tar file (assume that source, build, and release directory are located under $HOME/upc) cd $HOME mkdir upc upc/download upc/src upc/wrk upc/rls cd $HOME/upc/download wget 'http://www.gccupc.org/downloads/upc/rls/upc-4.7.0.2/upc-4.7.0.2.src.tar.bz2' cd $HOME/upc/src tar xpjf $HOME/upc/download/upc-4.7.0.2.src.tar.bz2 (2) Configure source release cd $HOME/upc/wrk $HOME/upc/src/upc-4.7.0.2/configure --prefix=$HOME/upc/rls [...] The GCC UPC 4.7.0.2 configuration script accepts various options that affect code size and execution efficiency: --with-upc-pts=packed Packed pointer-to-shared representation (default). More efficient, but limits the maximum layout specifier (block size) to 1048575, number of threads to 1024, unless --with-upc-packed-bits option is specified. --with-upc-pts=struct Structure pointer-to-shared 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 pointer-to-shared layout. Allows the user to specify number of bits allocated for each filed of the pointer-to-shared. Sum of the specified fields must be 64. Default values are: addr=34 thread=10 phase=20. --upc-pts-vaddr-order=[first,last] Define if vaddr goes first or last in the pointer-to-shared representation. Applies to both packed and struct. Default is first. --disable-bootstrap By default, GNU 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 GNU UPC runtime will take advantage of CPU affinity support (default). Specifying --disable-upc-affinity will build the GNU UPC runtime without CPU affinity support. --disable-upc-numa When supported by the underlying OS, the GNU UPC runtime will take advantage of NUMA support. This is enabled by default. Specifying --disable-upc-numa will build the GNU UPC runtime without NUMA support. --disable-upc-link-script When supported by the underlying OS, the GNU 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 GNU UPC compiler. Compilations will be slower, but the checking can help catch bugs in the compiler's internal logic. (3) Build the binary release and install make -j4 >make.log 2>&1 make install >install.log 2>&1 (4) Place $HOME/upc/rls/bin in your shell's PATH variable, and the GNU UPC compiler is ready to use. The 'gupc' 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 its respective target platform. All the binary releases are built with the following configuration options: (a) Packed pointer-to-shared 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/gupc. 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/gupc, issue the following commands (the Linux Intel x86_64 release is illustrated below): cd / gunzip -c < upc-4.7.0.2-x86_64-linux-fc15.tar.gz | tar xpf - The commands above, must be issued from a sysadmin account that has write access to /usr/local. A /usr/local/gupc directory will be created. -- end --