Browse documentation
aner.parallel · Reference

Decimal tasks across machines

Build matching native workers and verify exact Decimal scalar parameters, frozen arrays and typed results across explicitly configured machines.

API reference

Compiled native tasks preserve Decimal scalar parameters, immutable array inputs and typed task results across an explicitly configured remote connection. The required contract is native-subset-v4 with ANERNATIVE/3. Use the same reviewed source program and matching runtime implementation on the coordinator and every worker; compile an executable for each machine's own OS and architecture.

A remote process and a different machine are separate claims. A passing localhost or process only test does not establish cross machine execution. A complete verification combines machine identities, native worker admission and exact result comparisons.

Build matching programs

Obtain a matching source build SDK and C++20 toolchain for each worker from your runtime distributor. Keep the runtime implementation and numerical policy aligned. Build the identical admitted source separately for each OS and architecture; copying an executable between incompatible targets is unsupported. The native compilation guide describes the current SDK boundary.

The remote example takes an explicit configuration named native-decimal-remote.conf in the coordinator's working directory. Build the exact same source bytes on every machine. A worker starts in its reserved protocol mode before source level statements, so it does not open the coordinator's configuration or run the local baseline.

sh
aner build examples/parallel/native_decimal_remote.aner -o native-decimal-remote
./native-decimal-remote --aner-native-info

On a Windows worker, select a new .exe output and inspect its information before enrolling it:

powershell
aner build examples/parallel/native_decimal_remote.aner -o C:/AnerWorkers/decimal-remote.exe
C:/AnerWorkers/decimal-remote.exe --aner-native-info

Build destinations, C++ sidecars and receipts must be new. Keep the source, generated C++, build receipt and executable together. Compare the admitted ABI/protocol, program/source identity and runtime identity before running scientific work. Matching an editor or release label alone is insufficient.

The top level build metadata records the generator's origin. If generated C++ is compiled on another platform, --aner-native-info also includes compiled_observation with that executable's actual target, compiler, C++ standard, ABI/protocol and program/runtime identities. Preserve this observation with the build receipt. Preflight worker observations describe the processes actually admitted; they complement the generator/build receipt rather than replacing it.

Configure the remote route

Use an existing approved SSH alias with batch authentication and verified host keys. The runtime retains strict host key checking, bounded connection admission and byte transparent standard streams. Public examples do not contain host addresses, usernames, identity file paths or credentials.

The worker ID and SSH alias are separate fields: Atlas-02 labels a task worker; approved-posix-peer or approved-peer must name an actual SSH target supplied and configured by the operator.

For an enrolled POSIX command route, the private configuration can contain:

text
ANER_CLUSTER 1
worker "Atlas-02" ssh "approved-posix-peer" "/opt/aner-workers/decimal-remote" 2

For a registered native service, including the supported Windows service route:

text
ANER_CLUSTER 1
worker "Atlas-02" ssh-subsystem "approved-peer" "aner-native-decimal" 2

The service name is an opaque identifier, not a remote shell command or executable path. On Windows, the enrolled service must launch its matching executable with --aner-native-worker and preserve raw binary standard handles. The native worker guide defines the server launch contract and endpoint restrictions.

Prepare the configuration with owner only permissions. POSIX uses chmod 600 native-decimal-remote.conf; Windows uses the restricted current user DACL described in the native worker guide. Each worker identifier and SSH target must be unique. Do not count aliases for one machine as separate physical capacity.

Enrollment prepares a private client record; it does not install a remote program, change SSH trust or activate a server service. Install the matching worker executable and complete the server's enrolled launch path before admission. Keep private configuration and host identity evidence outside committed source and public reports.

Admit workers before sending values

sh
aner parallel native preflight --program ./native-decimal-remote \
  --config native-decimal-remote.conf --task decimal_task --timeout 10 \
  --receipt native-decimal-remote.preflight.json

A successful preflight checks every configured record, program/runtime identity, selected Decimal task, C++20/ABI/protocol, CPU admission and an all 256 byte binary echo. It sends no scientific parameters and invokes no task callback. Preserve the private receipt; admission is evidence of compatibility at that time, not a result correctness test or a hardware attestation.

After admission, run the compiled program from the directory containing its private configuration:

sh
./native-decimal-remote

The example compares all 48 returned Decimal cells with its one thread baseline using exact decimal text and checks derived seeds. Expected leading output is:

text
true
1234567890123456789012345678901234
0.1000
-0.00
1e-6176
0.3000
-0.0000

The last line is the measured native summary. Require actual remote node contributions and binary transport verification there; a true value alone does not prove which machines ran the task.

Verify the complete path

Retain separate evidence of source and executable identities, distinct live machine identities, worker admission and exact scientific results. A successful local or process test cannot establish cross machine execution. Require actual remote node contributions, binary transport verification, derived seed agreement and exact decimal text comparisons.

Verify full 34 digit coefficients, values beyond binary integer precision, exponent extremes, trailing zero scale, signed zero, scalar parameters, frozen multidimensional arrays and typed results. An unavailable worker, mismatched identity or failed comparison is a failed verification; a local result cannot replace the requested remote run. Keep private host and enrollment receipts outside public reports.

Recorded evidence

On October 30, 2026, genuine cross machine Decimal verification passed from Atlas-01, the Apple M2 Max macOS arm64 coordinator, to Atlas-02, the Linux x86_64 worker built with GCC 15.2.0. Live SSH probes verified distinct OS installation identities; native admission matched ABI v4, protocol 3, source/program identity and runtime implementation. Preflight verified binary transport with zero scientific parameters and zero task callbacks.

The remote run used three worker CPU slots and completed 37 iterations with 13 Decimal results each: 481 remote cells. All 1,443 exact string comparisons passed across one thread, three thread and remote execution. Coverage included scalar Decimal parameters, immutable two dimensional frozen arrays and aliases, typed task results, full 34 digit coefficients, values beyond 2^53, decimal128 exponent extremes, trailing zero scale, signed zero and exact arithmetic. The opt in native_decimal_remote CTest also passed against the live worker.

RolePublic IDObserved target and compiler
CoordinatorAtlas-01macOS arm64; Clang 21.0.0, C++20.
Remote workerAtlas-02Linux x86_64; GCC 15.2.0, C++20.

The sanitized run record retains the source/program and implementation identities, numerical cases and comparison counts. Endpoints, hostnames, accounts and machine identity hashes remain private. These observations establish the stated macOS to Linux SSH result; they do not constitute hardware attestation, a Windows/subsystem test or a performance benchmark.

The documentation example separately passed syntax checking, native compilation and 48 exact comparisons in a two process local fixture. Its local evidence remains distinct from the cross machine verification above. Earlier benchmark records describe their own machines, programs and measured work.

See the Native parallel computing module reference for the shared API.

Aner documentation · Reference and guides