Welcome to the Ogma OgmaNeo2 library, C++ library that contains an implementation of Sparse Predictive Hierarchies.
For an introduction to how the algorithm works, see the presentation.
Python bindings are available here (use the matching branch name).
There are also two depcrecated versions, OgmaNeo1 and EOgmaNeo. Please use this version of OgmaNeo (OgmaNeo2, this repository) if possible.
Version 3.1+ of CMake is required when building the library.
OpenCL (Open Compute Language, version 1.2 and upwards) is used to compile, upload and run kernel code on CPU and GPU devices. An OpenCL SDK, with system drivers that support OpenCL 1.2, is required to build and use the OgmaNeo library.
The open source POCL package (Portable Computing Language) can be used for devices that don't have OpenCL vendor driver support.
The Khronos Group's cl2.hpp header file is required when building OgmaNeo. It needs to be placed alongside your OpenCL header files. The header file can be downloaded from Github https://github.com/KhronosGroup/OpenCL-CLHPP/releases
The following commands can be used to build the OgmaNeo library:
git clone https://github.com/ogmacorp/OgmaNeo2.git
cd OgmaNeo2
mkdir build
cd build
cmake ..
make
make install
The cmake
command can be passed a CMAKE_INSTALL_PREFIX
to determine where to install the library and header files.
The BUILD_SHARED_LIBS
boolean cmake option can be used to create dynamic/shared object library (default is to create a static library). If on Linux or when using the bindings, it's recommended to add -DBUILD_SHARED_LIBS=ON
.
make install
can be run to install the library. make uninstall
can be used to uninstall the library.
On Windows systems it is recommended to use cmake-gui
to define which generator to use and specify optional build parameters, such as CMAKE_INSTALL_PREFIX
.
Refer to the CONTRIBUTING.md file for information on making contributions to OgmaNeo.
The work in this repository is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. See the OGMANEO_LICENSE.md and LICENSE.md file for further information.
Contact Ogma via licenses@ogmacorp.com to discuss commercial use and licensing options.
OgmaNeo Copyright (c) 2016-2019 Ogma Intelligent Systems Corp. All rights reserved.