Skip to main content

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)

Source distribution for synaptogen 0.2.0
File Size Uploaded
synaptogen-0.2.0.tar.gz 14.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for synaptogen 0.2.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page