Data Arch
work/resources/arch::Arch
Traits
∈ Deserialize
∈ Display
∈ PartialEquality
∈ Serialize
∈ ToString
CPU architecture for a worker request.
ToString and Display return the canonical architecture string (e.g. "amd64", "arm64").
Each architecture is built with a function, and most have two: one named as in the
OCI image specification
(the names of Go’s GOARCH list, like |amd64()),
and one named as Rust names its target architectures
(like |x86_64()). Both give the same architecture, so use the names you are used to.
Wherever an architecture is given as text, in a request for example, both names are understood too. Architectures are always displayed and written with the first name of the table.
| Function | Architecture | Information |
|---|---|---|
|amd64(), |x86_64() | amd64, x86_64 | 64-bit x86 (Intel, AMD). Most servers, cloud instances, PCs and Intel Macs. |
|arm64(), |aarch64() | arm64, aarch64 | 64-bit ARM. Apple Silicon Macs, AWS Graviton and other ARM cloud instances, Raspberry Pi with a 64-bit system. |
|i386(), |x86(), |i686() | 386, x86, i686 | 32-bit x86. Old PCs and legacy systems. |
|arm(), |armv7() | arm, armv7 | 32-bit ARM, hard float. Raspberry Pi with a 32-bit system, embedded boards. |
|riscv64(), |riscv64gc() | riscv64, riscv64gc | 64-bit RISC-V. Development boards and emerging servers. |
|ppc64le(), |powerpc64le() | ppc64le, powerpc64le | 64-bit PowerPC, little endian. IBM Power servers running Linux. |
|ppc64(), |powerpc64() | ppc64, powerpc64 | 64-bit PowerPC, big endian. Older IBM Power and legacy PowerPC systems. |
|s390x() | s390x | IBM Z mainframes, including LinuxONE. |
|loong64(), |loongarch64() | loong64, loongarch64 | 64-bit LoongArch. Recent Loongson processors. |
|mips() | mips | 32-bit MIPS, big endian. Legacy networking equipment. |
|mipsle(), |mipsel() | mipsle, mipsel | 32-bit MIPS, little endian. Routers and embedded devices. |
|mips64() | mips64 | 64-bit MIPS, big endian. Legacy networking equipment and servers. |
|mips64le(), |mips64el() | mips64le, mips64el | 64-bit MIPS, little endian. Older Loongson processors and some network devices. |
|wasm32() | wasm32, wasm | 32-bit WebAssembly. Browsers, WASI runtimes and edge platforms. |
|wasm64() | wasm64 | 64-bit WebAssembly. Experimental, few runtimes support it. |
|local_arch gives the architecture of the machine running the engine.
An architecture no engine is built for, or that no provider offers, can still be declared: the request is then refused with a message naming the need.
The local compose location only runs the architecture of the host.