properly compile ckcache.ci when int16 is supported.
[charm.git] / README
diff --git a/README b/README
index adbba2e4410d0b39a6b018e7fa85d24ca9ce1f6d..d601d08a6657f77447eb950d0012eaccca277b19 100644 (file)
--- a/README
+++ b/README
@@ -1,6 +1,6 @@
-                           Charm++ CVS Version
+                           Charm++
 
 
-       Copyright (C) 1989-2000 Regents of the University of Illinois
+       Copyright (C) 1989-2012 Regents of the University of Illinois
 
 INTRODUCTION
 ============
 
 INTRODUCTION
 ============
@@ -14,23 +14,10 @@ Source code is provided, and non-commercial use is free.
 GETTING THE LATEST CHARM SOURCE
 ===============================
 
 GETTING THE LATEST CHARM SOURCE
 ===============================
 
-You can use our anonymous cvs server to checkout the latest charm++ source code.
-(It may not be the latest stable version though) 
-What you need to do is as following:
+You can use anonymous Git access to obtain the latest Charm++ source
+code, as follows:
 
 
-1. login the cvs server:
-
-      cvs -d :pserver:checkout@charm.cs.illinois.edu:/cvsroot login
-
-      when CVS password is prompted, just press enter.
-2. checkout charm:
-
-      cvs co -P charm
-
-      You should get latest charm source tree.
-3. logout the cvs server:
-
-      cvs logout
+    git clone git://charm.cs.illinois.edu/charm.git
 
 
 PICKING A VERSION
 
 
 PICKING A VERSION
@@ -40,9 +27,11 @@ First, you need to decide which version of charm++ to use. The "build"
 script in charm source directory takes several command line options to
 compile Charm++. The command line syntax is:
 
 script in charm source directory takes several command line options to
 compile Charm++. The command line syntax is:
 
-build <target> <version> [options ...] [--basedir=dir] [--libdir=dir] [--incdir=dir] [charmc-options ...]
+build <target> <version> [options ...]
+                         [--basedir=dir] [--libdir=dir] [--incdir=dir]
+                         [charmc-options ...]
 
 
-for detailed help messages, use -h or --help to the build script, i.e.
+For detailed help messages, pass -h or --help to the build script, i.e.
 ./build --help
 
 REQUIRED:
 ./build --help
 
 REQUIRED:
@@ -71,9 +60,9 @@ the build script will compile Charm++ under this directory.
 
 For example, on an ordinary Linux PC:
 
 
 For example, on an ordinary Linux PC:
 
-   ./build charm++ net-linux
+   ./build charm++ net-linux-x86_64
 
 
-will build charm++ in the directory: net-linux/.  The communication
+will build charm++ in the directory: net-linux-x86_64/. The communication
 defaults to UDP packets and the compiler to gcc.
 
 For a more complex example, on a Scyld workstation with the Intel C++ 
 defaults to UDP packets and the compiler to gcc.
 
 For a more complex example, on a Scyld workstation with the Intel C++ 
@@ -114,10 +103,6 @@ mpi-linux            PC Linux       MPI           GNU compiler
 mpi-ppc-darwin       MacOS X        MPI           GNU C++ compiler
 mpi-linux-ia64       IA64 Linux     MPI           GNU compiler
 mpi-linux-x86_64     Opteron Linux  MPI           GNU compiler
 mpi-ppc-darwin       MacOS X        MPI           GNU C++ compiler
 mpi-linux-ia64       IA64 Linux     MPI           GNU compiler
 mpi-linux-x86_64     Opteron Linux  MPI           GNU compiler
-mpi-axp              Alpha          MPI           GNU compiler
-mpi-linux-axp        Alpha Linux    MPI           GNU compiler
-origin2000           Origin2000  shared-mem       SGI C++ compiler
-t3e                  Cray T3E    shared-mem       Cray C++ compiler
 
 
 To choose <version>, your choice is determined by three options:
 
 
 To choose <version>, your choice is determined by three options:
@@ -132,9 +117,12 @@ development and testing.
        "mpi-" Charm++ communicates using MPI calls.  Use this for
 machines with a good MPI implementation (such as the Origin 2000).
 
        "mpi-" Charm++ communicates using MPI calls.  Use this for
 machines with a good MPI implementation (such as the Origin 2000).
 
-       "gemini", "bluegene[lpq]", Charm++
+       "gemini_gni-", "bluegene[lp]-", "pami-bluegeneq-" Charm++
 communicates using direct calls to the machine's communication primitives.
 
 communicates using direct calls to the machine's communication primitives.
 
+       "multicore-" Charm++ communicates using shared memory within a
+       single node
+
        "sim-" and "uth-" are not actively maintained.  These are
 single-processor versions: "uth-" simulates processors as user-level
 threads; "sim-" switches between processors and counts communications.
        "sim-" and "uth-" are not actively maintained.  These are
 single-processor versions: "uth-" simulates processors as user-level
 threads; "sim-" switches between processors and counts communications.
@@ -142,30 +130,32 @@ threads; "sim-" switches between processors and counts communications.
 
 2.)  Your operating system:
 
 
 2.)  Your operating system:
 
