forked from FLAME-HPC/libmboard
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.in
162 lines (105 loc) · 5.64 KB
/
README.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
MESSAGE BOARD LIBRARY (@PACKAGE_NAME@ Release @PACKAGE_VERSION@)
The Message Board Library (@PACKAGE_NAME@) is a data management and communication
library developed for multi-agent simulations generated using the FLAME
framework.
As agents only interact with its environment (and each other) via messages,
the Message Board library serves as a means of achieving parallelisation.
Agents can be farmed out across multiple processors and simulated
concurrently, while a coherent simulation is maintained through a unified
view of the distributed Message Boards.
Synchronisation of the message boards are non-blocking as they are performed
on a separate communication thread, allowing much of the communication time
to be overlapped with computation.
-------------------------------------------------------------------------------
Copyright (c) 2007-2012 STFC Rutherford Appleton Laboratory
If you have any problems or enquiries, you can contact the
library maintainer at <@PACKAGE_BUGREPORT@>
===============================================================================
Installing from a distribution file
-------------------------------------------------------------------------------
##### Requirements: #####
You will need the following:
* a C compiler, e.g. GCC
* GNU Make
* libtool
* Doxygen (optional, to generate documentation)
- available from http://www.doxygen.org
To compile the parallel version of the library, you will also need:
* An MPI Library, e.g. MPICH
- available from http://www.mcs.anl.gov/research/projects/mpich2/
* Support for pthreads
- see http://en.wikipedia.org/wiki/POSIX_Threads
To compile the unit tests, you will also need:
* CUnit
- available from http://cunit.sourceforge.net/
##### Installation: #####
1. Configure the source using the ./configure script. This will prepare the
source code and check that all pre-requisites are met.
[root@stfc]# ./configure
-- Changing installation directory --
By default, the library will be configure for installation within your
system (typically in /usr/local for Linux systems). This will allow users
to link to the library without having to specify the library location.
This however would require you to have administrator privileges (root).
If you wish to change the installation destination (this may be necessary
if you do not have root access, of if you wish to maintain multiple
versions of the library), you can use the --prefix option to specify an
alternative installation location.
[lsc@stfc]$ ./configure --prefix=/home/lsc/build/libmboard
-- Disabling some components --
You can disable the inclusion of unit tests (if you do not have CUnit)
installed by including the --disable-tests option.
You can also disable the compilation of parallel librarys (if you do not
have pthreads and MPI support) by using the --disable-paralle option.
-- More options --
For more configuration options, run "./configure --help".
2. Once the configuration is successful, you can compile and install the
library.
[root@stfc]# make
[root@stfc]# make install
For more details on installation, see the 'INSTALL' file.
##### Using the library: #####
For information on how to use the library, view the User Manual. The manual
can be generated by running "make doc".
You can also browse the User Manual online at:
http://www.softeng.cse.clrc.ac.uk/libmboard/
##### Runing unit tests #####
Compile the tests using "make test". Four tests binaries will be produced,
each testing different aspects of the library.
* ./tests/run_test_utils : Test utility code used by both serial and
parallel modules
* ./tests/run_test_serial : Test serial libmboard API
* ./tests/run_test_parallel_utils : Test utility code used only by the
parallel modules
* ./tests/run_test_parallel : Test parallel libmboard API
You will need to run the parallel tests using your standard MPI job launcher.
##### Performing Test Coverage analysis #####
Configure the package using --enable-coverage, and compile the code using
the "coverage" target
[lsc@stfc]$ ./configure --enable-coverage
[lsc@stfc]$ make coverage
If the code compiles and the tests run successfully, the coverage report
will be available in the ./coverage_html directory. Load the index.html
file in your favourite browser to view the report. Example:
[lsc@stfc]$ firefox ./coverage_html/index.html
When done, you can clean up your source directives by running "make vclean".
===============================================================================
++ Installing from Subversion (developer's version) ++
-------------------------------------------------------------------------------
##### Requirements: #####
Apart from the requirements listed above, you will also need:
* GNU Autoconf (version >= 2.56)
* GNU Automake (version >= 1.8)
##### Bootstrapping: #####
Before you can configure and install the project, you will first need to
process the pristine source through GNU Autotools. This can be done by running
the following command:
./autogen.sh
Upon successful bootstrapping, proceed by following the installation
instructions above.
##### Creating Distributions: #####
From the developer's source tree, you can generate a distribution version by
running the following command:
./create_distribution.sh
-------------------------------------------------------------------------------
$Id$