Welcome to the POLARIS project! Polaris is a compiler development tool designed and implemented at the Department of Computer Science at the University of Illinois. Polaris automatically parallelizes FORTRAN 77 programs for execution on shared-memory multiprocessors. # Polar star (mod.L. stella Polaris siue Polus, in Alphonsine Tables, # Venice 1518), the POLE-STAR; also fig. = guiding star, guide, cynosure. Using Polaris requires a (free) license. To obtain a copy of the license agreement form, retrieve the file named license.ps in this directory. Once we have received your signed agreement you can call (217) 244-0056 to get an ftp account and password for retrieving the Polaris files. You can fax the agreement to (217) 333-3501 but we ask that you also send us the original by regular mail. USMail address: The Polaris Project 3316 DCL 1304 West Springfield Avenue Urbana, IL 61801 *** This release was compiled with gcc version 2.95.1. This release contains version 1.0 of the Omega Test source code from University of Maryland (William Pugh, et al). When building the Omega Test code with g++ 2.95.1, you will receive many warning messages from g++. We have been assured by the folks at U Maryland that the correct code is being generated despite the warnings. If you have questions about the Omega Test code, contact the Omega Project at http://www.cs.umd.edu/projects/omega/omega.html. *************LATEST RELEASE************************************ Release notes for the newest release may be found in the files PolarisRelease1.6.4 and ReleaseNotes.base-v38.0. *************LATEST RELEASE************************************ To build Polaris take the following steps. 1) Retrieve the following gzipped tar files from this directory: polaris1.6.5.tar.gz 2) Untar the Polaris tar file into the area you wish to place the compiler. gunzip polaris1.6.5.tar.gz [creates polaris-1.6.5.tar] tar xvf polaris1.6.5.tar [unpacks Polaris directory structure and files into a subdirectory rooted at a directory called "polaris"] You will need 130MB to contain the fully compiled source, object files, libraries, and executables. Developers should allocate at least a 200MB partition. Users (as opposed to developers), will need 130MB during installation and 20MB for the optimized executable and source. If source is not needed, 8MB is required the optimized executable, switches database, and man pages. For the sake of example, we will refer to the install directory as the "/compilers" directory. Untar'ing the Polaris tar file will create the directory /compilers/polaris, and its associated subdirectories. Under the main Polaris directory there are seven subdirectories: bin - miscellaneous utility programs and shell scripts cvdl - root directory of the source code for the various Polaris components, and also home of the Rules.make and configuration scripts. READ THE "INSTALL" FILE in this directory for further installation information. Also contains the default "switches" file for configuring a Polaris run. devel_utils - directory containing the source of various useful utility programs and scripts. doc - Polaris documentation (including this README) include - include files for Omega lib - subroutine libraries - currently just for Omega license - directory containing the Polaris license information. man - man pages for Polaris. omega - root of Omega directory tree scanner - directory containing the source of the front-end FORTRAN 77 scanner used by Polaris. pccts - directory containing the PCCTS (Purdue Compiler Construction Tool Set). There is also the main Polaris Makefile 5) Edit the Makefile /compilers/polaris.release1.6.5/Makefile and define the LIVE variable appropriately for your site (e.g., LIVE=/compilers/polaris). Define the USERS variable in the same Makefile with the login names of Polaris developers (e.g., USERS = jane joe root). For Example: INSTALL = ginstall LIVE = ~/polaris USERS = login root MAKE = gmake 6) For all Polaris users the following steps are necessary: a) Add a line to your .cshrc file (or whatever file gets run every time PLATFORM set to the output of /compilers/polaris/cvdl/config/config.guess POLARIS_ROOT set to the root directory of the polaris directory tree POLARIS_WORK set to the root directory of a polaris directory tree (for Polaris developer's, this could be the development directory) For example: setenv POLARIS_ROOT "$HOME/compilers/polaris" setenv POLARIS_ROOT "$HOME/compilers/polaris" setenv PLATFORM "$POLARIS_ROOT/cvdl/config/config.guess" b) Set your command search path: set path = ($path $POLARIS_ROOT/bin/$PLATFORM) 7) run configure in /compilers/polaris.release1.6.5/cvdl command line parameters: --prefix=`polaris release directory' - needed for tools like pccts and libraries. Defaults to /mounts/alphard/disks/4/polaris.release --with-debug - enables debugging information (-ggdb) --enable-omega - enables Omega test --enable-perfeval - compiles the static performance estimation (includes also Omega) 8) In the /compilers/polaris.release1.6.5 directory, run make 9) In the /compilers/polaris.release1.6.5/cvdl directory: make depend >& /dev/null make [polaris] makes libpolaris.a [polaris] in $POLARIS_WORK/cvdl A file called Polaris_hints has been included on the ftp site which gives advice about the use of Polaris. Be sure to down-load it! Please send any comments, questions, etc. to polaris@cs.uiuc.edu. We hope you gain benefit from using our tool. The Polaris Project polaris@cs.uiuc.edu Department of Computer Science University of Illinois, Urbana-Champaign