Test Google TPU
Private Stack Exposure
Remote benchmark workers must reach the Metrum Insights control plane over a
public URL. When you run a private or local stack, expose PostgREST before
launch and use the public HTTPS URL for METRUM_PUBLIC_API_URL,
INSIGHTS_API_URL, and INSIGHTS_CONTROL_PLANE_URL:
cloudflared tunnel --url http://localhost:${POSTGREST_PORT:-3000}
export METRUM_PUBLIC_API_URL="https://<cloudflared-host>.trycloudflare.com"
export INSIGHTS_API_URL="$METRUM_PUBLIC_API_URL"
export INSIGHTS_CONTROL_PLANE_URL="$METRUM_PUBLIC_API_URL"
curl -fsS "$METRUM_PUBLIC_API_URL/" >/dev/null
Do not give a remote worker localhost, 127.0.0.1, host.docker.internal,
or a private-only DNS name. Keep the tunnel alive through onboarding, polling,
result upload, and teardown; expose any private package/WebUI endpoint through
a public URL too when the worker downloads artifacts from that stack.
Use TPU workflows when the benchmark target is a TPU slice rather than a GPU server.
Capture The SUT
Document:
- TPU generation and slice shape;
- host CPU and memory;
- framework and version;
- model and precision;
- compiler/runtime options;
- dataset and traffic matrix.
Web UI
- Create a server config for the TPU target.
- Register the concrete server instance.
- Onboard the worker.
- Create workloads and scenarios that are supported by the TPU framework.
- Run smoke first.
- Compare TPU metrics with GPU metrics only when the report clearly normalizes by accelerator count, cost, and available telemetry.
API
Use the same server onboarding, workload, scenario, and execution APIs as GPU workflows. TPU-specific content belongs in server config metadata, framework version, command template, and report caveats.
Placeholder: TPU-specific create-server-config examples will be expanded with the supported production TPU shapes.