Skip to main content

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

  1. Create a server config for the TPU target.
  2. Register the concrete server instance.
  3. Onboard the worker.
  4. Create workloads and scenarios that are supported by the TPU framework.
  5. Run smoke first.
  6. 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.