TorchLean API

NN.Backend.Types

Backend Types #

Small vocabulary for backend selection and trust boundaries.

TorchLean owns the spec, graph, and proof-facing contracts. Backends are execution providers for parts of that graph: a Lean reference path, the TorchLean runtime, native CUDA kernels, LibTorch, ATen, cuBLAS/cuDNN/cuFFT, TPU/XLA, AWS Neuron/Trainium, or future platform-specific providers. This file deliberately contains only data. It should stay cheap to import from specs, runtime wrappers, docs generators, and tests.

Hardware or execution target visible to the planner.

Instances For
    @[implicit_reducible]

    Stable spelling used in profile names, reports, and CLI bridges.

    Instances For

      Parse an explicit backend device name. CLI layers may resolve policy names such as auto before calling this function.

      Instances For

        Parse an explicit backend device name or return a diagnostic suitable for command-line use.

        Instances For

          Concrete provider family used to execute a kernel capsule.

          Instances For
            @[implicit_reducible]

            Stable operation vocabulary used by backend capsules, graph planning, and runtime guards.

            This is deliberately a closed vocabulary. New backend-visible operations should be added here and then wired through the IR adapter and capsule registry. Runtime tape/debug labels may still be strings, but the backend planner should not accept arbitrary stringly-typed operation names.

            Instances For
              @[implicit_reducible]
              @[implicit_reducible]

              Stable spelling used in reports, capsule names, and CLI diagnostics.

              Instances For

                Whether training through this operation requires a registered local VJP.

                Random sources create values but are not themselves differentiated. Every other backend-visible operation must provide a compatible VJP whenever gradient tracking is requested.

                Instances For

                  How much TorchLean knows about an implementation.

                  trustedExternal is allowed, but it is intentionally loud: the contract names the boundary instead of silently treating an industrial kernel as though Lean had verified its source.

                  Instances For
                    @[implicit_reducible]

                    User- or CI-selected policy for which backend capsules may be used.

                    Instances For
                      @[implicit_reducible]

                      Whether a policy admits a capsule at the given trust level.

                      Instances For

                        How a backend capsule treats gradients.

                        Instances For
                          @[implicit_reducible]

                          Backend preference requested by a runtime configuration.

                          Instances For

                            Runtime-level backend configuration. Public APIs can wrap this with friendlier defaults.

                            Instances For