sdm

A Sparse Distributed Memory Framework.

https://github.com/msbrogli/sdm-framework

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: plos.org, frontiersin.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.7%) to scientific vocabulary

Keywords

framework sdm sparse-distributed-memory
Last synced: 6 months ago · JSON representation

Repository

A Sparse Distributed Memory Framework.

Basic Info
Statistics
  • Stars: 45
  • Watchers: 10
  • Forks: 8
  • Open Issues: 4
  • Releases: 0
Topics
framework sdm sparse-distributed-memory
Created about 10 years ago · Last pushed over 6 years ago
Metadata Files
Readme License

README.md

Sparse Distributed Memory Framework

This project intends to be a framework which can be adapted to any usage of a Sparse Distributed Memory (Kanerva, 1988).

We have been working on Pentii Kanerva's Sparse Distributed Memory: - The first paper considered the range of dimensions that an SDM should have were it to respect i) chunking-by-averaging, and ii) the "magic number 7"; - a second paper studied the critical distance as the memory becomes saturated; - a third paper (underway) studies interaction effects between different attractors, and - a fourth paper will document this highly-palallel SDM framework developed by PhD Candidate Marcelo Brogliato.

We would really like to ask users for feedback, and, should they find it useful, a link or citation:

Brogliato, M.S.; Linhares, A. (2017) Sparse Distributed Memory: a reference implementation. Working Paper, FGV, Vialink.

How to build & test

To generate the library and run some tests:

cd src/
make
make tests
./test1

To run Python tests:

python tests.py

In dev mode, there should be a symbolic link from src/libsdm.so to sdm/_libsdm.so. If it does not exist, create one running:

cd sdm/
ln -s ../src/libsdm.so _libsdm.so

How to install

This framework has the following dependencies: libbsd and libOpenCL.

pip install sdm

If you would like to install the most recent code:

pip install git+https://github.com/msbrogli/sdm-framework.git

FloydHub

To install in a FloyHub GPU instance, you just have to run:

apt-get update && apt-get install libbsd-dev nvidia-opencl-icd-304 opencl-headers
sudo ln -s /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 /usr/lib/libOpenCL.so

AWS GPU instances

To install in an AWS instance, you just have to run:

apt-get update && apt-get install libbsd-dev nvidia-opencl-icd-304 opencl-headers build-essential

For p2 instances:

wget http://us.download.nvidia.com/XFree86/Linux-x86_64/367.106/NVIDIA-Linux-x86_64-367.106.run
sudo /bin/bash ./NVIDIA-Linux-x86_64-367.106.run

For p3 instances:

wget http://us.download.nvidia.com/titan/linux/387.34/nvidia-driver-local-repo-ubuntu1404-387.34_1.0-1_amd64.deb
dpkg -i nvidia-driver-local-repo-ubuntu1404-387.34_1.0-1_amd64.deb
sudo apt-key add /var/nvidia-driver-local-repo-387.34/7fa2af80.pub
dpkg -i nvidia-driver-local-repo-ubuntu1404-387.34_1.0-1_amd64.deb
apt-get update & apt-get install cuda-drivers
reboot

To confirm the driver is functional, run nvidia-smi. For further information, see [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html].

To optimize and achieve better performance, run:

sudo nvidia-persistenced
sudo nvidia-smi --auto-boost-default=0
sudo nvidia-smi -ac 2505,875

For further information about optimization, see [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/optimize_gpu.html].

Documentation

The documentation is available at [http://sdm-framework.readthedocs.io/]

How do I contribute?

Just fork it and do the usual pull request dance. :)

Docker

The docker images are published at [https://hub.docker.com/r/msbrogli/sdm-framework/].

They already include the OpenCL ICD for FloydHub GPU instances.

Build

docker build -t sdm-test ./

Run

docker run -it -p 8888:8888 sdm-test

Useful links

  • [https://aws.amazon.com/ec2/instance-types/]
  • [https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-basics.html#dockernextsteps]
  • [http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/usingclustercomputing.html]
  • [http://jackmorrison.me/2014/09/11/CUDA-on-AWS.html]
  • [https://github.com/sschaetz/nvidia-opencl-examples/blob/master/OpenCL/src/oclMatVecMul/oclMatVecMul.cl]
  • [https://streamhpc.com/blog/2013-04-28/opencl-error-codes/]

TODO

  • Coverage using gcov? [https://gcc.gnu.org/onlinedocs/gcc/Gcov.html]
  • Unit test using catch? [https://github.com/philsquared/Catch]

Owner

  • Name: Marcelo Salhab Brogliato
  • Login: msbrogli
  • Kind: user
  • Location: Rio de Janeiro - Brazil
  • Company: Hathor Network

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 272
  • Total Committers: 4
  • Avg Commits per committer: 68.0
  • Development Distribution Score (DDS): 0.228
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Marcelo Salhab Brogliato m****i@g****m 210
Marcelo Salhab Brogliato m****i@v****r 54
athos a****s@v****r 5
Alexandre Linhares A****s 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 8
  • Total pull requests: 3
  • Average time to close issues: 11 months
  • Average time to close pull requests: about 2 hours
  • Total issue authors: 3
  • Total pull request authors: 2
  • Average comments per issue: 2.38
  • Average comments per pull request: 0.33
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Alex-Linhares (6)
  • msbrogli (1)
  • deepakjnath (1)
Pull Request Authors
  • Alex-Linhares (2)
  • athoscouto (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 41 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 2
  • Total versions: 9
  • Total maintainers: 1
pypi.org: sdm

Sparse Distributed Memory Framework

  • Versions: 9
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 41 Last month
Rankings
Dependent packages count: 10.0%
Stargazers count: 10.3%
Dependent repos count: 11.6%
Forks count: 12.5%
Average: 14.7%
Downloads: 28.8%
Maintainers (1)
Last synced: 6 months ago

Dependencies

docs-requirements.txt pypi
  • Pygments *
  • nbsphinx *
setup.py pypi
  • future *