forked from FLAME-HPC/libmboard
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
236 lines (167 loc) · 9.58 KB
/
ChangeLog
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
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
2012-07-20 Shawn Chin <shawn.chin@_NOSPAM_stfc.ac.uk>
* src/*: Added MB_SearchTree_*() routines to store contents of a board
within a k-d tree. This allows fast filtering by parameter ranges.
The implementation allows k-d trees of arbitrary dimensions, but
for now we only expose 2D and 3D variants in the public API.
* include/khash.h: Upgraded khash.h to version 0.2.6
* src/utils/objmap.c: Simplified the objmap module. Direct mapping
and key recycling (experimental) no longer included.
* : Tagged as 0.3.0
2012-07-02 Shawn Chin <shawn.chin@_NOSPAM_stfc.ac.uk>
* src/parallel/env_init.c: srand() now only called in production
mode and not in debug (which is what was meant to happen).
* src/utils/pooled_list.c: Fixed bug in iterator randomisation. There were
cases where the index used to calculate offsets could overflow which
would lead to out-of-bounds memory access.
* src/serial/env_init.c, src/parallel/env_init.c: Output banner now
suppressed in production runs.
* : Tagged as 0.2.2
2009-10-01 Lee-Shawn Chin <shawn.chin@_NOSPAM_stfc.ac.uk>
* include/mb_settings.h, src/utils/settings.c: libmboard can now
read configuration settings from environment variables
* :MBOARD_MEMPOOL_RECYCLE env var can be set to allow message
boards to recycle allocated memory. (default: disabled)
* :MBOARD_MEMPOOL_BLOCKSIZE env var can be set to change the block
size of memory pools. (default: 512 messages)
* :MBOARD_COMM_PROTOCOL env var can be set to change the communication
protocol used for board syncs. (default: HANDSHAKE)
* configure.ac, src/parallel/*.c: renamed --enable-developer config
option to --enable-unsafe-checks.
* src/*/setaccessmode.c: MB_SetAccessMode() routine added to set
access mode of board.
* src/*/setsyncpattern.c: MB_SetSyncPattern() routine added to fine tune
synchronisation pattern of board.
* src/parallel/comm*: New communication protocol implemented to make
use of board access modes and sync patterns to allow better communication
overlap and reduce lock-stepping of processors.
* src/utils/sqlite3.c, include/sqlite3.h: Upgraded sqlite3 to v3.6.18
* : Tagged as 0.2.1
2009-07-20 Lee-Shawn Chin <shawn.chin@_NOSPAM_stfc.ac.uk>
* configure.ac, src/parallel/*.c: Added --enable-developer config
option to enable additional debug level to be used by FLAME
developers. This will include additional run-time checks that
uses MPI routines, which is less portable since they may clash
with the communication thread when used with MPI libraries that
do not support full threading levels.
* src/utis/banner.c: Version banner downsized
* : Tagged as 0.2.0.1
2009-07-02 Lee-Shawn Chin <shawn.chin@_NOSPAM_stfc.ac.uk>
* src/progs/mboard-check-minversion.in: Added script to allow users to
check if the installed libmboard meets a minimum version requirement
* src/utils/avltree.c, include/mb_avltree.h: Added utility to create
search and manipulate an AVL binary search tree
* src/utils/string_map.c, include/mb_string_map.h: Added utility to
keep track of unique strings. Used by MB_IndexMap_Create()
* src/*/indexmap_*: Introduction of the MB_IndexMap_*() routines
* src/*/filter_*: Introduction of the MB_Filter_*() routines
* src/*/function_*: Deprecation of the MB_Function_*() rutines
* src/parallel/comm.c: All communication routines are now asynchronous
and non-blocking
* src/parallel/comm.c: Communication now falls back to full data
replication if message tagging leads to buffers that are larger
than the total board size. Filtering is instead performed by
he recipient
* include/mb_parallel.h, src/parallel/comm.c, src/parallel/create.c,
src/parallel/clear.c: Fixed critical bug where messages were being
duplicated when board synced multiple times.
* configure.ac: Added --enable-warnings and --enable-verbose options
* include/mb_reporting.h: Added macros to print error and warning
messages when --enable-warnings is used during ./configure
* include/mb_reporting.h: Added macros to print info messages when
--enable-verbose is used during ./configure. --enable-verbose also
implies --enable-warnings which prints out error and warning messages
* : Tagged as 0.2.0
2009-05-08 Lee-Shawn Chin <shawn.chin@_NOSPAM_stfc.ac.uk>
* m4/acx_pthread.m4, m4/check_parallel.m4: Added support pthreads-win32.
Necessary when compiling on Windows using MinGW/MSYS (Cygwin has built-
in support for pthreads)
* Makefile.am: Disable automatic running of test after "make test"
* configure.ac, m4/check_coverage, Makefile.am: Added support for coverage
testing. Enabled using --enable-coverage. Executed using "make coverage"
* src/utils/compile_coverage.sh: Added script to gather coverage data into
HTML report using LCOV
* include/mb_commqueue.h, src/parallel/util_commqueue.c: CommQueue now
uses a bi-directional list instead of uthash.h
* src/utils/memlog.c: Replaced uthash usage with khash
* include/uthash.h: Removed from distribution
* include/sqlite3.h, src/utils/sqlite3.c: Upgraded SQLite to version 3.6.14
* README.in: Replaced stubs with actual information :)
* : Tagged as 0.1.6
2008-11-21 Lee-Shawn Chin <shawn.chin@_NOSPAM_stfc.ac.uk>
* src/utils/pooled_list.c: Fixed critical bug in randomisation routine.
* : Tagged as 0.1.5.2-beta
2008-11-14 Lee-Shawn Chin <shawn.chin@_NOSPAM_stfc.ac.uk>
* : Memory logging implemented. Activated using --enable-memlog.
* include/sqlite3.h, src/utils/sqlite3.c: Added sqlite3 files for storing
memory usage.
* configure.ac, Makefile.am, src/utils/Makefile.am: sqlite3 built into
binaries if Memory Logging is enabled.
* src/progs/mboard-parse-memlogdb: Added program to generate graphs from
memlog output. Installed when source configured with --enable-memlog
* src/progs/mboard-config.in: Added script to provide users with required
compile/link options, as well as to query parameters used to configure
and compile the local installation of libmboard.
* m4/utils.m4: Added collection of small utiltity macros.
* src/utils/objmap.c: Improved performance.
* src/utils/pooled_list.c: Improved performance.
* src/*/MB_Iterator_Randomise.c: Faster randomisation.
* m4/check_parallel.m4: Improved portability.
* : Tagged as 0.1.5-beta
2008-08-08 Lee-Shawn Chin <shawn.chin@_NOSPAM_stfc.ac.uk>
* src/utils/*.c, src/serial/*.c: Further removal of checks to errno (missed
out during previous update).
* src/utils/objmap.c, include/mb_objmap.h: ObjectMapper is now thread-safe.
* src/utils/tag_table.c, include mb_tag_table.h: TagTable implemented as
utility to manage message tagging.
* tests/testsuite_tag_table: Unit tests implemented for TagTable utility.
* src/parallel/comm*, includes/*: Communication routines simplified (less
optimised, for now). Better support for varios MPI implementations.
* src/parallel/function_assign.c, src/parallel/comm.c: Message boards can
now be assigned with parameters of different size (however the function
handle must still be the same).
* autogen.sh, example/circles_mb/autogen.sh: Added version checks for
automake and autoconf.
* example/circles_mb/configure.ac: Added option to specify libexpat
installation path.
* include/uthash.h: Upgraded from v1.2 to v1.3 (with minor modifications).
* Makefile.am, tests/Makefile.am: Added make targets for generating
documentation ('make doc', required Doxygen) and running static analysis
on code ('make splint', requires splint).
* configure.ac: Added --enable-memlog option to ./configure
* include/mb_memlog.h, src/utils/memlog.c: Added initial routines for
implementing instrumentation of memory usage (not fully implemented yet)
* : Tagged as 0.1.4-alpha
2008-07-12 Lee-Shawn Chin <shawn.chin@_NOSPAM_stfc.ac.uk>
* configure.ac, m4/*.m4: Implemented better configuration checks for MPI and
Pthreads.
* Makefile.am, */Makefile.am: Updated to match changes in *.m4
* include/*.h, */*.c: Headers (apart from mboard.h and uthash.h) renamed to
mb_*.h to avoid conflicts with existing headers.
* Makefile.am: Only mboard.h and mb_objmap.h are installed.
* src/utils/objmap.c: Renamed map_t type declaration which clashes with
those defined in AIX system header files.
* : Builds and runs fine on bglogin2 (Bluegene/P) - using cc defined
by `mpicc -show`.
* : Builds and runs fine on HPCx (IBM AIX) - tested with gcc and xlc_r
* : Builds and runs fine on HAPU (HP Cluster Platform 4000) - tested with
gcc and pgcc.
* : Builds and runs fine on SCARF (Based on RHEL4.4) - tested with gcc,
icc and pgcc.
* : Tagged as 0.1.3-alpha
2008-06-27 Lee-Shawn Chin <shawn.chin@_NOSPAM_stfc.ac.uk>
* comm.c, tests/testsuite_commroutines/test_cr1.c: update to solve bug with
board->locked status being updated prematurely.
* src/parallel/*.c: removed checks on errno as they sometimes pick up values
from non-blocking MPI routines.
* m4/check_parallel, m4/check_testing: properly define export *_LDFLAGS and
*_LIBS.
* configure.ac, */Makefile.am: now possible to override CFLAGS during 'make'
* example/circles_mb/configure.ac, example/circles_mb/Makefile.am,
m4/check_mboard: updated to reflect changes in main configure.ac and m4/*
* tests/Makefile.am, tests/*/Makefile.am: testsuites now have assertion
enabled, and uses the debug versions of libs.
* : Builds and runs fine on Linux (tested with MPICH & LAM/MPI)
* : Builds and runs fine on Windows via Cygwin (tested with MPICH)
* : Tagged as 0.1.2-alpha
2008-06-06 Lee-Shawn Chin <shawn.chin@_NOSPAM_stfc.ac.uk>
* : First version. Tagged as 0.1.1-alpha