SDK for Neuromorphic X2 Hardware Simulation
Project description
XForge SDK 🧠💻
BMLabs XForge SDK is a specialized Python library for simulating the execution of Deep Learning models (like YOLO) on Neuromorphic X2 hardware. It provides tools for image preprocessing, neural network weight binarization, and hardware performance benchmarking.
🚀 Features
- YOLO Integration: Extract weights directly from YOLOv8 models for hardware analysis.
- Crossbar Mapping: Automatically format weights into Signed or Unsigned 64x64/64x32 crossbar grids.
- Hardware Simulation: Benchmarks PE (Processing Element) utilization, operation counts, and L2 buffer writes.
- Image Processing: Standardized RGB channel splitting and resizing for neuromorphic inputs.
🛠 Installation
Install the latest version:
pip install BMLabs-XForge-SDK==0.1.1
📖 Quick Start
import streamlit as st
import numpy as np
from BMLabs_XForge_SDK import NeuromorphicSimulator, ImageProcessor, YOLOWrapper
# Page Config
st.set_page_config(page_title="BMLabs XForge Dashboard", layout="wide")
# 1. Initialize SDK Components
# These replace the manual logic previously scattered in app.py and user.py
@st.cache_resource
def init_sdk():
return {
"sim": NeuromorphicSimulator(num_pes=64),
"processor": ImageProcessor(),
"yolo": YOLOWrapper('yolov8n.pt')
}
sdk = init_sdk()
st.title("🎯 YOLO26N: Neuromorphic Analysis SDK")
st.markdown("---")
uploaded_file = st.file_uploader("Upload Image", type=["jpg", "png"])
if uploaded_file:
# 2. Use ImageProcessor for standardized loading
img_array, channels = sdk["processor"].load_rgb_image(uploaded_file)
col1, col2 = st.columns([2, 1])
with col1:
st.subheader("Object Detection")
results = sdk["yolo"].predict(img_array)
st.image(results[0].plot(), caption="Detection Results")
🧪 Development & Testing
Run the test suite after installation:
If using the Streamlit Dashboard:
streamlit run app.py
🤝 Contributing
For internal use by BM Labs. Please ensure all hardware-specific logic is validated against the NeuromorphicX2 core modules before pushing updates.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bmlabs_xforge_sdk-0.1.1.tar.gz.
File metadata
- Download URL: bmlabs_xforge_sdk-0.1.1.tar.gz
- Upload date:
- Size: 394.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f195472335b222d9c5ba489fd60e80a51b4b7d38c6ebf0930e38a8147b509ca0
|
|
| MD5 |
6e377a9f00bc91f7152f40f2952b31c7
|
|
| BLAKE2b-256 |
cba47f668dd8005d1ab2a4a1daf17f6eb4edec6fcfd8ba57c742a2c0bcbeea0a
|
File details
Details for the file bmlabs_xforge_sdk-0.1.1-py3-none-any.whl.
File metadata
- Download URL: bmlabs_xforge_sdk-0.1.1-py3-none-any.whl
- Upload date:
- Size: 400.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0efd719693f6aa1aeddc6c5a39ae697b8d138ce361749d5b671b7acad0431d81
|
|
| MD5 |
ba2cdb0dd3306da3abf76fef8d77018d
|
|
| BLAKE2b-256 |
1ab3dc720d368fec77c959b9572fccb0e9931a6baa903d30e29cbaa540766f4f
|