Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bmlabs_xforge_sdk-0.1.1.tar.gz (394.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bmlabs_xforge_sdk-0.1.1-py3-none-any.whl (400.8 kB view details)

Uploaded Python 3

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

Hashes for bmlabs_xforge_sdk-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f195472335b222d9c5ba489fd60e80a51b4b7d38c6ebf0930e38a8147b509ca0
MD5 6e377a9f00bc91f7152f40f2952b31c7
BLAKE2b-256 cba47f668dd8005d1ab2a4a1daf17f6eb4edec6fcfd8ba57c742a2c0bcbeea0a

See more details on using hashes here.

File details

Details for the file bmlabs_xforge_sdk-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for bmlabs_xforge_sdk-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0efd719693f6aa1aeddc6c5a39ae697b8d138ce361749d5b671b7acad0431d81
MD5 ba2cdb0dd3306da3abf76fef8d77018d
BLAKE2b-256 1ab3dc720d368fec77c959b9572fccb0e9931a6baa903d30e29cbaa540766f4f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page