{ "info": { "author": "Applied Brain Research", "author_email": "info@appliedbrainresearch.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Science/Research", "License :: Free for non-commercial use", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Scientific/Engineering :: Artificial Intelligence" ], "description": "****************************\nOpenCL-based Nengo Simulator\n****************************\n\nThis project is an OpenCL-based simulator for\nbrain models built using `Nengo `_.\nIt can be orders of magnitude faster than the reference simulator\nin ``nengo`` for large models.\n\nUsage\n=====\n\nTo use the ``nengo_ocl`` project's OpenCL simulator,\nbuild a Nengo model as usual,\nbut use ``nengo_ocl.Simulator`` when creating a simulator for your model::\n\n import numpy as np\n import matplotlib.pyplot as plt\n import nengo\n import nengo_ocl\n\n # define the model\n with nengo.Network() as model:\n stim = nengo.Node(np.sin)\n a = nengo.Ensemble(100, 1)\n b = nengo.Ensemble(100, 1)\n nengo.Connection(stim, a)\n nengo.Connection(a, b, function=lambda x: x**2)\n\n probe_a = nengo.Probe(a, synapse=0.01)\n probe_b = nengo.Probe(b, synapse=0.01)\n\n # build and run the model\n with nengo_ocl.Simulator(model) as sim:\n sim.run(10)\n\n # plot the results\n plt.plot(sim.trange(), sim.data[probe_a])\n plt.plot(sim.trange(), sim.data[probe_b])\n plt.show()\n\nIf you are running within ``nengo_gui`` make sure the ``PYOPENCL_CTX``\nenvironment variable has been set. If this variable is not set it will open\nan interactive prompt which will cause ``nengo_gui`` to get stuck during build.\n\nDependencies and Installation\n=============================\n\nThe requirements are the same as Nengo, with the additional Python packages\n``mako`` and ``pyopencl`` (where the latter requires installing OpenCL).\n\nGeneral:\n\n* Python 2.7+ or Python 3.3+ (same as Nengo)\n* One or more OpenCL implementations (test with e.g. PyOpenCl)\n\nA working installation of OpenCL is the most difficult\npart of installing Nengo OCL. See below for more details\non how to install OpenCL.\n\nPython packages:\n\n* NumPy\n* nengo\n* mako\n* PyOpenCL\n\nIn the ideal case, all of the Python dependencies\nwill be automatically installed when installing ``nengo_ocl`` with\n\n.. code-block:: bash\n\n pip install nengo-ocl\n\nIf that doesn't work, then do a developer install\nto figure out what's going wrong.\n\nDeveloper Installation\n----------------------\n\nFirst, ``pip install nengo``.\nFor best performance, first make sure a fast version of Numpy is installed\nby following the instructions in the\n`Nengo README `_.\n\nThis repository can then be installed with:\n\n.. code-block:: bash\n\n git clone https://github.com/nengo/nengo-ocl.git\n cd nengo-ocl\n python setup.py develop --user\n\nIf you\u2019re using a ``virtualenv`` (recommended!)\nthen you can omit the ``--user`` flag.\nCheck the output to make sure everything installed correctly.\nSome dependencies (e.g. ``pyopencl``) may require manual installation.\n\nInstalling OpenCL\n=================\n\nHow you install OpenCL is dependent on your hardware and operating system.\nA good resource for various cases is found in the PyOpenCL documentation:\n\n* `Installing PyOpenCL on Windows `_\n* `Installing PyOpenCL on Mac OS X `_\n* `Installing PyOpenCL on Linux `_,\n and a `more detailed guide `_\n\nBelow are instructions that have worked for the\nNengo OCL developers at one point in time.\n\nAMD OCL on Debian Unstable\n--------------------------\n\nOn Debian unstable (sid) there are packages in non-free and contrib\nto install AMD's OCL implementation easily.\nActually, the easiest thing would be to apt-get install\n`python-pyopencl `_.\nBut if you're using a virtual environment, you can\n``sudo apt-get install opencl-headers libboost-python-dev amd-opencl-icd amd-libopencl1``\nand then ``pip install pyopencl``.\n\nNvidia OCL on Debian/Ubuntu Linux\n---------------------------------\n\nOn Debian unstable (sid) there are packages\nfor installing the Nvidia OpenCL implementation as well.\n\n.. code-block:: bash\n\n sudo apt-get install nvidia-opencl-common nvidia-libopencl1\n\nEnsure that the Nvidia driver version matches the OpenCL library version.\nYou can check the Nvidia driver version by running ``nvidia-smi`` in the\ncommand line. You can find the OpenCL library version by looking at the\nlibnvidia-opencl.so.XXX.XX file in the ``/usr/lib/x86_64-linux-gnu/`` folder.\n\nIntel OCL on Debian/Ubuntu Linux\n--------------------------------\n\nThe Intel SDK for OpenCL is no longer available. Intel OpenCL drivers\ncan be found `on Intel's website `_.\nSee `the PyOpenCL wiki `_\nfor instructions.\n\nRunning Tests\n=============\n\nFrom the ``nengo-ocl`` source directory, run:\n\n.. code-block:: bash\n\n py.test nengo_ocl/tests --pyargs nengo -v\n\nThis will run the tests using the default context. If you wish to use another\ncontext, configure it with the ``PYOPENCL_CTX`` environment variable\n(run the Python command ``pyopencl.create_some_context()`` for more info).\n\n***************\nRelease History\n***************\n\n.. Changelog entries should follow this format:\n\n version (release date)\n ======================\n\n **section**\n\n - One-line description of change (link to Github issue/PR)\n\n.. Changes should be organized in one of several sections:\n\n - Features\n - Improvements\n - Bugfixes\n - Documentation\n\n1.4.0 (July 4, 2018)\n====================\n\n**Improvements**\n\n- Supports recent Nengo versions, up to 2.8.0.\n- Supports the new ``SpikingRectifiedLinear`` neuron type.\n\n\n1.3.0 (October 6, 2017)\n=======================\n\n**Improvements**\n\n- Supports recent Nengo versions, up to 2.6.0.\n\n**Bugfixes**\n\n- Fixed an issue in which stochastic processes would not be\n fully reset on simulator reset.\n- Fixed an issue in which building a model multiple times\n could result in old probe data persisting.\n\n1.2.0 (February 23, 2017)\n=========================\n\n**Improvements**\n\n- Supports all Nengo versions from 2.1.2 to 2.3.1.\n- ``nengo_ocl.Simulator`` is no longer a subclass of ``nengo.Simulator``,\n reducing the chances that Nengo OCL will be affected by changes in Nengo.\n\n1.1.0 (November 30, 2016)\n=========================\n\n**Features**\n\n- Added support for ``RectifiedLinear`` and ``Sigmoid`` neuron types.\n- Added support for arbitrary ``Process`` subclasses. Unlike the processes\n that are explicitly supported like ``WhiteSignal``, these processes\n may not fully utilize the OpenCL device.\n- Added support for applying synaptic filters to matrices,\n which is commonly done when probing connection weights.\n\n**Improvements**\n\n- Supports all Nengo versions from 2.1.2 to 2.3.0.\n- The ``LIF`` model is now more accurate, and matches the implementation\n in Nengo (see `Nengo#975 `_).\n- Several operators have been optimized and should now run faster.\n\n**Bugfixes**\n\n- Fixed compatibility issues with Python 3,\n and certain versions of NumPy and Nengo.\n\n1.0.0 (June 6, 2016)\n====================\n\nRelease in support of Nengo 2.1.0. Since Nengo no longer supports Python 2.6,\nwe now support Python 2.7+ and 3.3+.\n\n**Features**\n\n- Added support for ``Process`` class and subclasses, new in Nengo in 2.1.0.\n We specifically support the ``WhiteNoise``, ``WhiteSignal``, and\n ``PresentInput`` processes. We also support the ``Conv2d`` and ``Pool2d``\n processes in ``nengo_extras``.\n- ``LinearFilter`` is now fully supported, allowing for general synapses.\n\n**Improvements**\n\n- The Numpy simulator in this project (``sim_npy``) has been phased out and\n combined with the OCL simulator (``sim_ocl``). It is now called ``Simulator``\n and resides in ``simulator.py``.\n- Operator scheduling (i.e. the planner) is much faster. We still have only\n one planner (``greedy_planner``), which now resides in ``planners.py``.\n- Many small speed improvements, including a number of cases where data was\n needlessly copied off the device to check sizes, dtypes, etc.\n\n**Documentation**\n\n- Updated examples to use up-to-date Nengo syntax.\n\n0.1.0 (June 8, 2015)\n====================\n\nInitial release of Nengo OpenCL!\nSupports Nengo 2.0.x on Python 2.6+ and 3.3+.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nengo/nengo-ocl", "keywords": "", "license": "Free for non-commercial use", "maintainer": "", "maintainer_email": "", "name": "nengo-ocl", "package_url": "https://pypi.org/project/nengo-ocl/", "platform": "", "project_url": "https://pypi.org/project/nengo-ocl/", "project_urls": { "Homepage": "https://github.com/nengo/nengo-ocl" }, "release_url": "https://pypi.org/project/nengo-ocl/1.4.0/", "requires_dist": [ "mako", "pyopencl", "nengo" ], "requires_python": "", "summary": "OpenCL-backed neural simulations using the Neural Engineering Framework", "version": "1.4.0" }, "last_serial": 4031364, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "72f1c410b1411c5cc0e065f49cd7accb", "sha256": "70655965a14987492917fff9359f4f40defae9d7e32890134898b0bca8628253" }, "downloads": -1, "filename": "nengo-ocl-0.1.0.tar.gz", "has_sig": false, "md5_digest": "72f1c410b1411c5cc0e065f49cd7accb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 65981, "upload_time": "2018-03-28T15:08:05", "url": "https://files.pythonhosted.org/packages/86/9c/b2bc065271f1ed16915247840fe8d00da1ad7dbb039367c49903cfa1e861/nengo-ocl-0.1.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "42dcfd8629ad49c9e0e94b659a6d75f3", "sha256": "bbddae325f1b5d06a61eb112bc5e9a2da94a3bb529f44942d1f32f4058297ebc" }, "downloads": -1, "filename": "nengo-ocl-1.0.0.tar.gz", "has_sig": false, "md5_digest": "42dcfd8629ad49c9e0e94b659a6d75f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 71245, "upload_time": "2018-03-28T15:08:59", "url": "https://files.pythonhosted.org/packages/8a/33/e8cd7d194bf6e9a3dff37add421fa5e17d8c6cf88596de2b96eeac189dbd/nengo-ocl-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "56946a53afd9bc808b59a9f673c4deb0", "sha256": "afc6d59229cce9f11c3261ba9c82dc5042d8148db584eaee6dc5385f1f109376" }, "downloads": -1, "filename": "nengo-ocl-1.1.0.tar.gz", "has_sig": false, "md5_digest": "56946a53afd9bc808b59a9f673c4deb0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73542, "upload_time": "2018-03-28T15:09:37", "url": "https://files.pythonhosted.org/packages/b9/8b/e5904d8abe202cd96560fab3bbee9bf96b3ae53877671087bfdb6f53a44a/nengo-ocl-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "b39a597f302f020227b1fec5b6b56f60", "sha256": "b65b74fb3e76dd9ea4c203619cbece99f3060daee01581170d2ab72a5fd2caf5" }, "downloads": -1, "filename": "nengo_ocl-1.2.0-1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b39a597f302f020227b1fec5b6b56f60", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 72192, "upload_time": "2018-03-28T15:10:38", "url": "https://files.pythonhosted.org/packages/4f/e8/581c7198fa0ffe37134f1912955e7074332256c52182b403a24db50ccaf6/nengo_ocl-1.2.0-1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b7d40220805d1e66bc7660a728541da9", "sha256": "89c72a13fa50c02d0ccd460144f507546822f38ac56cdb150c6b527ace7d973c" }, "downloads": -1, "filename": "nengo-ocl-1.2.0.tar.gz", "has_sig": false, "md5_digest": "b7d40220805d1e66bc7660a728541da9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69621, "upload_time": "2018-03-28T15:10:34", "url": "https://files.pythonhosted.org/packages/ca/58/bf13d62737713b11c12ed40ab44ce37c6cf54e6fdbf0423be10e07a8cdff/nengo-ocl-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "c7bd2abd28e253c73109154ebbec0c30", "sha256": "bf08761b70613ad0e9c818dc5b9aa5975e89a4484f5904cc105825a65ae8b5e6" }, "downloads": -1, "filename": "nengo_ocl-1.3.0-1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c7bd2abd28e253c73109154ebbec0c30", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 73633, "upload_time": "2018-03-28T15:11:54", "url": "https://files.pythonhosted.org/packages/92/78/c492f99aff012e49dafdb6de829621accb6a2f4c45f70ac6c2bc2feca827/nengo_ocl-1.3.0-1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2dfd0c12ac290b5c69e716fac73056be", "sha256": "04103b2296eff9aa93576d12e795656fea95f5390b5475893ddb825e8d877799" }, "downloads": -1, "filename": "nengo-ocl-1.3.0.tar.gz", "has_sig": false, "md5_digest": "2dfd0c12ac290b5c69e716fac73056be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73279, "upload_time": "2018-03-28T15:11:49", "url": "https://files.pythonhosted.org/packages/8e/cd/ef9bb90d9b2c962dc4cec3896d060018c0d21b79f5ecfcaee43cef472c7e/nengo-ocl-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "b216c8d70ed0666262adae56bacff217", "sha256": "17e6e6f7921e0151bf53dc8ee4e668706419d4a96c8addadb8104ae68b10138c" }, "downloads": -1, "filename": "nengo_ocl-1.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b216c8d70ed0666262adae56bacff217", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 74006, "upload_time": "2018-07-05T00:09:27", "url": "https://files.pythonhosted.org/packages/df/96/aa451055d394239c7bdaf06ea05dcea0fde5ad70929a07acf50280140d1b/nengo_ocl-1.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3acedab0722af61c6a694a7b677715c8", "sha256": "6faaf578add383b47297287a777fe951466868ec1169446d94337c3031627337" }, "downloads": -1, "filename": "nengo-ocl-1.4.0.tar.gz", "has_sig": false, "md5_digest": "3acedab0722af61c6a694a7b677715c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73731, "upload_time": "2018-07-05T00:09:37", "url": "https://files.pythonhosted.org/packages/7e/8b/3c4868f8e5f7cc32e086cd2acd14ce785640cdeaed34b3da11266efd189c/nengo-ocl-1.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b216c8d70ed0666262adae56bacff217", "sha256": "17e6e6f7921e0151bf53dc8ee4e668706419d4a96c8addadb8104ae68b10138c" }, "downloads": -1, "filename": "nengo_ocl-1.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b216c8d70ed0666262adae56bacff217", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 74006, "upload_time": "2018-07-05T00:09:27", "url": "https://files.pythonhosted.org/packages/df/96/aa451055d394239c7bdaf06ea05dcea0fde5ad70929a07acf50280140d1b/nengo_ocl-1.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3acedab0722af61c6a694a7b677715c8", "sha256": "6faaf578add383b47297287a777fe951466868ec1169446d94337c3031627337" }, "downloads": -1, "filename": "nengo-ocl-1.4.0.tar.gz", "has_sig": false, "md5_digest": "3acedab0722af61c6a694a7b677715c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73731, "upload_time": "2018-07-05T00:09:37", "url": "https://files.pythonhosted.org/packages/7e/8b/3c4868f8e5f7cc32e086cd2acd14ce785640cdeaed34b3da11266efd189c/nengo-ocl-1.4.0.tar.gz" } ] }