-       "linux"   Linux 
-       "win32"   MS Windows with MS Visual C++ compiler
-       "cygwin"  MS Windows with Cygnus' Cygwin Unix layer
-       "irix"    SGI IRIX
-       "origin"  SGI Origin 2000 IRIX
-       "sol"     Solaris
-       "sun"     SunOS
-       "rs6k"    IBM R/S 6000 A/IX 
-       "sp"      IBM SP A/IX
-       "hp"      Hewlett-Packard HP-UX
-       "axp"     DEC Alpha DECUNIX
-       
-
-3.)  Some operating systems have other options, such as:
-       "-x86"     For Solaris, use PC hardware (instead of Sun).
-       "-axp"     For Linux, use Alpha hardware (instead of PC).
-        "-ia64"    Use Itanium(tm) instructions (instead of x86).
-        "-x86_64"  Use AMD Opteron instructions (instead of x86).
+       "linux"       Linux
+       "win{32,64}"  MS Windows with MS Visual C++ compiler (32/64-bit, resp.)
+       "cygwin"      MS Windows with Cygnus' Cygwin Unix layer
+       "darwin"      Apple Mac OS X
+       "sol"         Solaris
+       "aix"         IBM A/IX
+       "sp"          IBM SP A/IX
+
+
+3.)  Some operating systems have other architecture options, such as:
+
+       "-x86"     For Solaris and Mac OS X, target x86 hardware (instead of
+                  SPARC or PPC).
+       "-ppc"     POWER/PowerPC
+       "-mips64"  MIPS, such as for SiCortex systems
+        "-ia64"    Use Itanium(tm) IA-64 instructions (instead of x86).
+        "-x86_64"  Use AMD64/EM64T 64-bit x86 instructions (instead of 32 bit).
+       "-cell"    Sony/Toshiba/IBM Cell PPE (e.g. Playstation 3,
+                  Mercury blades, Roadrunner)
 
 Your Charm++ version is made by concatenating the options, e.g.:
 
 
 Your Charm++ version is made by concatenating the options, e.g.:
 
-"net-linux"     Charm++ for a network of Linux workstations, compiled
-                using g++.
-"mpi-origin"    Charm++ for SGI Origin 2000, compiled using SGI CC.
+"net-linux-x86_64"   Charm++ for a network of 64-bit Linux workstations,
+                     compiled using g++.
+
+"mpi-crayxt"         Charm++ for Cray XT4/5 systems using the system's compiler.
 
 
 **** How to choose <options> ****
 
 
 **** How to choose <options> ****
@@ -200,7 +190,7 @@ need to choose <options> from the following list:
         performance. Try your application to decide if enabling smp mode 
         improves performance.
 
         performance. Try your application to decide if enabling smp mode 
         improves performance.
 
-* bluegene - compile Charm++ as running on Blue Gene emulator.
+* bigsim - compile Charm++ as running on the BigSim emulator.
 * help - show supported options for a version. For example, for net-linux, 
          running:
          > ./build charm++ net-linux help
 * help - show supported options for a version. For example, for net-linux, 
          running:
          > ./build charm++ net-linux help
@@ -235,12 +225,12 @@ Common compile time options such as -g, -O, -Ipath, -Lpath, -llib are
 accepted.
 
 For example, on a Linux machine, you would run
 accepted.
 
 For example, on a Linux machine, you would run
-     > ./build charm++ net-linux -O
+     > ./build charm++ net-linux-x86_64 -O
 
 
-This will construct a net-linux directory, link over all
-the Charm++ source code into net-linux/tmp, build the entire
-Charm++ runtime system in net-linux/tmp, and link sample programs 
-into net-linux/pgms.
+This will construct a net-linux-x86_64 directory, link over all
+the Charm++ source code into net-linux-x86_64/tmp, build the entire
+Charm++ runtime system in net-linux-x86_64/tmp, and link example programs
+into net-linux-x86_64/examples.
 
 Several #define's control the compilation of Charm++.  Some of these
 #define's can be found in src/<version>/conv-mach.h.  #define's can
 
 Several #define's control the compilation of Charm++.  Some of these
 #define's can be found in src/<version>/conv-mach.h.  #define's can
@@ -248,15 +238,17 @@ also be specified on the command line, using the -D option.  For
 example,
     > ./build charm++ net-linux -O -DCMK_OPTIMIZE=1
 
 example,
     > ./build charm++ net-linux -O -DCMK_OPTIMIZE=1
 
-CMK_OPTIMIZE: Turn on optimizations in Charm++/Converse. This disables most of
-the run-time checking performed by Converse and Charm++ runtime. This option
-should be used only after the program has been debugged. Also, this option
-disables Converse/Charm++ tracing mechanisms such as projections and summary.
+Production optimizations: Pass the configure option --with-production
+to ./build to turn on optimizations in Charm++/Converse. This disables
+most of the run-time checking performed by Converse and Charm++
+runtime. This option should be used only after the program has been
+debugged. Also, this option disables Converse/Charm++ tracing
+mechanisms such as projections and summary.
 
 When Charm++ is built successfully, the diretory structure under the
 target directory will look like:
 
 
 When Charm++ is built successfully, the diretory structure under the
 target directory will look like:
 
-net-linux/
+net-linux-x86_64/
    |
    ---  bin/                   # all executables
    |
    |
    ---  bin/                   # all executables
    |