TL;DR
An AI accelerator should be selected as a system for a defined workload, not as a chip with the largest peak number. Freeze the model, precision, traffic shape, quality gate, latency objectives, software stack, and cost boundary first. Qualify compatible GPU, TPU, and custom-silicon platforms, then compare SLO-qualified goodput, accepted-output cost, operational reliability, and migration risk. No platform wins across every model size, sequence length, batch size, or workload phase.
Table of Contents
- What Is an AI Accelerator?
- Start With a Workload Contract
- Match the Workload to the Hardware
- Treat Software as Part of the Accelerator
- Build a Reproducible Benchmark
- Measure Goodput, Quality, and Cost Together
- Read Vendor and MLPerf Evidence Correctly
- Calculate Complete TCO
- Prove Migration and Rollback
- Decision Framework
- Frequently Asked Questions
Key Takeaways
- No universal winner exists. Accelerator fit changes with model, precision, sequence lengths, concurrency, latency targets, and software.
- Memory is a first-class constraint. Weight, activation, workspace, and KV cache capacity can disqualify a platform before peak compute matters.
- Prefill and Decode are different workloads. Prefill can expose compute limits, while low-concurrency Decode is often dominated by data movement.
- A chip is not a deployment. Runtime, compiler, kernels, topology, host, networking, and observability are part of the measured system.
- Goodput is more useful than raw throughput. Count only outputs that meet latency, quality, safety, and validity requirements.
- TCO includes change. Migration engineering, idle capacity, failure recovery, and portability can outweigh a lower hourly rate.
What Is an AI Accelerator?
An AI accelerator is specialized hardware and its supporting software stack for executing machine-learning workloads more efficiently than a general-purpose processor alone. The category includes GPUs, cloud TPUs and ASICs, inference-specialized processors, wafer-scale systems, and edge NPUs.
The useful unit of comparison is usually a deployable system, not a bare chip:
This boundary prevents a common error: comparing one vendor's per-chip dense FLOPS with another vendor's sparse system result or managed-service throughput. Those quantities describe different objects.
Architecture Families Solve Different Problems
| Platform family | Typical strength | Typical constraint to prove |
|---|---|---|
| General-purpose GPU | Broad framework support, programmable kernels, training and serving flexibility | Cost, power, availability, and utilization under the target load |
| Cloud TPU or custom ASIC | Hardware-software co-design and scale within a provider's supported stack | Operator coverage, compiler behavior, cloud portability, and service availability |
| Inference-specialized accelerator | Predictable execution or a memory system tuned for serving | Model coverage, scale-out behavior, compiler maturity, and workload flexibility |
| Wafer-scale or spatial system | High on-chip communication or large tightly coupled compute fabric | Placement constraints, compilation, utilization, failure domain, and procurement |
| Edge NPU | Local execution, low data movement, device power envelope | Model size, supported operations, memory, update path, and quality at reduced precision |
These are tendencies, not rankings. A specialized architecture may beat a GPU on one qualified workload and lose when the model, batch size, sequence length, or software revision changes.
Start With a Workload Contract
A workload contract makes every candidate solve the same problem. Without it, a benchmark can be optimized for whichever system is being promoted.
Freeze these fields before requesting results:
| Contract area | Required identity |
|---|---|
| Model | Artifact checksum, architecture, adapter, tokenizer, prompt template |
| Numeric format | Weight, activation, accumulation, and KV-cache precision |
| Request distribution | Input and output length histograms, modalities, feature shapes |
| Traffic | Arrival process, concurrency, burst behavior, cancellation, priority classes |
| Service objectives | TTFT, inter-token latency, end-to-end percentiles, availability |
| Acceptance | Task score, safety slices, structured-output validity, tolerance |
| Memory | Weights, activations, runtime workspace, KV cache, fragmentation headroom |
| Runtime | Framework, serving engine, compiler, driver, firmware, kernels |
| Topology | Accelerator count, host, links, network, storage, placement |
| Operations | Warmup, autoscaling, telemetry, fault injection, recovery, rollback |
| Cost boundary | Rental or amortization, energy, network, labor, idle and reserve capacity |
For an autoregressive LLM, use traces from production or a versioned synthetic generator. An average prompt length is not enough: long-tail contexts and output lengths can dominate memory and latency.
Separate Hard Qualification From Optimization
Reject a candidate before performance ranking if it cannot:
- load the exact model and precision without an unapproved transformation;
- execute every required operator or validated fallback;
- meet the minimum quality and safety gates;
- expose enough metrics to diagnose latency and failures;
- recover within the operational objective;
- be obtained in the required region and capacity class.
Only qualified candidates should enter cost and performance comparison.
Match the Workload to the Hardware
Hardware fit is determined by the workload's arithmetic intensity, memory footprint, communication pattern, and latency target. Peak tensor throughput describes only one ceiling.
Prefill and Decode Stress Different Resources
Autoregressive inference has two phases:
- Prefill processes prompt tokens in parallel. Large matrix operations can use substantial compute, and long contexts increase attention work and temporary state.
- Decode produces tokens iteratively. At low concurrency, repeatedly reading weights and cache state can make memory movement more important than peak arithmetic.
Batching can raise arithmetic intensity, but it also changes queueing and per-request latency. The correct question is not "How many tokens per second can this chip produce?" It is "How much accepted work can this system complete while respecting our latency distribution?"
The cross-platform study The xPU-athalon found that the optimal measured platform changed with batch size, sequence length, and model size. Its results also show why idle power, communication energy, compilation time, and software maturity belong in selection. The numerical results apply to the measured platforms and revisions; the general lesson is to preserve workload identity.
Capacity, Bandwidth, and Topology Are Separate
Three constraints are often collapsed into "GPU memory":
- Capacity determines whether weights, activations, workspace, and live cache fit.
- Bandwidth limits how quickly data can reach compute units.
- Topology determines the communication cost after a model spans devices or nodes.
Tensor parallelism can make a model fit, but collectives may consume the latency saved by distributing computation. Report the exact link topology and accelerator count instead of attaching a system result to one chip.
Treat Software as Part of the Accelerator
Software compatibility is a release contract, not a checkbox. A platform is qualified only when the exact model graph, numeric formats, kernels, framework, driver, firmware, and serving features work together.
For example:
- NVIDIA Blackwell documentation describes a dual-die design, Transformer Engine, NVLink, RAS, and confidential-computing capabilities. These architecture facts do not independently prove application performance.
- Google Cloud documents TPU v6e as a 256-chip 2D-torus Pod with specific supported Slice shapes and runtime configuration. A per-chip specification does not describe every Slice or serving behavior.
- AWS documents Trainium2 through NeuronCore-v3, device memory, NeuronLink, logical-core configuration, and the Neuron software stack. Suitability depends on compilation and supported execution paths.
- AMD's ROCm compatibility matrix binds hardware to specific operating systems, firmware, drivers, Python versions, frameworks, and serving engines. "Supports ROCm" is therefore too vague for reproducibility.
Build an operator and feature matrix from a real compile-and-run test:
| Capability | Evidence required |
|---|---|
| Model load | Artifact checksum and successful load log |
| Operators | Native kernel, compiled lowering, or measured fallback |
| Numeric format | Actual kernel path and quality result |
| Dynamic shapes | Tested range, recompilation behavior, failure boundary |
| Serving | Batching, streaming, cache, cancellation, adapters, observability |
| Debugging | Profiler, trace, memory report, error localization |
| Upgrade | Pinned compatibility matrix and rollback procedure |
Build a Reproducible Benchmark
A fair accelerator benchmark is a versioned experiment whose inputs, environment, and acceptance policy can be reconstructed. Capture identity before collecting a result.
{
"benchmarkId": "support-llm-serving/17",
"model": {
"artifactSha256": "sha256:...",
"tokenizerSha256": "sha256:...",
"precision": {
"weights": "int8",
"activations": "bf16",
"kvCache": "fp8"
}
},
"workload": {
"datasetRevision": "traffic-sample/42",
"arrivalProcess": "replayed-timestamps",
"concurrency": [1, 8, 32, 128],
"warmupRequests": 200
},
"objectives": {
"p95TtftMs": 800,
"p95InterTokenMs": 80,
"minimumTaskAcceptance": 0.97
},
"system": {
"accelerator": "candidate-system",
"count": 8,
"topology": "declared-by-provider",
"runtimeRevision": "sha256:...",
"driverRevision": "pinned"
},
"measurement": {
"powerBoundary": "whole-system-wall-ac",
"costBoundary": "compute-network-storage-operations",
"runnerRevision": "sha256:..."
}
}
Run enough repetitions to characterize variation and confidence for your decision; there is no universal run count. Randomize candidate order when shared infrastructure or time trends can bias results. Preserve raw request-level observations so percentiles and failures can be recomputed.
Use an Evidence Ladder
| Evidence | What it can establish | What it cannot establish |
|---|---|---|
| Datasheet | Supported formats, theoretical limits, capacity, link design | Application latency, quality, utilization, or cost |
| Vendor benchmark | Performance for the vendor's disclosed configuration | Cross-vendor superiority outside that configuration |
| Standard benchmark | Comparable result within the same rules, model, scenario, division, and category | Your private workload or migration cost |
| Reproduced microbenchmark | Kernel, bandwidth, communication, or compiler behavior | End-to-end product performance |
| Workload replay | Behavior under your model, traffic, and SLO | Future workload changes without further testing |
| Canary | Production behavior at controlled exposure | Long-term capacity or every failure mode |
Measure Goodput, Quality, and Cost Together
Accepted-output goodput counts completed work only when it satisfies the release policy. Raw throughput can increase while user-visible performance regresses.
For request-level serving:
accepted(request) =
completed
AND quality_pass
AND safety_pass
AND schema_valid
AND TTFT <= objective
AND inter_token_latency <= objective
AND end_to_end_latency <= objective
accepted_goodput = sum(accepted requests) / measured_seconds
Also report:
- TTFT, inter-token latency, and end-to-end p50/p95/p99;
- request, input-token, output-token, and accepted-task throughput;
- queue time, cancellation, timeout, and error rates;
- weight, activation, workspace, and KV-cache memory;
- accelerator, host, network, and storage utilization;
- quality and safety results by risk slice;
- measured energy with an explicit boundary;
- cost per accepted request, accepted output token, or business outcome.
Do not hide the trade-off behind one weighted score. Keep hard constraints visible and show the Pareto frontier for cost, latency, quality, and portability.
Read Vendor and MLPerf Evidence Correctly
Benchmark identity determines whether two results are comparable. Product names alone do not.
MLPerf Inference: Datacenter provides standardized scenarios, load generation, quality targets, and submission metadata. Use it with these boundaries:
- compare the same benchmark, scenario, quality target, and rules version;
- keep Closed and Open divisions separate;
- distinguish Available, Preview, and Research/Development/Internal systems;
- preserve accelerator count, host system, software stack, and submission code;
- treat MLPerf Power as whole-system wall power for the accompanying benchmark;
- never substitute TDP or power-supply rating for measured benchmark energy.
Vendor claims are still useful for candidate discovery and architecture understanding. Label them as vendor evidence, retain their model and system configuration, and reproduce the decision-critical claim on your workload.
Calculate Complete TCO
Complete TCO is the cost of delivering accepted work over a defined period. It is not purchase price divided by peak FLOPS.
complete_cost =
compute_rental_or_amortization
+ power_and_cooling
+ network_and_storage
+ software_and_support
+ migration_engineering
+ operations_and_incidents
+ idle_and_reserved_capacity
+ egress_and_exit_cost
+ rollback_capacity
cost_per_accepted_unit =
complete_cost / accepted_requests_or_tokens
Use observed utilization rather than assuming every accelerator runs at peak load. Include compiler warmup, maintenance, failed requests, capacity fragmentation, reservation commitments, and multi-region standby. If power is measured, state whether the boundary covers the accelerator, node, rack, or facility and whether cooling overhead is included.
For cloud services, keep price and availability in a replaceable worksheet rather than permanent prose. For owned systems, declare depreciation period, financing, utilization, residual value, and data-center assumptions. A lower chip or instance price does not prove a lower accepted-outcome cost.
Prove Migration and Rollback
Migration is an engineering experiment with explicit exit criteria. Porting a model file is only the first step.
Migration Proof
- Compile and execute representative models, custom operators, and dynamic shapes.
- Reproduce baseline outputs and investigate every quality delta.
- Exercise streaming, cancellation, batching, cache pressure, and overload.
- Profile communication, memory, and fallback paths.
- Inject worker, link, host, and dependency failures.
- Measure cold start, scale-up, repair, and restore time.
- Run shadow traffic before a guarded canary.
- Keep the previous platform warm enough to meet the rollback objective.
Lock-in has several dimensions: model-format portability, custom kernels, compiler behavior, cloud APIs, orchestration, observability, reservations, and data egress. Record which layer owns each dependency.
Decision Framework
Select an accelerator with gates first and optimization second.
Use a decision table that preserves evidence:
| Dimension | Gate or metric | Evidence |
|---|---|---|
| Compatibility | All required models, operators, and features work | Compile logs, tests, compatibility matrix |
| Quality | No unacceptable task or safety regression | Versioned evaluation report |
| Latency | Percentile objectives under target traffic | Request-level benchmark |
| Capacity | Stable concurrency and memory headroom | Load test and memory trace |
| Efficiency | Accepted goodput per system and per measured energy | Benchmark plus acceptance join |
| Reliability | Recovery and rollback objectives | Fault-injection report |
| Economics | Cost per accepted unit at observed utilization | Versioned TCO worksheet |
| Portability | Migration effort and exit path | Proof-of-port and dependency inventory |
The decision expires when the model, traffic distribution, runtime, price contract, region, or quality policy changes materially. Re-run the affected qualification steps instead of treating a past winner as permanent.
Frequently Asked Questions
Is a GPU always the safest default for AI workloads?
A GPU often offers broad framework and kernel support, but "safest" depends on the workload and organization. A managed TPU or custom accelerator may reduce cost or improve availability for a stable supported workload. Conversely, rapid model changes, custom operations, multi-cloud requirements, and debugging needs may make GPU portability more valuable. Prove the trade-off rather than encoding it as a universal default.
Can tokens per second compare different AI accelerators?
Only when the model artifact, tokenizer, prompt and output distributions, precision, serving engine, concurrency, sampling, hardware count, quality gate, and latency objectives match. A single-user Decode rate and a heavily batched aggregate rate answer different questions. Report both phase-aware latency and SLO-qualified aggregate goodput.
Should peak FLOPS or memory bandwidth be used for shortlisting?
Both can identify impossible or promising candidates, but neither selects a system alone. Peak FLOPS must declare precision, sparsity, and aggregation level. Memory bandwidth must be interpreted with capacity, access pattern, cache, kernels, and arithmetic intensity. Use specifications to build hypotheses, then test the full workload.
How should accelerator power efficiency be compared?
Measure energy over the same accepted workload and define the boundary. Whole-system wall energy includes effects that accelerator TDP omits. Idle behavior matters when demand is variable. MLPerf power results apply only to their accompanying benchmark, system, and scenario; they should not be converted into a universal chip efficiency ranking.
How often should accelerator selection be revisited?
Revisit it after material changes to the model, precision, context distribution, concurrency, SLO, runtime, driver, pricing, availability, or application quality policy. Use a versioned contract so the team can rerun only affected gates while retaining historical evidence.
Summary
AI accelerator selection is a workload qualification and systems-engineering problem. Define the behavior and traffic contract, reject incompatible platforms, benchmark qualified systems reproducibly, and count only work that passes product requirements. Compare complete systems with complete costs, then prove migration, failure recovery, and rollback. That method remains useful as individual GPU, TPU, and custom-silicon products change.
Sources and Further Reading
- The xPU-athalon: Quantifying the Competition of AI Acceleration
- MLPerf Inference: Datacenter
- Google Cloud TPU v6e architecture and configurations
- NVIDIA Blackwell architecture
- AWS Trainium2 architecture
- AMD ROCm compatibility matrix