https://github.com/opencog/attention
OpenCog Attention Allocation Subsystem
https://github.com/opencog/attention
Last synced: about 1 year ago
JSON representation
OpenCog Attention Allocation Subsystem
- Host: GitHub
- URL: https://github.com/opencog/attention
- Owner: opencog
- License: other
- Created: 2019-08-25T10:54:47.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-09-19T22:54:34.000Z (over 2 years ago)
- Last Synced: 2023-09-20T01:01:07.381Z (over 2 years ago)
- Language: C++
- Homepage:
- Size: 714 KB
- Stars: 10
- Watchers: 15
- Forks: 19
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Attention Allocation
=====================
opencog | singnet
------- | -------
[](https://circleci.com/gh/opencog/attention) | [](https://circleci.com/gh/singnet/attention)
Attention Allocation is an OpenCog subsystem meant to control the
application of processing and memory resources to specific tasks.
The main project site is at http://opencog.org
Overview
--------
Currently implemented: Economic Attention Allocation (ECAN).
Building and Running
--------------------
For platform dependent instruction on dependencies and building the
code, as well as other options for setting up development environments,
more details are found on the [Building Opencog
wiki](http://wiki.opencog.org/wikihome/index.php/Building_OpenCog).
Prerequisites
-------------
To build and run the Attention Allocation subsystem,
the packages listed below are required.
With a few exceptions, most Linux distributions will provide these
packages. Users of Ubuntu may use the dependency
installer at `/scripts/octool`. Users of any version of Linux may
use the Dockerfile to quickly build a container in which OpenCog will
be built and run.
###### cogutil
> Common OpenCog C++ utilities
> http://github.com/opencog/cogutil
> It uses exactly the same build procedure as this package. Be sure
to `sudo make install` at the end.
###### atomspace
> OpenCog Atomspace database and reasoning engine
> http://github.com/opencog/atomspace
> It uses exactly the same build procedure as this package. Be sure
to `sudo make install` at the end.
###### cogserver
> OpenCog CogServer Network Server.
> http://github.com/opencog/cogserver
> It uses exactly the same build procedure as this package. Be sure
to `sudo make install` at the end.
Building Attention Allocation
-----------------------------
Perform the following steps at the shell prompt:
```
cd to project root dir
mkdir build
cd build
cmake ..
make
```
Libraries will be built into subdirectories within build, mirroring
the structure of the source directory root.
Unit tests
----------
To build and run the unit tests, from the `./build` directory enter
(after building opencog as above):
```
make test
```
CMake notes
-----------
Some useful CMake's web sites/pages:
- http://www.cmake.org (main page)
- http://www.cmake.org/Wiki/CMake_Useful_Variables
- http://www.cmake.org/Wiki/CMake_Useful_Variables/Get_Variables_From_CMake_Dashboards
- http://www.cmake.org/Wiki/CMakeMacroAddCxxTest
- http://www.cmake.org/Wiki/CMake_HowToFindInstalledSoftware
The main CMakeLists.txt currently sets -DNDEBUG. This disables Boost
matrix/vector debugging code and safety checks, with the benefit of
making it much faster. Boost sparse matrixes and (dense) vectors are
currently used by ECAN's ImportanceDiffusionAgent. If you use Boost
ublas in other code, it may be a good idea to at least temporarily
unset NDEBUG. Also if the Boost assert.h is used it will be necessary
to unset NDEBUG. Boost ublas is intended to respond to a specific
BOOST_UBLAS_NDEBUG, however this is not available as of the current
Ubuntu standard version (1.34).
-Wno-deprecated is currently enabled by default to avoid a number of
warnings regarding hash_map being deprecated (because the alternative
is still experimental!)