Synaptogen.py
This is a quick translation of Synaptogen into Python.
The code is not highly optimized and is considerably slower than the Julia version.
Installation
pip install synaptogen
Examples
This basic example does the following:
- Initialize a million memory cells (in their high resistance states)
- Apply -2 V to each cell, putting them into their low resistance states
- Apply a random voltage to each cell
- Make a current readout of all the cells individually (at a default of 0.2 V)
- Perform a "Vector Matrix Multiplication" by 1024×1024 crossbar readout
from synaptogen import *
import numpy as np
M = 1024 * 1024
cells = CellArrayCPU(M)
applyVoltage(cells, -2)
voltages = np.random.randn(M)
applyVoltage(cells, voltages)
I = Iread(cells)
col_voltages = np.random.randn(2**5) * .2
row_currents = cells @ col_voltages
Metadata
Release files for synaptogen 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| synaptogen-0.2.0.tar.gz | 14.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| synaptogen-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.4 kB
Release files / synaptogen-0.2.0.tar.gz
| Download URL | synaptogen-0.2.0.tar.gz |
|---|---|
| Size | 14.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
90fc55504342a022c3b60597d4a804a3ef34c0b244f2e988f9d3e2a52f71d183
|
|
BLAKE2b-256 checksum How to use checksums |
68434cc1d6dfaf7e9cba7b235b69b4b7e3b26ececcf8a1b57825a5d3a7915cb2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.11.7
|
Release files / synaptogen-0.2.0-py3-none-any.whl
| Download URL | synaptogen-0.2.0-py3-none-any.whl |
|---|---|
| Size | 15.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1e69beb7ae86523488337793fe40ddf6290e86f61c6abdbee8018185866dfe67
|
|
BLAKE2b-256 checksum How to use checksums |
b57a785c9fee42d4128947455f78da31b35ec28f50ee499e974f5df5cbfa3e84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.11.7
|