We may need to wait for the Numenta engineers to awake and answer regarding performance and comparison work. The SP and old TP algorithms have had the most love and attention. The TM port achieved over 50% improvement; But that was from a direct port with no optimizations applied to the C++ code or at the API level. Watching the data flow between the Py and C++, and within the TM C++ code, we can see greater performance gains that can be made. So tricky from my point of view at the moment to answer definitively. Hope that helps, Richard.
On Thu, Sep 17, 2015 at 10:24 AM, Zvika Ashani <[email protected]> wrote: > Thanks Richard it’s much clearer now. So if I understand this correctly, > the current nupic implementation is already using C++ for some of the > algorithms. Is there any ballpark estimate on what performance improvement > is expected once all algorithms are moved into nupic.core? > > Zvika > > > > On Sep 17, 2015, at 12:06 PM, Richard Crowder <[email protected]> wrote: > > PS: As a self-employed HTM researcher I keep an eye on various > implementations of the theory. This presentation from Matt at the Spring > 2015 NYC hackathon describes the state of NuPIC; > https://www.youtube.com/watch?v=grEJxgb3_c8 > > On Thu, Sep 17, 2015 at 9:56 AM, Richard Crowder <[email protected]> wrote: > >> The nupic.core project and it's history can be seen through the current >> Extraction Plan [1]. Some crucial changes made recently make the NuPIC >> repo. only contain Python, relying on the pip install of nupic.bindings to >> access the Core library. These Python SWIG bindings are created in the >> nupic.core repo alongside the building of the NuPIC C++ extension >> libraries. >> NuPIC Core now has two build stages; building a C++11 lib, then building >> SWIG bindings to link Py code with the C++ code,lib,etc. An outstanding >> task is to update the Development Workflow for nupic.core [2]. To include >> aspects of this Wiki page [3] describing the relationship between NuPIC and >> Core. >> >> As for usability, that may be domain/problem specific. I'm only using the >> C++ core algorithms on my community audio work (via a Qt app). But be aware >> that the extraction is ongoing, so aspects of NuPIC may not have equivalent >> C++ implementations. The main algorithms are now in C++ (SP, TM, etc.), but >> not everything.. >> >> Regards, Richard. >> >> 1 https://github.com/numenta/nupic/wiki/nupic.core-Extraction-Plan >> 2 https://github.com/numenta/nupic.core/wiki/Development-Workflow >> 3 https://github.com/numenta/nupic/wiki/NuPIC's-Dependency-on-nupic.core >> >> On Thu, Sep 17, 2015 at 8:19 AM, Zvika Ashani <[email protected]> >> wrote: >> >>> I was not aware of the nupic.core project. What is the status of this >>> and how far is it from something usable? >>> >>> Thanks, >>> Zvika >>> >>> >>> >>> > On Sep 17, 2015, at 6:46 AM, Matthew Taylor <[email protected]> wrote: >>> > >>> > On Wed, Sep 16, 2015 at 11:56 AM, Zvika Ashani <[email protected]> >>> wrote: >>> >> The part about C++ caught my attention… >>> >> Can you elaborate on this? >>> > >>> > Well... here are all his C++ commits: >>> > https://github.com/numenta/nupic.core/commits?author=rcrowder >>> > >>> > --------- >>> > Matt Taylor >>> > OS Community Flag-Bearer >>> > Numenta >>> > >>> >>> >> > >
