Go to the first, previous, next, last section, table of contents.


Quick Start: Installation and Test Run

This is version 2.2.0 of Task Oriented Parallel C/C++ (`TOP-C'). The documentation and latest release can be found on @url{ftp://ftp.ccs.neu.edu/pub/people/gene/topc/}. Gene Cooperman @email{gene@ccs.neu.edu}

It has been tested and works in my environment on several workstation architectures. It provides task-oriented parallelism to the end user. The same application source code (or object code) can be executed (or linked) with any of the following communication libraries using the topcc command (a substitute for cc): (a) a distributed memory library using MPI (MPI subset, mpinu, included in distribution); or (b) a shared memory library using threads; or (c) a single-process sequential library (useful for development and debugging). The `TOP-C' model has been successfully used for some very large computations. See @url{http://www.ccs.neu.edu/home/gene/topc.html} for general information on obtaining source, overview slides of `TOP-C', previous `TOP-C' applications, etc.

To unpack:

  gunzip -dc topc.tar.gz
  tar xvf topc.tar
  cd topc
  ./configure
  make

If you are impatient, you can immediately do:

  cd bin
  make parfactor

and see a demonstration for factoring numbers by a Euclidean sieve. Then try: ./a.out YOUR_NUMBER Read bin/Makefile for an example of compiling a `TOP-C' program.

If you want to use more or different slave processes, modify bin/procgroup . Then, again:

  cd bin
  ./a.out YOUR_NUMBER

And compare with your results using a single slave process:

  ./a.out --TOPC-num-slaves=1 YOUR_NUMBER

Or investigate what other command-line TOP-C options are available for a.out.

  ./a.out --TOPC-help

Other examples are in the directory `../examples'. For example, if you would like to try `parquicksort.c', then from the `bin' directory, try:

  make test TEST_FILE=parquicksort

If you have your own `TOP-C' application, `app.c', make sure that it contains #include <topc.h> at the top, and that you have a procgroup file in the current directory, and then:

  bin/topcc --mpi -o app app.c
  # or else:  bin/topc++ --mpi -o app app.cc
  ./app

[NOTE: bin/topcc --help and bin/topc++ --help both work and `doc/topcc.1' exists ]

If you prefer a further quick introduction before reading the manual, see section Summary of `TOP-C' Commands, for a list of the `TOP-C' commands. See section Example `TOP-C' Application, for a simple `TOP-C' example application involving only trivial parallelism. The `examples' subdirectory provides more detailed examples, AND THERE SHOULD SOON BE A TUTORIAL FOR TOP-C.

Finally, if you want to install `TOP-C' permanently, type

  make install

By default, `TOP-C' will install in `/usr/local', requiring root privilege. To install in your home directory, type:

  ./configure --prefix=$HOME
  make install

and `TOP-C' will create file in `$HOME/bin', `$HOME/lib', `$HOME/include', `$HOME/man' and `$HOME/info'. If you want to make `TOP-C' with cc instead of gcc, type:

  env CC=cc ./configure --cache-file=/dev/null

You can also substitute values for CFLAGS, CXX and CXXFLAGS. CFLAGS and CXXFLAGS affect only the `TOP-C' libraries and not the options used by topcc. To see other configuration options, type:

  ./configure --help

Please write the author, Gene Cooperman (@email{gene@ccs.neu.edu}), if there are any questions.


Go to the first, previous, next, last section, table of contents.