Skip to content
This repository has been archived by the owner on Sep 1, 2023. It is now read-only.

Optimize Connections data structure #233

Closed
2 tasks
Tracked by #28
chetan51 opened this issue Nov 21, 2014 · 3 comments
Closed
2 tasks
Tracked by #28

Optimize Connections data structure #233

chetan51 opened this issue Nov 21, 2014 · 3 comments

Comments

@chetan51
Copy link
Contributor

Play with the following:

  • Use 1 byte for permanence, instead of 32 bytes
  • Fix connected permanence to 0.5, and only check most significant bit when checking if connected

Profile and optimize.

edit: Part of #7

@breznak
Copy link
Member

breznak commented Dec 31, 2014

@chetan51 or even 1bit - std::bitset or std::vector<bool> with trickery. https://stackoverflow.com/questions/3806469/bit-array-in-c

On a second thought, could this collide with SSE which need some sort of alignment (to 16B? )?

Also, Connections is used only for temporal memory, or also shared for SP/TP? (or what would be their equivalent data structures?)

@rhyolight rhyolight modified the milestones: 0.3.0, 0.2.0 Jan 21, 2015
@rhyolight rhyolight modified the milestones: 0.4.0, 0.3.0 Feb 21, 2015
@rcrowder
Copy link
Contributor

I like this idea. 16 bit fixed point for Permanence sounds like it will be enough to cover range of permanence values. And top bit checking falls out of the FP math 😄 Looks like a quick thing to try in the TM/Connections class(es).

@rhyolight rhyolight modified the milestones: 0.6.0: features, 1.1.0: Future Development Mar 30, 2015
@rhyolight
Copy link
Member

Please review this issue

This issue needs to be reviewed by the original author or another contributor for applicability to the current codebase. The issue might be obsolete or need updating to match current standards and practices. If the issue is out of date, please close. Otherwise please leave a comment to justify its continuing existence. It may be closed in the future if no further activity is noted.

breznak pushed a commit to breznak/nupic.core that referenced this issue Feb 26, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants