Toolkit for Asynchronous Optimization
C++ PHP Python CMake CSS
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
asynchronous_algorithms
boinc
clustering
cmake/Modules
examples
mpi
php
synchronous_algorithms
util
visualization
.gitignore
.gitmodules
CMakeLists.txt
README

README

This is the Toolkit for Asynchronous Optimization (TAO).

TAO is a set of optimization techniques for use on volunteer computing systems (and is used by the MilkyWay@Home project), as well as high performance computing systems, as well as single process/thread systems.  It also provides database functionality for storing the progress of long running searches, and for checkpointing. When the information about optimization searches is stored in the database, it can also be viewed via a web interface (see the php directory).

TAO is used by multiple projects, which are also hosted on GitHub, and they provide good examples for using this software toolkit:
    Optimization for Breast Tomography - https://github.com/travisdesell/tomography
    Optimization for Hidden Markov Chain Clustering of Cancer Patients - https://github.com/travisdesell/hmmc_clustering
    MilkyWay@Home's server code (which provdes an example of using this on a volunteer computing system) - https://github.com/Milkyway-at-home/milkyway_server

There is also some simple example code for using TAO with and without a database:
    https://github.com/travisdesell/tao/blob/master/examples/standard_benchmarks.cxx
    https://github.com/travisdesell/tao/blob/master/examples/standard_benchmarks_db.cxx

TAO also requires the UNDVC_COMMON code repository (which needs to be checked out and built within the same directory as TAO's parent directory), you can get it here:
    https://github.com/travisdesell/undvc_common

(check out the bootstrap submodule -- only needed if you're using the php webpages)
cd ../../php/bootstrap
git submodule init
git submodule update
git checkout master

mkdir build
cd build
cmake ..
make

Requirements:

undvc_common (make in a similar fashion)
JSON 11 ( https://github.com/dropbox/json11 )

TODO:
    * clean up constructors (use set methods)
    * more detailed comments & documentation

BUGS:
    * none currently known