Skip to content

Milkyway-at-home/tao

 
 

Repository files navigation

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)
rapidjson (https://github.com/Tencent/rapidjson)

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

BUGS:
    * none currently known

About

Toolkit for Asynchronous Optimization

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 89.6%
  • PHP 5.8%
  • Python 1.5%
  • C 1.4%
  • CMake 1.3%
  • CSS 0.4%