signaloid-cli cores create
Create a custom core configuration.
Synopsis
signaloid-cli cores create --name <name> --class <class> --microarchitecture <arch> [options]
Options
| Option | Required | Description | Valid Values |
|---|---|---|---|
--name <str> | Yes | Core name | Any string |
--class <class> | Yes | Core class | C0Pro, r7i, C0-microSD, C0-microSD-plus, C0-SD |
--microarchitecture <arch> | Yes | Microarchitecture | Athens, Rome, Jupiter, Mercury, Europa, Bypass, Reference, Native |
--precision <n> | Yes, except for r7i and Bypass | Precision | Power 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 Bypass | Dependency tracking | None, Basic, Advanced. Leave it out for r7i and Bypass, or set it to None. |
--memory <n> | No | Can 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:
| Class | Microarchitectures |
|---|---|
C0Pro | Athens, Rome, Jupiter, Mercury, Europa, Bypass, Reference |
C0-microSD, C0-microSD-plus, C0-SD | Athens, Rome, Bypass |
r7i | Native |
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:
| Microarchitecture | Dependency tracking |
|---|---|
Athens, Rome | None or Basic |
Jupiter, Mercury, Europa | Advanced |
Bypass, Reference, Native | None |
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:
- Verify class is one of:
C0Pro,r7i,C0-microSD,C0-microSD-plus,C0-SD. - Verify the microarchitecture is supported by the chosen class (see the table above).
- Check precision is within range for the microarchitecture: a power of two from 4 to 8,192 for
Athens,Rome,Jupiter,Mercury, andEuropa, or an integer from 4 to 1,000,000 forReference. Omit it forBypassandr7i. - Check the dependency-tracking mode is supported by the microarchitecture (see the table above).
- Confirm the values are within your subscription tier's limits (
signaloid-cli users me).
See Also
- signaloid-cli cores - Cores overview
- signaloid-cli cores list - List available cores
- signaloid-cli cores update - Update core configuration
- signaloid-cli cores delete - Delete a custom core