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
Repository
A Sparse Distributed Memory Framework.
Basic Info
- Host: GitHub
- Owner: msbrogli
- License: gpl-2.0
- Language: C
- Default Branch: master
- Homepage: http://sdm-framework.readthedocs.io/
- Size: 26.2 MB
Statistics
- Stars: 45
- Watchers: 10
- Forks: 8
- Open Issues: 4
- Releases: 0
Topics
Metadata Files
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
- Website: https://hathor.network/
- Repositories: 23
- Profile: https://github.com/msbrogli
GitHub Events
Total
- Watch event: 1
Last Year
- Watch event: 1
Committers
Last synced: over 2 years ago
Top Committers
| Name | 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
- Homepage: https://github.com/msbrogli/sdm-framework
- Documentation: https://sdm.readthedocs.io/
- License: GPLv2
-
Latest release: 1.6.0
published almost 8 years ago
Rankings
Maintainers (1)
Dependencies
- Pygments *
- nbsphinx *
- future *