.. figure:: https://raw.githubusercontent.com/ChrisCummins/clgen/master/docs/assets/logo.png
:alt: CLgen: Deep Learning Program Generator.
:target: http://chriscummins.cc/clgen/
:width: 420 px
:align: center
------
.. centered:: |Documentation Status| |Build Status| |Coverage Status| |Release Version| |License Badge|
**CLgen** is an open source application for generating runnable programs using
deep learning. CLgen *learns* to program using neural networks which model the
semantics and usage from large volumes of program fragments, generating
many-core OpenCL programs that are representative of, but *distinct* from, the
programs it learns from.
Requirements
------------
For **Ubuntu 16.04** or **OS X**, the following command will install the
CLgen requirements automatically:
::
$ curl -s https://raw.githubusercontent.com/ChrisCummins/clgen/0.4.1/install-deps.sh | bash
Note that on Ubuntu, sudo privileges are required to install these requirements
- you may be prompted for your password.
For **other Linux distributions** and older versions of Ubuntu, please check
each for each of the following requirements:
- `Python `_ >= 3.6.
- `Mono `_.
- `clang `_ >= 3.1.
- `GNU Make `_ > 3.79.
- `glibc `_ >= 2.16.
- `libhdf5 `_ >=
1.8.11.
- `libffi `_ >= 3.0.13.
- `zlib `_ >= 1.2.3.4.
- `GNU Readline `_.
- `ncurses `_.
- `git `_.
- `curl `_.
- `wget `_.
- `patch `_.
Optional, but recommended:
- NVIDIA GPU with
`CUDA 8.0 and cuDNN `_.
Installation - Virtualenv
-------------------------
We recommend using a `virtualenv `_
environment to install CLgen. This installs CLgen in its own directory, without
impacting any existing programs on the machine. Installing in a virtualenv
environment does not require sudo privileges.
Create a virtualenv environment in the directory `~/clgen`:
::
$ virtualenv -p python3 ~/clgen
Activate this environment:
::
$ source ~/clgen/bin/activate
Install the latest release of CLgen:
::
# if you have an NVIDIA GPU with CUDA 8.0 and cuDNN:
(clgen)$ curl -s https://raw.githubusercontent.com/ChrisCummins/clgen/0.4.1/install-cuda.sh | bash
# CPU only:
(clgen)$ curl -s https://raw.githubusercontent.com/ChrisCummins/clgen/0.4.1/install-cpu.sh | bash
When you are done using CLgen, deactivate the virtualenv environment:
::
(clgen)$ deactivate
To use CLgen later you will need to activate the virtualenv environment again:
::
$ source ~/clgen/bin/activate
Installation - System-wide
--------------------------
A system-wide install allows any user on the machine to run CLgen without
activating a virtualenv environment. This may update some of the previously
installed Python packages. System-wide installation requires sudo priveledges -
you may be prompted for your password.
Install the latest release of CLgen:
::
# if you have an NVIDIA GPU with CUDA 8.0 and cuDNN:
$ curl -s https://raw.githubusercontent.com/ChrisCummins/clgen/0.4.1/install-cuda.sh | bash
# CPU only:
$ curl -s https://raw.githubusercontent.com/ChrisCummins/clgen/0.4.1/install-cpu.sh | bash
Contents
--------
.. toctree::
installation
api/index
bin/index
versions
license
Indices and tables
------------------
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
.. |Documentation Status| image:: https://img.shields.io/badge/docs-0.4.1-brightgreen.svg?style=flat
:target: http://chriscummins.cc/clgen/
.. |Build Status| image:: https://img.shields.io/travis/ChrisCummins/clgen/master.svg?style=flat
:target: https://travis-ci.org/ChrisCummins/clgen
.. |Coverage Status| image:: https://img.shields.io/coveralls/ChrisCummins/clgen/master.svg?style=flat
:target: https://coveralls.io/github/ChrisCummins/clgen?branch=master
.. |Release Version| image:: https://img.shields.io/badge/release-0.4.1-blue.svg?style=flat
:target: https://github.com/ChrisCummins/clgen/releases
.. |License Badge| image:: https://img.shields.io/badge/license-GNU%20GPL%20v3-blue.svg?style=flat
:target: https://www.gnu.org/licenses/gpl-3.0.en.html