Skip to content

Commit ac3fa65

Browse files
committed
Version 1.2
1 parent 31487e3 commit ac3fa65

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

114 files changed

+61973
-0
lines changed

AUTHORS

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
David A. Bader <[email protected]>
2+

COPYING

+340
Large diffs are not rendered by default.

ChangeLog

+103
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
HISTORY:
2+
3+
16426 1997 Jan 28 15:24 simple-2.0B.tar.gz
4+
Initial distribution release
5+
17038 1997 Feb 4 14:26 simple-2.1B.tar.gz
6+
Fixed problems with communication when $r < p$
7+
17413 1997 Feb 7 09:17 simple-2.1.tar.gz
8+
Added Simple communication primitives Broadcast and Allreduce
9+
22469 1997 Feb 13 09:52 simple-2.2.tar.gz
10+
Added thread-safe BSD4.3 fast RNG.
11+
Change "SIMPLE_done()" to "Simple_done(TH)"
12+
22863 1997 Feb 18 13:01 simple-2.3.tar.gz
13+
Ported to SGI PowerChallenge (IRIX 6.2)
14+
Changed semantics of SIMPLE_done(); added SIMPLE_Cleanup()
15+
Fixed return values from functions in umd.c and simple.c
16+
Added mach_def.h
17+
23489 1997 Feb 24 12:06 simple-2.4.tar.gz
18+
Modified umd.c to allows multiple users to share a node.
19+
24152 1997 Mar 7 11:39 simple-2.5B.tar.gz
20+
Modified simple.c thread attributes, sched policy and priority
21+
24152 1997 Mar 7 11:39 simple-2.5B.tar.gz
22+
Modified simple.c thread attributes, sched policy and priority
23+
24963 1997 May 14 10:56 simple-2.6.tar.gz
24+
27484 1997 May 14 10:56 simple-2.6A.tar.gz
25+
Added non-blocking ISend and IRecv
26+
79659 1997 May 14 10:56 simple-2.7.tar.gz
27+
Improved Installation process, includes examples
28+
81119 1997 Jun 5 13:40 simple-2.8.tar.gz
29+
Remapped UMD port assignments;
30+
allows multiple MPI processes per node
31+
1997 Jun 17 17:18 simple-2.9.tar.gz
32+
Added imagery application
33+
92203 1998 Jan 28 11:08 dist/simple-3.0A.tar.gz
34+
Moved to University of New Mexico
35+
92189 1998 Mar 25 06:41 dist/simple-3.1A.tar.gz
36+
Added Solaris support
37+
91198 1998 Mar 29 15:19 dist/simple-3.1B.tar.gz
38+
Added AIX IBM SP-2 support
39+
91492 1998 Jun 12 11:36 dist/simple-3.1C.tar.gz
40+
Added Linux_mpich support
41+
91795 1998 Jul 2 16:01 dist/simple-3.1D.tar.gz
42+
Added Linux support, fixed smp_reduce
43+
92664 1998 Aug 2 17:34 dist/simple-3.1E.tar.gz
44+
Added smp_node scan routines, MP_METHOD
45+
93168 1998 Aug 5 14:44 dist/simple-3.2A.tar.gz
46+
Added a flag in Makefile.common to switch between UMD or MPI
47+
for message passing.
48+
Updated these README instructions.
49+
50+
94218 1999 Feb 5 simple-3.2B.tar.gz
51+
94577 1999 Feb 19 simple-3.2C.tar.gz
52+
98312 1999 Oct 25 simple-4.0A.tar.gz
53+
Added Sun HPC 10K support
54+
98273 1999 Nov 10 simple-4.0B.tar.gz
55+
98358 2000 Jan 13 simple-4.0C.tar.gz
56+
98382 2000 Jan 14 simple-4.0D.tar.gz
57+
98419 2000 Jan 19 simple-4.0E.tar.gz
58+
108420 2000 Feb 2 simple-4.0F.tar.gz
59+
Stable Sun HPC 10K release
60+
108607 2000 Mar 26 simple-4.0G.tar.gz
61+
Added mutual exclusion locks (node_mutex calls)
62+
108976 2000 Mar 26 simple-4.1A.tar.gz
63+
Integrated the Scalable Pseudo-Random Number Generator
64+
(SPRNG2.0) with SIMPLE for a thread-safe RNG.
65+
109511 2000 Apr 21 simple-4.1B.tar.gz
66+
Fixed a bug in pardo() when ((inc) > 1)
67+
Added -xprefetch to the Sun native compilation
68+
109578 2000 Apr 22 simple-4.1C.tar.gz
69+
Added "NOSHARE" macro to easily handle false sharing
70+
xxxxxx 2000 Jun 10 simple-4.2A.tar.gz
71+
Added automatic C++ capability. User source code, if .C,
72+
will automatically use C++ compilers
73+
simple-4.3A.tar.gz
74+
Added automatic Fortran capability.
75+
simple-4.3B.tar.gz
76+
Improved Makefile handling of subdirectories
77+
xxxxxx 2001 Jan 28 simple-4.3D.tar.gz
78+
Added TARGET_ARCH for TCS
79+
xxxxxx 2001 Feb 5 simple-4.4A.tar.gz
80+
Added prefixTree_SMP and prefixBlock_SMP subdirectories
81+
xxxxxx 2001 Mar 7 simple-4.4B.tar.gz
82+
Added GPL
83+
xxxxxx 2001 Jun 20 simple-4.4C.tar.gz
84+
Fixed launching of Solaris POSIX threads
85+
xxxxxx 2001 Jun 25 simple-4.4D.tar.gz
86+
Changed Solaris RRANDOM to use nrand48()
87+
xxxxxx 2001 Jun 26 simple-4.4E.tar.gz
88+
Added Solaris THREADMAP option to print out thread-to-processor
89+
mappings. Add "-DTHREADMAP" to CFLAGS_GEN in Makefile.var
90+
xxxxxx 2001 Jul 12 simple-4.4F.tar.gz
91+
Added node_partition_loop_across_threads() == pardo
92+
xxxxxx 2001 Jul 25 simple-4.4G.tar.gz
93+
Added randomBit_th() call for random bits
94+
xxxxxx 2002 Oct 14 simple-4.4H.tar.gz
95+
Created "-DSUNMMAP" alternative node_malloc() for < Solaris 8
96+
xxxxxx 2005 Apr 14 simple-4.4I.tar.gz
97+
Added node_malloc_l for 64-bit machines
98+
xxxxxx 2005 Sep 16 simple-4.4J.tar.gz
99+
Added LINUX64_SMP for building SMP-ONLY on 64-bit Linux machines
100+
101+
2006 Nov 03 swarm-1.0A.tar.gz
102+
New release of SWARM
103+

