Signaloid Documentation
website·Indexed 33 days ago
https://docs.signaloid.ioDocumentation for the Signaloid platform, including the signaloid-cli for managing builds, cores, and drives, the UxHw API for uncertainty querying and Bayesian inference, and guides for using the Compute Engine API, C0 cores, and cloud storage.
What's inside Signaloid
- Signaloid UxHw technology allows applications to perform distribution arithmetic on representations of continuous probability distributions. A key feature of UxHw is that it transparently propagates distributions during arithmetic and logic operations, meaning developers do not need to manually instrument their applications with distribution operations. This transparency extends to legacy applications, including pre-compiled binaries. The UxHw API is used to initialize distributions and indirectly query distribution information on UxHw-enabled hardware.
Overview of LiteX for SoC design
LiteX is an open-source digital hardware design framework built on Migen (a Python-based HDL) used to simplify the creation of System-on-Chip (SoC) designs. It features a modular architecture, support for multiple CPU cores (including RISC-V), and a vendor-agnostic approach that supports multiple FPGA families.Overview of Signaloid C0 Compute Modules
The C0 Compute Modules family implements distribution-extended compute hardware (UxHw®) for local and on-premises deployments. The family includes various modules tailored for different form factors, host interfaces, and performance needs, such as the C0-microSD (supporting SoC mode custom bitstreams) and the C0-microSD+ (a flagship UHS-II module).Overview of the Signaloid Cloud Code Playground
The Code Playground is an in-browser Visual Studio Code editor used to edit and run single-source-file applications on the Signaloid Cloud Compute Engine. It consists of three primary panels:
- Editor: Where source code is written.
- Results Panel: Where program output (stdout, stderr, Build, and Runtime Information) appears.
- Variable Viewer: Used to trace variables on Reference cores.
Overview of Signaloid C0 Compute Modules
The Signaloid C0 Compute Modules are distribution-extended compute hardware (UxHw) designed for local and on-premises deployments. These modules utilize a Signaloid System-on-Chip (SoC) processor capable of performing arithmetic on probability distributions and detecting correlations during program execution. The modules act as UxHw coprocessors that plug into standard microSD or SD card slots, allowing integration into existing host circuit boards without redesign. Host communication is handled via a shared Memory-Mapped I/O (MMIO) interfacing model.Overview of the Signaloid C0-microSD SoM
The Signaloid C0-microSD is a low-power, hot-swappable system-on-module (SoM) that implements Signaloid's distribution-extended compute hardware (UxHw®). It is designed to be inserted into any standard microSD slot, appearing to the host as a standard SD-compatible block-storage device via the 4-wire SD protocol or SD-over-SPI. This allows for adding compute offload capabilities to existing systems without hardware redesign or firmware changes.
Key hardware components include:
- A Lattice iCE40-UP5K FPGA.
- A built-in Signaloid SoC (RISC-V core) implementing a subset of distribution-extended computation.
- 16 MiB of non-volatile SPI flash.
- 128 KiB of on-chip SoC RAM.
Overview of Signaloid Cloud Compute Engine API
The Signaloid Cloud Compute Engine allows users to run applications via its API. The base URL for the API isapi.signaloid.io. Users must be authenticated with an API key to interact with the engine.Overview of the Signaloid C0-microSD+ SoM
The Signaloid C0-microSD+ is a low-power, hot-swappable system-on-module (SoM) that implements Signaloid distribution-extended compute hardware (UxHw®). It is designed to fit into standard microSD slots and is treated by the host as an unformatted block-storage device via the 4-wire SD protocol, requiring no host firmware changes or circuit redesigns. It is currently in the engineering-samples stage.Overview of Signaloid CLI capabilities
The Signaloid CLI is a command-line application used to interact with the Signaloid Cloud Compute Engine. It allows developers to automate building and running tasks on Signaloid cores, manage data visualization for uncertainty quantification, and generate web front ends for applications.Overview of the Signaloid Cloud Developer Platform (SCDP)
The Signaloid Cloud Developer Platform (SCDP) is a web-based interface used for creating, debugging, and running programs on Signaloid C0 cores. It leverages UxHw® technology to perform distribution arithmetic on every variable during program execution without requiring changes to existing C/C++ source code, libraries, or input handling. Standardscanf(3)calls can be used to read input data that already encodes distribution.Overview of the Signaloid Compute Module HAL
The Signaloid-Compute-Module-Utilities repository provides a C library Hardware Abstraction Layer (HAL) for code running on the C0-microSD+ module. The HAL allows developers to interact with registers and buffers using named functions and typed pointers instead of raw memory addresses. It is variant-agnostic, meaning the same application source tree can target different Signaloid compute modules by selecting the target at build time.Overview of the Signaloid Compute Module HAL
The Signaloid-Compute-Module-Utilities library provides a Hardware Abstraction Layer (HAL) for code running on the C0-microSD module. The HAL allows developers to use named functions and typed pointers for registers and buffers instead of raw memory addresses. It is variant-agnostic, meaning a single application source tree can target different Signaloid compute modules by selecting the target at build time.