Something went wrong on our end
To find the state of this project's repository at the time of any of these versions, check out the tags.
ChangeLog 9.58 KiB
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