Pular para conteúdo

mainboard banner

mainboard

Topologia de hardware e snapshots de máquina para Python.

O mainboard responde a uma pergunta simples: do que esta máquina é feita e o que o Python pode saber sobre ela com segurança? Ele expõe CPUs, GPUs e NPUs como Units tipados com semântica de snapshot compartilhada, e sonda o host gerando um único MachineSnapshot serializável que cobre cpu, memória, gpus, npus, environment, board e toolchain, sem forçar toda máquina a passar por um modelo exclusivo de CUDA.

Início rápido

pip install mainboard
mainboard

A instalação base é leve e de Python puro, cobre a sondagem de CPU e Apple sem instalar nada relacionado ao CUDA. Para detecção e telemetria de GPU NVIDIA instale o extra cuda, pip install mainboard[cuda], que traz as bindings de CUDA Python no Linux. A detecção degrada normalmente para zero dispositivos NVIDIA quando faltam as bindings ou o hardware.

Trabalhando em um projeto chefe? chefe add mainboard -l python.

CLI

mainboard
python -m mainboard
mainboard --color=False

Ambos os comandos renderizam o mesmo esquema da máquina. --color=False é útil para logs e terminais sem suporte a cores.

Python

from mainboard import Machine

machine = Machine()
print(machine.cpu.label)
print(machine.gpus)
print(machine.npus)
print(machine.board.model)
print(machine.model_dump_json(indent=2))

O que o mainboard oferece

recurso o que significa
Units centradas no conceito CPU, GPU e NPU compartilham kind, vendor e snapshot()
Isolamento de provider Detalhes de Apple e NVIDIA ficam por trás de classes de provider
Imports seguros Os futuros providers AMD, Intel e Qualcomm são stubs seguros para importação
Visão no terminal mainboard renderiza um esquema Rich da memória e das units de computação
Descoberta de toolchain Um registro de sondas expansível reporta os compiladores C/C++/CUDA e os build systems no PATH, com versões
Snapshot em uma chamada Machine().model_dump_json() retorna cpu, memória, gpus, npus, environment (user, group, scheduler), board (placa-mãe, BIOS) e toolchain (compiladores, build systems)

Plataformas

plataforma status
macOS com Apple Silicon Detecção de CPU, GPU Apple e Apple Neural Engine
Linux + NVIDIA CUDA Detecção de CPU e GPU NVIDIA
Outras plataformas Fallback de CPU mais stubs inertes de futuros providers

O mainboard é recente (0.0.x)

A API pública é propositalmente pequena, mas detalhes de telemetria dos providers ainda podem mudar.

A seguir, leia o guia sobre units e o probe e snapshot, ou pule direto para a referência de environment, toolchain, board e providers.