-
Notifications
You must be signed in to change notification settings - Fork 144
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Update RELEASE.md * Update docs, poetry, templates Signed-off-by: Marcus G K Williams <Marcus G K Williams [email protected]>
- Loading branch information
Showing
6 changed files
with
79 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,34 +1,69 @@ | ||
# Release 0.1.0 | ||
# Release 0.3.0 | ||
|
||
This first release of Lava introduces its high-level, hardware-agnostic API for developing algorithms of distributed, parallel, and asynchronous processes that communicate with each other via message-passing over channels with each other. The API is released together with the Lava compiler and runtime which together form the Magma layer of the Lava software framework. | ||
Lava 0.3.0 includes bug fixes, updated documentation, improved error handling, refactoring of the Lava Runtime and support for sigma delta neuron enconding and decoding. | ||
|
||
Our initial version of Magma allows you to familiarize yourself with the Lava user interface and to build first algorithms in Python that can be executed on CPU without requiring access to physical or cloud based Loihi resources. | ||
## Features and Improvements | ||
|
||
# New Features and Improvements | ||
* Added sigma delta neuron enconding and decoding support ([PR #180](https://github.com/lava-nc/lava/pull/180), [Issue #179](https://github.com/lava-nc/lava/issues/179)) | ||
* Implementation of ReadVar and ResetVar IO process ([PR #156](https://github.com/lava-nc/lava/pull/156), [Issue #155](https://github.com/lava-nc/lava/issues/155)) | ||
* Added Runtime handling of exceptions occuring in ProcessModels and the Runtime now returns exeception stack traces ([PR #135](https://github.com/lava-nc/lava/pull/135), [Issue #83](https://github.com/lava-nc/lava/issues/83)) | ||
* Virtual ports for reshaping and transposing (permuting) are now supported. ([PR #187](https://github.com/lava-nc/lava/pull/187), [Issue #185](https://github.com/lava-nc/lava/issues/185), [PR #195](https://github.com/lava-nc/lava/pull/195), [Issue #194](https://github.com/lava-nc/lava/issues/194)) | ||
* A Ternary-LIF neuron model was added to the process library. This new variant supports both positive and negative threshold for processing of signed signals ([PR #151](https://github.com/lava-nc/lava/pull/151), [Issue #150](https://github.com/lava-nc/lava/issues/150)) | ||
* Refactored runtime to reduce the number of channels used for communication([PR #157](https://github.com/lava-nc/lava/pull/157), [Issue #86](https://github.com/lava-nc/lava/issues/86)) | ||
* Refactored Runtime to follow a state machine model and refactored ProcessModels to use command design pattern, implemented PAUSE and RUN CONTINOUS ([PR #180](https://github.com/lava-nc/lava/pull/171), [Issue #86](https://github.com/lava-nc/lava/issues/86), [Issue #52](https://github.com/lava-nc/lava/issues/53)) | ||
* Refactored builder to its own package ([PR #170](https://github.com/lava-nc/lava/pull/170), [Issue #169](https://github.com/lava-nc/lava/issues/169)) | ||
* Refactored PyPorts implementation to fix incomplete PyPort hierarchy ([PR #131](https://github.com/lava-nc/lava/pull/131), [Issue #84](https://github.com/lava-nc/lava/issues/84)) | ||
* Added improvements to the MNIST tutorial ([PR #147](https://github.com/lava-nc/lava/pull/147), [Issue #146](https://github.com/lava-nc/lava/issues/146)) | ||
* A standardized template is now in use on new Pull Requests and Issues ([PR #140](https://github.com/lava-nc/lava/pull/140)) | ||
* Support added for editable install ([PR #93](https://github.com/lava-nc/lava/pull/93), [Issue #19](https://github.com/lava-nc/lava/issues/19)) | ||
* Improved runtime documentation ([PR #167](https://github.com/lava-nc/lava/pull/167)) | ||
|
||
* New Lava API to build networks of interacting Lava processes | ||
* New Lava Compiler to map Lava processes to executable Python code for CPU execution (support for Intel Loihi will follow) | ||
* New Lava Runtime to execute Lave processes | ||
* A range of fundamental tutorials illustrating the basic concepts of Lava | ||
## Bug Fixes and Other Changes | ||
* Fixed multiple Monitor related issues ([PR #128](https://github.com/lava-nc/lava/pull/128), [Issue #103](https://github.com/lava-nc/lava/issues/103), [Issue #104](https://github.com/lava-nc/lava/issues/104), [Issue #116](https://github.com/lava-nc/lava/issues/116), [Issue #127](https://github.com/lava-nc/lava/issues/127)) | ||
* Fixed packaging issue regarding the dataloader for MNIST ([PR #133](https://github.com/lava-nc/lava/pull/133)) | ||
* Fixed multiprocessing bug by checking process lineage before join ([PR #177](https://github.com/lava-nc/lava/pull/177), [Issue #176](https://github.com/lava-nc/lava/issues/176)) | ||
* Fixed priority of channel commands in model ([PR #190](https://github.com/lava-nc/lava/pull/190), [Issue #186](https://github.com/lava-nc/lava/issues/186)) | ||
* Fixed RefPort time step handling ([PR #205](https://github.com/lava-nc/lava/pull/205), [Issue #204](https://github.com/lava-nc/lava/issues/204)) | ||
|
||
# Bug Fixes and Other Changes | ||
## Known Issues | ||
* No support for Intel Loihi | ||
* CSP channels process communication, implemented with Python multiprocessing, needs improvement to reduce the overhead from inter-process communication to approach native execution speeds of similar implementations without CSP channel overhead | ||
* Virtual ports for concatenation are not supported | ||
* Joining and forking of virtual ports is not supported | ||
* A Monitor process cannot monitor more than one Var/InPort of a process, as a result multi-var probing with a singular Monitor process is not supported | ||
* Limited API documentation | ||
|
||
* This is the first release of Lava. No bug fixes or other changes | ||
## What's Changed | ||
* Fixing multiple small issues of the Monitor proc by @elvinhajizada in https://github.com/lava-nc/lava/pull/128 | ||
* GitHub Issue/Pull request template by @mgkwill in https://github.com/lava-nc/lava/pull/140 | ||
* Fixing MNIST dataloader by @tihbe in https://github.com/lava-nc/lava/pull/133 | ||
* Runtime error handling by @PhilippPlank in https://github.com/lava-nc/lava/pull/135 | ||
* Reduced the number of channels between service and process (#1) by @ysingh7 in https://github.com/lava-nc/lava/pull/157 | ||
* TernaryLIF and refactoring of LIF to inherit from AbstractLIF by @srrisbud in https://github.com/lava-nc/lava/pull/151 | ||
* Proc_params for communicating arbitrary object between process and process model by @bamsumit in https://github.com/lava-nc/lava/pull/162 | ||
* Support editable install by @matham in https://github.com/lava-nc/lava/pull/93 | ||
* Implementation of ReadVar and ResetVar IO process and bugfixes for LIF, Dense and Conv processes by @bamsumit in https://github.com/lava-nc/lava/pull/156 | ||
* Refactor builder to module by @mgkwill in https://github.com/lava-nc/lava/pull/170 | ||
* Use unittest ci by @mgkwill in https://github.com/lava-nc/lava/pull/173 | ||
* Improve mnist tutorial by @srrisbud in https://github.com/lava-nc/lava/pull/147 | ||
* Multiproc bug by @mgkwill in https://github.com/lava-nc/lava/pull/177 | ||
* Refactoring py/ports by @PhilippPlank in https://github.com/lava-nc/lava/pull/131 | ||
* Adds runtime documentation by @joyeshmishra in https://github.com/lava-nc/lava/pull/167 | ||
* Implementation of Pause and Run Continuous with refactoring of Runtime by @ysingh7 in https://github.com/lava-nc/lava/pull/171 | ||
* Ref port debug by @PhilippPlank in https://github.com/lava-nc/lava/pull/183 | ||
* Sigma delta neuron, encoding and decoding support by @bamsumit in https://github.com/lava-nc/lava/pull/180 | ||
* Add NxSDKRuntimeService by @mgkwill in https://github.com/lava-nc/lava/pull/182 | ||
* Partial implementation of virtual ports for PyProcModels by @mathisrichter in https://github.com/lava-nc/lava/pull/187 | ||
* Remove old runtime_service.py by @mgkwill in https://github.com/lava-nc/lava/pull/192 | ||
* Fixing priority of channel commands in model by @PhilippPlank in https://github.com/lava-nc/lava/pull/190 | ||
* Virtual ports between RefPorts and VarPorts by @mathisrichter in https://github.com/lava-nc/lava/pull/195 | ||
* RefPort's sometimes handled a time step late by @PhilippPlank in https://github.com/lava-nc/lava/pull/205 | ||
* Fixed reset timing offset by @bamsumit in https://github.com/lava-nc/lava/pull/207 | ||
* Update README.md by @mgkwill in https://github.com/lava-nc/lava/pull/202 | ||
|
||
# Thanks to our Contributors | ||
## New Contributors | ||
* @tihbe made their first contribution in https://github.com/lava-nc/lava/pull/133 | ||
* @ysingh7 made their first contribution in https://github.com/lava-nc/lava/pull/157 | ||
* @matham made their first contribution in https://github.com/lava-nc/lava/pull/93 | ||
|
||
@GaboFGuerra, @joyeshmishra, @PhilippPlank, @drager-intel, @mathisrichter, @srrisbud, @ysingh7, @phstratmann, @mgkwill, @awintel | ||
|
||
# Breaking Changes | ||
|
||
* This is the first release of Lava. No breaking or other changes. | ||
|
||
# Known Issues | ||
|
||
* No support for Intel Loihi yet | ||
* Multiprocessing and channel-based communication not very performant yet | ||
* Virtual ports for reshaping and concatenation are not supported yet | ||
* No support for direct memory access via RefPorts yet | ||
* Connectivity from one to many or from many to one port not supported yet | ||
* No support for live state monitoring yet | ||
* Still limited API documentation | ||
**Full Changelog**: https://github.com/lava-nc/lava/compare/v0.2.0...v0.3.0 |
Submodule docs
updated
17 files
+19 −19 | .github/workflows/ci-build.yml | |
+0 −9 | README.md | |
+0 −35 | build.py | |
+19 −9 | developer_guide.rst | |
+21 −1 | dl.rst | |
+50 −28 | index.rst | |
+28 −0 | lava-lib-dl/netx/blocks/blocks.rst | |
+7 −0 | lava-lib-dl/netx/blocks/modules.rst | |
+5 −0 | lava-lib-dl/netx/hdf5.rst | |
+14 −2 | lava-lib-dl/netx/index.rst | |
+5 −0 | lava-lib-dl/netx/utils.rst | |
+5 −0 | lava-lib-dnf/index.rst | |
+1 −0 | lava_api_documentation.rst | |
+2,363 −0 | poetry.lock | |
+26 −0 | pyproject.toml | |
+0 −5 | requirements.txt | |
+28 −3 | sync_notebook.py |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,7 +15,7 @@ repository = "https://github.com/lava-nc/lava" | |
authors = [ | ||
"Intel's Neuromorphic Computing Lab and the open source community <[email protected]>" | ||
] | ||
license = "Lava uses multiple licenses is licensed under BSD-3-Clause or LGPL-2.1-or-later" | ||
license = "Lava uses multiple licenses and is licensed under BSD-3-Clause or LGPL-2.1-or-later" | ||
keywords = [ | ||
"neuromorphic", | ||
"ai", | ||
|
@@ -67,7 +67,7 @@ flake8-mutable = "^1.2.0" | |
flake8-pytest-style = "^1.6.0" | ||
flake8-spellcheck = "^0.25.0" | ||
flakeheaven = "^0.11.1" | ||
pep8-naming = "^0.11.1" | ||
pep8-naming = "^0.12.1" | ||
poetry = "^1.1.13" | ||
pytest = "^7.0.1" | ||
pytest-cov = "^3.0.0" | ||
|