Skip to main content

signaloid-cli cores create

Create a custom core configuration.

Synopsis​

signaloid-cli cores create --name <name> --class <class> --microarchitecture <arch> [options]

Options​

OptionRequiredDescriptionValid Values
--name <str>YesCore nameAny string
--class <class>YesCore classC0Pro, r7i, C0-microSD, C0-microSD-plus, C0-SD
--microarchitecture <arch>YesMicroarchitectureAthens, Rome, Jupiter, Mercury, Europa, Bypass, Reference, Native
--precision <n>Yes, except for r7i and BypassPrecisionPower of two from 4 to 8,192 for Athens, Rome, Jupiter, Mercury, and Europa. Integer from 4 to 1,000,000 for Reference. Leave it out for r7i and Bypass, or set it to 0.
--dependency-tracking <mode>Yes, except for r7i and BypassDependency trackingNone, Basic, Advanced. Leave it out for r7i and Bypass, or set it to None.
--memory <n>NoCan be ignored. The Signaloid Cloud Compute Engine sets the memory size from the core class, so the CLI does not send this value and prints a warning.Integer

Description​

The cores create command creates a custom core configuration tailored to your computational needs. You choose the core class, microarchitecture, precision, and dependency-tracking mode. See Execution Cores for details on the available configuration options.

Not every microarchitecture runs on every class:

ClassMicroarchitectures
C0ProAthens, Rome, Jupiter, Mercury, Europa, Bypass, Reference
C0-microSD, C0-microSD-plus, C0-SDAthens, Rome, Bypass
r7iNative

Native is valid only with the r7i class. The Free tier does not include Mercury or Europa.

Each microarchitecture accepts only some dependency-tracking modes:

MicroarchitectureDependency tracking
Athens, RomeNone or Basic
Jupiter, Mercury, EuropaAdvanced
Bypass, Reference, NativeNone

The r7i class builds your application with a stock host toolchain and runs it without distribution arithmetic. Its cores always have a precision of 0 and a dependency-tracking mode automatically set to None. The CLI rejects any microarchitecture other than Native, and any other --precision or --dependency-tracking value, for r7i with a usage error (exit code 2). It also rejects Native for any other class. Builds on an r7i core cannot discover or trace variables, and their tasks produce no Ux values.

The Bypass microarchitecture runs your application without distribution arithmetic and ignores precision, so its cores always have a precision of 0 and a dependency tracking-mode of None. The CLI rejects any other --precision or --dependency-tracking value for Bypass with a usage error (exit code 2).

For every other class and microarchitecture, the CLI requires --precision and --dependency-tracking, and reports a missing option as a usage error (exit code 2) before contacting the Signaloid Cloud Compute Engine.

The retired C0 class and Atlas microarchitecture are no longer accepted. Use C0Pro and Rome instead.

Your subscription tier sets the limits that actually apply to --precision, and which core classes and microarchitectures you may use. SCCE rejects a value outside the allowed range with 400 Bad Request. SCCE rejects a value outside your Tier limits with 403 Forbidden. Run signaloid-cli users me to see the limits for your account.

Examples​

Create a core with distribution arithmetic:

signaloid-cli cores create \
--name "My Custom Core" \
--class C0Pro \
--precision 32 \
--microarchitecture Athens \
--dependency-tracking Basic

Create a native core:

signaloid-cli cores create \
--name "My Native Core" \
--class r7i \
--microarchitecture Native

Troubleshooting​

"Invalid core parameters" Error​

Problem: Core creation fails with invalid parameters.

Solutions:

  1. Verify class is one of: C0Pro, r7i, C0-microSD, C0-microSD-plus, C0-SD.
  2. Verify the microarchitecture is supported by the chosen class (see the table above).
  3. Check precision is within range for the microarchitecture: a power of two from 4 to 8,192 for Athens, Rome, Jupiter, Mercury, and Europa, or an integer from 4 to 1,000,000 for Reference. Omit it for Bypass and r7i.
  4. Check the dependency-tracking mode is supported by the microarchitecture (see the table above).
  5. Confirm the values are within your subscription tier's limits (signaloid-cli users me).

See Also​