Skip to main content

Cores

Create and modify custom Signaloid C0 cores with the performance, accuracy, and memory characteristics your application needs.

Overview

A CPU core in a conventional computer reads and processes data. A Signaloid C0 core does the same, with the difference that it propagates distributional information about every value through your program. The C0 core is what performs distribution arithmetic when an application runs on the Signaloid Cloud Compute Engine.

Your account ships with a set of default Signaloid C0 cores. For workloads with specific demands on speed, accuracy, or memory, you can create a custom core tuned to your application.

Every core is code-compatible. The same source runs on any of them. Cores differ in their microarchitecture, which trades off performance, accuracy, and cost.

For a walkthrough that creates a custom core end to end, see How to Create a Custom Core.

The Cores page (Figure 1) groups cores into two sections: Custom Cores and Signaloid Cores.

Figure 1. The Cores page, and creation of a custom core.

Custom Cores

Custom cores live in the Signaloid Cloud Compute Engine. Refer to a custom core by its Core Name when running an application from the Code Playground or from a connected repository. The same custom core is also available to production applications you build on top of the Compute Engine API.

Create a custom Core

Add New Core opens the Add Execution Core dialog. The Microarchitecture dropdown flags entries still in alpha with an Alpha release chip, and marks microarchitectures your tier cannot use with Upgrade.

Edit a custom Core

Each custom core card carries Edit. Clicking it opens the Modify Execution Core dialog with the same fields as create, plus a read-only Core ID with a copy-to-clipboard button so you can reference the core from the Compute Engine API.

Default Signaloid cores are read-only. Their cards show Details instead of Edit. Details opens the same dialog in a non-editable Execution Core Details view.

Delete a custom Core

Delete on a custom core card removes the core after a confirmation. Deletion cannot be undone.

Core card chips

Each core card surfaces the core's configuration as a row of inline chips below the Core ID: the microarchitecture and representation size, the core class, the memory allocation, and whether autocorrelation is on.

Properties of C0 cores

Core class

Every core belongs to the C0Pro class. Custom cores created under the retired C0 class still appear on the Cores page marked as deprecated, and can no longer run builds.

Microarchitectures

Athens

The Athens microarchitecture provides distribution arithmetic under a standard RISC-V instruction set, using a representation that adapts to low-probability events and long-tailed distributions.

Bypass

The Bypass microarchitecture runs your application without distribution arithmetic. It is useful when porting an application to the Signaloid Cloud Developer Platform, before you start looking at how uncertainty propagates through it.

Reference

The Reference microarchitecture provides reference-quality distribution arithmetic under a standard RISC-V instruction set. The output of an application running on a Reference core matches what you would get from a Monte Carlo simulation of the program, with no changes to the application code. See How to Run a Reference Execution for how to pick the variables to trace.

Signaloid representation size and Monte Carlo equivalent

The Signaloid Representation Size sets how much data the core stores about each distributional value. Larger representations give higher accuracy at a performance cost. Some microarchitectures pair this slider with a Monte Carlo Equivalent slider, an alternative way to describe the accuracy with which the core stores distributional values.

Reference quality level

The Reference microarchitecture does not have a representation size. Instead it takes a Reference Quality Level, the number of times the platform re-executes your application to collect samples.

Memory allocation

Memory Allocation sets the memory available to applications on the core. Values run from 256 kB to 2 GB in fixed steps, and your account tier caps how high you can go.

Correlation tracking

Correlation tracking detects values derived from the same ancestor and handles arithmetic on them in a way that respects the correlation. The default cores ending in + ship with autocorrelation enabled.