INSTALL

+229
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,229 @@
1+
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
2+
Foundation, Inc.
3+
4+
This file is free documentation; the Free Software Foundation gives
5+
unlimited permission to copy, distribute and modify it.
6+
7+
Basic Installation
8+
==================
9+
10+
These are generic installation instructions.
11+
12+
The `configure' shell script attempts to guess correct values for
13+
various system-dependent variables used during compilation. It uses
14+
those values to create a `Makefile' in each directory of the package.
15+
It may also create one or more `.h' files containing system-dependent
16+
definitions. Finally, it creates a shell script `config.status' that
17+
you can run in the future to recreate the current configuration, and a
18+
file `config.log' containing compiler output (useful mainly for
19+
debugging `configure').
20+
21+
It can also use an optional file (typically called `config.cache'
22+
and enabled with `--cache-file=config.cache' or simply `-C') that saves
23+
the results of its tests to speed up reconfiguring. (Caching is
24+
disabled by default to prevent problems with accidental use of stale
25+
cache files.)
26+
27+
If you need to do unusual things to compile the package, please try
28+
to figure out how `configure' could check whether to do them, and mail
29+
diffs or instructions to the address given in the `README' so they can
30+
be considered for the next release. If you are using the cache, and at
31+
some point `config.cache' contains results you don't want to keep, you
32+
may remove or edit it.
33+
34+
The file `configure.ac' (or `configure.in') is used to create
35+
`configure' by a program called `autoconf'. You only need
36+
`configure.ac' if you want to change it or regenerate `configure' using
37+
a newer version of `autoconf'.
38+
39+
The simplest way to compile this package is:
40+
41+
1. `cd' to the directory containing the package's source code and type
42+
`./configure' to configure the package for your system. If you're
43+
using `csh' on an old version of System V, you might need to type
44+
`sh ./configure' instead to prevent `csh' from trying to execute
45+
`configure' itself.
46+
47+
Running `configure' takes awhile. While running, it prints some
48+
messages telling which features it is checking for.
49+
50+
2. Type `make' to compile the package.
51+
52+
3. Optionally, type `make check' to run any self-tests that come with
53+
the package.
54+
55+
4. Type `make install' to install the programs and any data files and
56+
documentation.
57+
58+
5. You can remove the program binaries and object files from the
59+
source code directory by typing `make clean'. To also remove the
60+
files that `configure' created (so you can compile the package for
61+
a different kind of computer), type `make distclean'. There is
62+
also a `make maintainer-clean' target, but that is intended mainly
63+
for the package's developers. If you use it, you may have to get
64+
all sorts of other programs in order to regenerate files that came
65+
with the distribution.
66+
67+
Compilers and Options
68+
=====================
69+
70+
Some systems require unusual options for compilation or linking that
71+
the `configure' script does not know about. Run `./configure --help'
72+
for details on some of the pertinent environment variables.
73+
74+
You can give `configure' initial values for configuration parameters
75+
by setting variables in the command line or in the environment. Here
76+
is an example:
77+
78+
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
79+
80+
*Note Defining Variables::, for more details.
81+
82+
Compiling For Multiple Architectures
83+
====================================
84+
85+
You can compile the package for more than one kind of computer at the
86+
same time, by placing the object files for each architecture in their
87+
own directory. To do this, you must use a version of `make' that
88+
supports the `VPATH' variable, such as GNU `make'. `cd' to the
89+
directory where you want the object files and executables to go and run
90+
the `configure' script. `configure' automatically checks for the
91+
source code in the directory that `configure' is in and in `..'.
92+
93+
If you have to use a `make' that does not support the `VPATH'
94+
variable, you have to compile the package for one architecture at a
95+
time in the source code directory. After you have installed the
96+
package for one architecture, use `make distclean' before reconfiguring
97+
for another architecture.
98+
99+
Installation Names
100+
==================
101+
102+
By default, `make install' will install the package's files in
103+
`/usr/local/bin', `/usr/local/man', etc. You can specify an
104+
installation prefix other than `/usr/local' by giving `configure' the
105+
option `--prefix=PATH'.
106+
107+
You can specify separate installation prefixes for
108+
architecture-specific files and architecture-independent files. If you
109+
give `configure' the option `--exec-prefix=PATH', the package will use
110+
PATH as the prefix for installing programs and libraries.
111+
Documentation and other data files will still use the regular prefix.
112+
113+
In addition, if you use an unusual directory layout you can give
114+
options like `--bindir=PATH' to specify different values for particular
115+
kinds of files. Run `configure --help' for a list of the directories
116+
you can set and what kinds of files go in them.
117+
118+
If the package supports it, you can cause programs to be installed
119+
with an extra prefix or suffix on their names by giving `configure' the
120+
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
121+
122+
Optional Features
123+
=================
124+
125+
Some packages pay attention to `--enable-FEATURE' options to
126+
`configure', where FEATURE indicates an optional part of the package.
127+
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
128+
is something like `gnu-as' or `x' (for the X Window System). The
129+
`README' should mention any `--enable-' and `--with-' options that the
130+
package recognizes.
131+
132+
For packages that use the X Window System, `configure' can usually
133+
find the X include and library files automatically, but if it doesn't,
134+
you can use the `configure' options `--x-includes=DIR' and
135+
`--x-libraries=DIR' to specify their locations.
136+
137+
Specifying the System Type
138+
==========================
139+
140+
There may be some features `configure' cannot figure out
141+
automatically, but needs to determine by the type of machine the package
142+
will run on. Usually, assuming the package is built to be run on the
143+
_same_ architectures, `configure' can figure that out, but if it prints
144+
a message saying it cannot guess the machine type, give it the
145+
`--build=TYPE' option. TYPE can either be a short name for the system
146+
type, such as `sun4', or a canonical name which has the form:
147+
148+
CPU-COMPANY-SYSTEM
149+
150+
where SYSTEM can have one of these forms:
151+
152+
OS KERNEL-OS
153+
154+
See the file `config.sub' for the possible values of each field. If
155+
`config.sub' isn't included in this package, then this package doesn't
156+
need to know the machine type.
157+
158+
If you are _building_ compiler tools for cross-compiling, you should
159+
use the `--target=TYPE' option to select the type of system they will
160+
produce code for.
161+
162+
If you want to _use_ a cross compiler, that generates code for a
163+
platform different from the build platform, you should specify the
164+
"host" platform (i.e., that on which the generated programs will
165+
eventually be run) with `--host=TYPE'.
166+
167+
Sharing Defaults
168+
================
169+
170+
If you want to set default values for `configure' scripts to share,
171+
you can create a site shell script called `config.site' that gives
172+
default values for variables like `CC', `cache_file', and `prefix'.
173+
`configure' looks for `PREFIX/share/config.site' if it exists, then
174+
`PREFIX/etc/config.site' if it exists. Or, you can set the
175+
`CONFIG_SITE' environment variable to the location of the site script.
176+
A warning: not all `configure' scripts look for a site script.
177+
178+
Defining Variables
179+
==================
180+
181+
Variables not defined in a site shell script can be set in the
182+
environment passed to `configure'. However, some packages may run
183+
configure again during the build, and the customized values of these
184+
variables may be lost. In order to avoid this problem, you should set
185+
them in the `configure' command line, using `VAR=value'. For example:
186+
187+
./configure CC=/usr/local2/bin/gcc
188+
189+
will cause the specified gcc to be used as the C compiler (unless it is
190+
overridden in the site shell script).
191+
192+
`configure' Invocation
193+
======================
194+
195+
`configure' recognizes the following options to control how it
196+
operates.
197+
198+
`--help'
199+
`-h'
200+
Print a summary of the options to `configure', and exit.
201+
202+
`--version'
203+
`-V'
204+
Print the version of Autoconf used to generate the `configure'
205+
script, and exit.
206+
207+
`--cache-file=FILE'
208+
Enable the cache: use and save the results of the tests in FILE,
209+
traditionally `config.cache'. FILE defaults to `/dev/null' to
210+
disable caching.
211+
212+
`--config-cache'
213+
`-C'
214+
Alias for `--cache-file=config.cache'.
215+
216+
`--quiet'
217+
`--silent'
218+
`-q'
219+
Do not print messages saying which checks are being made. To
220+
suppress all normal output, redirect it to `/dev/null' (any error
221+
messages will still be shown).
222+
223+
`--srcdir=DIR'
224+
Look for the package's source code in directory DIR. Usually
225+
`configure' can determine that directory automatically.
226+
227+
`configure' also accepts some other, not widely useful, options. Run
228+
`configure --help' for more details.
229+

INSTALL-SWARM

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
Linux, FreeBSD, Solaris, AIX:
2+
3+
1. Download the multicore-swarm tar ball.
4+
2. Type tar -xvzf swarm-x.y.tar.gz. Where 'x.y' is the version number. This will create a subdirectory called swarm-x.y . All of swarm's source code will be untarred here.
5+
3. Type in the following commands to get SWARM running.
6+
cd swarm-x.y
7+
./configure This will create the makefile
8+
make This will create the library
9+
make test This will check the library with test routines
10+
4. An executable swarm_test is created in the swarm-x.y/tests directory. Type ./swarm_test to run the test code. -t option can be used to specify the number of threads to be used.
11+
12+
MS Windows:
13+
14+
1.On installation, following 2 folders will be created in swarm-x.y (x.y is the version number) directory:
15+
pthreads:
16+
pthreads/include - requisite pthreads header files
17+
pthreads/lib - dynamic library for pthreads
18+
swarm:
19+
swarm/include - function declarations for SWARM API
20+
swarm/lib - dynamic library for swarm
21+
swarm/tests - test codes
22+
2. The System PATH will automatically be set to point to the dll files swarm.dll and pthreadVC2.dll
23+
3. In the tests folder, double click the VC++ project 'SWARM_Test'
24+
4. Click on Build -> Build Solution to compile. You will be asked to save Swarm_Test. Select Save.
25+
5. Click on Debug -> Start without debugging to Execute.
26+
6. Command line arguments can be specified in Project -> Swarm_Test Properties -> Configuration Properties -> Debugging -> Command arguments. (eg -t <number of threads>).

Makefile.am

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
## Process this file with automake to produce Makefile.in
2+
3+
SUBDIRS = src tests examples
4+
5+
DIST_SUBDIRS = src tests examples
6+
7+
include_HEADERS = swarm_config.h
8+
9+
CLEANFILES = *~
10+
MAINTAINERCLEANDIRS = autom4te.cache
11+
MAINTAINERCLEANFILES = libtool swarm_config.h.in
12+
13+
## use this variable to include non-standard files in the distribution
14+
EXTRA_DIST=autogen.sh

0 commit comments

Comments
 (0)