This is version 2.2.0 of Task Oriented Parallel C and 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
If you have your own `TOP-C' application, `app.c', make sure that it
contains #include <topc.h> at the top, 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 ]
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.