Are LLM Performance Benchmarks Reliable? — Ashok…
Ashok Chandrasekar and Jason Kramberger (Google) examine why published LLM performance benchmark numbers are often unreliable. They demonstrate harness pitfalls: a Python GIL-bound harness requesting 200 QPS but silently delivering 38, a client inflating its own measured latency by 58 seconds, temperature-0 settings producing misleadingly faster results than realistic temperature-0.7 workloads, and inconsistent tokenization of the same dataset across harnesses. Kramberger then presents Inference Perf, a CNCF multiprocess load generator from the Kubernetes serving working group, with planned load patterns (Poisson, constant rate, fixed concurrency), client-side telemetry alongside server metrics, declarative replay of multi-turn conversations, and a published workload catalog (agentic generation, tree of thought, batch summarization). He closes with Prism, a UI under the llm-d project, comparing optimizations against a plain Kubernetes service on eight TPU replicas.
# Video Identity Observations
## Source Evidence
- **Title (supplied):** *"Are LLM Performance Benchmarks Reliable? — Ashok Chandrasekar & Jason Kramberger, Google"*
- **Format:** Conference-style technical talk delivered by two presenters, opening with self-introductions.
## Explicit Self-Description (creator-stated)
- **Presenter credentials:**
> "I am Ashok Chandrasekar. I'm a staff software engineer at Google. I work on inference performance evaluation and optimization."
- **Project affiliations, explicitly claimed:**
> "One is called inference perf uh which is a benchmarking tool to do reliable performance benchmarks and uh I'm also the sig lead for LLMD benchmarking."
> "I'm Jason... a software engineer at Google... co-maintainer of inference Perf."
- **Community positioning (claim):**
> "Inferencepf uh the CNCF project spanned out of Kubernetes working group serving uh to provide like a standardized place for us to work with the community."
## Intended Audience (demonstrated)
The talk addresses a **technical practitioner audience** — ML/infrastructure engineers and platform teams running LLM inference in production:
- Assumes familiarity with tooling terms without definition: vLLM, SGLang, K6, MLPerf, CNCF, prefill/decode disaggregation, GIL, P90 SLOs.
- Frames problems in operational terms: "to maximize performance and to save costs," "benchmark your production inference serving stack."
- Practical takeaway framing: "principles for benchmarking validity" with links to Git repos and a workload catalog.
## Claimed Scope
- **Problem scope:** Reliability and reproducibility of LLM performance benchmarks at production scale — "a lot of times we aren't able to reproduce the results that are shared by other people. Right? So that is what motivated this talk."
- **Solution scope:** Their own tooling ("inference perf," "LLMD," "Prism" UI, "workload catalog") presented as a standardization effort — "there's also pretty detailed configuration metrics... so that this can actually be shared across tools and have a place for standardization of these workloads."
- **Scope caveat:** Claims are vendor-adjacent; presenters promote Google-affiliated and CNCF projects they maintain, though pitfalls (e.g., temperature-to-zero benchmarks, dataset truncation differences) are framed as field-wide issues.
## Distinguishing Claim vs. Demonstration
- **Demonstrated:** Experimental evidence shown in-talk (QPS shortfall under Python GIL, latency inflation up to "58 seconds," dataset token-count divergence across harnesses).
- **Claimed (not independently verified in-video):** Tool performance at scale — "even at 5,000 QPS inference perf was able to keep up" — and production results ("hundreds of thousands of tokens per second" on TPUs) are presenter-reported screenshots.
# Delivery Observation Report
**Video:** *Are LLM Performance Benchmarks Reliable?* — Ashok Chandrasekar & Jason Kramberger, Google
## Overall Impression
A two-speaker technical conference talk with a clear handoff structure: problem framing by the first speaker, solution walkthrough by the second. Delivery is conversational, impromptu-sounding, and heavily anchored to visual aids (slides, charts, screenshots).
## Tone & Register
- **Casual-professional with frequent fillers and hedges.** The transcript is dense with "um," "uh," "right?," and "like," e.g.:
> "let's look a little bit about the how the benchmark ecosystem looks like. Right?"
- **Rhetorical "right?" as a comprehension check** recurs throughout the first half: *"These mainly focus on highcale http benchmarks, right?"* / *"what use it is if it is just some synthetic workload."* This appears to function as a slide-narration pacing device.
- **Direct audience address** in second person: *"So if you have run a benchmark before uh it typically looks like this right."*
## Recurring Phrases & Vocabulary
- **"Production scale"** is the talk's anchor term, repeated across both speakers: *"production scale inference"* [44], *"production scale LLM benchmarks"* [111], *"benchmark a production scale workloads"* [167], *"at production scale with eight replicas"* [828].
- **"Benchmark harness"** used repeatedly as the core diagnostic object: *"it could be your benchmark harness"* [508], *"your benchmark client that is inflating the latency"* [415].
- **Fidelity/observability cluster**: *"metrics fidelity is very important"* [220], *"highest metric fidelity"* [573], *"observability into your benchmark tool itself"* [303].
- **Contrastive frame "X versus Y"**: *"tool is having an issue versus your system under test"* [583], *"execute versus their plan time"* [629].
## Teaching Habits
- **Taxonomy-first exposition.** The first speaker opens with a four-part categorization of the benchmark ecosystem (model server frameworks, competitive analysis tools, web benchmarks, production-scale benchmarks) before narrowing to the talk's focus.
- **Enumerated problem lists.** *"these four common uh things that we see as an issue, right? One is accurate uh metrics and two observability… and three reproducibility… and four the data set quality itself."*
- **Question-driven transitions.** Sections frequently open with a question: *"So what are some issues with a simple benchmark like this?"* / *"so what is the solution to this."*
- **Concrete numbers as evidence.** Specific figures are cited to make points tangible: *"you are only getting 38 QPS"* [361], *"the delay was up to 58 seconds"* [405], *"20% better throughput"* [439–451], *"even at 5,000 QPS"* [642].
- **Anecdote-from-experience framing**: *"we have been uh running benchmarks for a couple of years. So we run into all sort of uh different results that people share and a lot of times we aren't able to reproduce the results… So that is what motivated this talk."*
## Speaker Handoff Pattern
- Explicit, named handoff mid-talk: *"Jason here will take you over Thanks Ashook."* / *"Thanks Ashook. Uh so yeah, how do you how do you solve these problems?"*
- The second speaker **back-references the first speaker's material**: *"the pitfalls that Ashok brought up earlier"* [842], maintaining continuity.
## Sentence & Grammar Patterns
- Frequent **self-repairs and restarts**, consistent with live delivery: *"it could be your benchmark harness"* follows a false start; *"how how do you actually get high fidelity"*; *"determin determinism."*
- **"So" as a dominant discourse marker**, opening many explanatory chains: *"So even when you have like a multiCPU mission…"* / *"So this is an experiment we ran."*
## Uncertainty Notes
- The **"right?"** tic is heavily concentrated in the first speaker's sections; the second speaker uses it far less, favoring "uh" and "so." This speaker-level difference is based on a single video and should be treated as indicative rather than established.
- Slide-dependent explanation ("you can see here on the right") is frequent, but the actual visuals are not verifiable from the transcript alone.
## Stable vs. Isolated Patterns
- **Stable-looking:** filler density, "so"-led explanations, production-scale framing, question-based transitions, number-anchored evidence — each recurs across both speakers.
- **Possibly isolated:** the temperature-zero anecdote [439–461] and the GIL discussion [338] are one-off illustrations, though they exemplify the broader evidence-driven teaching style.
# Observed Positions: Are LLM Performance Benchmarks Reliable? — Ashok Chandrasekar & Jason Kramberger, Google
## Speakers
- **Ashok Chandrasekar** — Staff Software Engineer at Google; works on inference performance evaluation and optimization; leads the **inference perf** open-source benchmarking tool and is SIG lead for **LLMD** benchmarking (a distributed inference framework).
- **Jason Kramberger** — Software Engineer at Google; co-maintainer of inference perf and related sub-projects; works on inference performance and benchmarking.
---
## The Benchmark Ecosystem (Ashok)
Ashok categorizes the current landscape into four segments:
1. **Model server frameworks** (e.g., vLLM, SGLang) — developer-focused Python scripts for measuring a model server's own performance.
2. **Competitive analysis tools** (e.g., MLPerf, SemiAnalysis, Artificial Analysis) — for comparing chip/accelerator performance.
3. **Typical web benchmarks** (e.g., Locust, Grafana, k6) — high-scale HTTP benchmarks.
4. **Production-scale LLM benchmarks** — the talk's focus, targeting the full production inference serving stack (via inference perf).
## Problems with Simple Benchmarks (Ashok)
> "A lot of times you diagnose it as your server or inference stack problem, but in a lot of cases it could be your benchmark harness."
### Core challenge: production environments are complex
- Production stacks (LLMD example) include online serving, batch workloads, many servers in the inference pool, **pre-fill/decode disaggregation**, and workload autoscaling.
- Standard benchmark harnesses break down at this scale.
### Required characteristics of a production-scale benchmark
- **High load** capability
- **Real-world workload simulation** (not just synthetic traffic)
- **Metrics fidelity** — accuracy of reported metrics
- **Sweeping load levels** to find server saturation points for optimal performance/cost
- **SLO conformance** checks (e.g., time-to-first-token P90)
### Four common pitfalls (from ~2 years of running benchmarks)
1. **Metric accuracy**
2. **Observability into the benchmark tool itself**
3. **Reproducibility** (dataset randomness)
4. **Dataset quality**
### Concrete failure examples
- **Python GIL throttling**: In an experiment requesting 200 QPS from various harnesses, a single-process harness on a small machine achieved only **~38 QPS**; on a more powerful machine, single-process harnesses capped around **~170 QPS**. Crucially, the harness reports results without indicating it failed to deliver the requested load.
- **Latency inflation**: A thrashing harness trying to collect streaming tokens inflated measured latency — in one test **up to 58 seconds** — making the *server* appear bottlenecked when the *benchmark client* was the cause.
- **Temperature settings**: A third party claimed 20% better throughput; investigation showed their harness set **model temperature to zero**, producing more deterministic (and faster) outputs than real workloads (~0.7 temperature).
- **Dataset tokenization differences**: The same ShareGPT dataset across two harnesses produced **different input token counts** due to different sampling and truncation — invisible to users who trust the numbers.
- Open unresolved questions Ashok raises: end-of-sequence forcing, prefix cache rates, multi-turn replay, and achieving production-fidelity workloads.
---
## The Solution: Inference Perf (Jason)
### Origins and design
- Inference perf is a **CNCF project** spun out of the Kubernetes working group for serving, built with the community for standardized benchmarking.
- **Declarative configuration** enables reproducibility across runs.
- A multi-process **load generator** solves the GIL problem and reports *client* metrics alongside server metrics for fidelity and observability.
### Load generator architecture
- Main process queues requests by planned execution time (Poisson process, constant rate, or constant concurrency).
- Requests are spread across multiple worker processes that execute with minimal overhead and report deviations from planned time.
- **Claimed result**: at **5,000 QPS**, inference perf kept up and — importantly — *reported* that it kept up, in comparison with tools like k6.
### Workload catalog
- Published workloads tied to state-of-the-art inference scenarios: **multi-turn generation, tree-of-thought, agentic generation, batch summarization**, and others.
- Each has a natural-language scenario definition plus detailed configuration, expressed in generic terms for cross-tool standardization.
### Prism UI result (presented claim)
- Screenshot from **Prism** (part of LLMD) showing an **agentic code generation workload on TPUs** at production scale (8 replicas).
- **Combined optimizations** (green line) measured much higher than a **plain Kubernetes service baseline**, scaling to "almost hundreds of thousands of tokens per second."
---
## Stated Takeaways (Jason)
Principles for benchmarking validity:
- **Client concurrency** at production scale, with observability into whether the client meets configuration.
- **Metric fidelity** — observe both client and system under test to confirm valid execution.
- **Determinism/stochastic variables** must reflect real-world workload demands.
- **Datasets matter most** — workloads should closely match what is being tested; examples in the workload catalog.
---
## Unresolved / Qualifications
- The reproducibility failures cited ("we aren't able to reproduce the results shared by other people") motivated the talk but were presented as anecdotal industry observations, not a systematic study.
- The 20% throughput claim and token-count discrepancy are attributed to unnamed third parties ("someone shared").
- The Prism/TPU result is presented as a project demonstration; no independent verification is offered in the talk.
# Video Attribution & Provenance Record
## Speaker Identification & Roles
| Speaker | Role (self-stated) | Affiliation |
|---|---|---|
| **Ashok Chandrasekar** | Staff software engineer; works on inference performance evaluation and optimization | Google |
| **Jason Kramberger** | Software engineer; works on inference performance and benchmarking | Google |
### Speaker Notes
- **Transcript spelling variance:** The transcript renders names inconsistently ("Ashok Chandra Seeker," "Jason Kroger"); curated title metadata gives **Ashok Chandrasekar** and **Jason Kramberger**, treated here as authoritative.
- Both speakers identify as **co-maintainers/leads of open source projects**:
- Ashok: lead of **inference perf** (benchmarking tool) and **SIG lead for LLMD benchmarking**.
- Jason: co-maintainer of **inference perf** and related sub-projects.
- Format: conference-style **talk by two creators** (no external guests, no separate narrator; handoffs marked by "\>\>" speaker changes).
## Referenced Projects, Tools & Sources
- **inference perf** — CNCF benchmarking project, spun out of a Kubernetes working group ("serving"); Git repo linked at end of talk.
- **LLMD** — distributed inference framework for production-scale inference; hosts inference perf under LLMD benchmark.
- **LLMD Prism** — UI for sharing workloads and benchmark results (screenshot shown).
- **Workload catalog** — published set of standardized workload definitions (multi-turn generation, tree of thought, agentic generation, batch summarization).
- **Benchmark ecosystem mentioned (third-party):** vLLM ("VLM"), SGLang ("SGLAN"), MLPerf ("MLPF"), SemiAnalysis, Artificial Analysis, Locust, Grafana, k6.
- **Internal experiment data:** load-generation test (200 QPS request vs. 38/170 QPS achieved), latency inflation test (up to 58 seconds), 1,000 QPS scale-out test, temperature-zero throughput comparison (~20% better throughput claim), ShareGPT dataset tokenization differences across harnesses, agentic code generation benchmark on TPUs with 8 replicas.
- **Unnamed third-party claim:** an unspecified shared benchmark claiming "20% better throughput" attributed to temperature being set to zero — *claim reported secondhand, no original source identified in transcript*.
## Promotional Segments — Flagged
> ⚠️ **Promotion:** The entire talk promotes the speakers' own open source projects (inference perf, LLMD, LLMD Prism). Explicitly promotional elements include:
> - Direct presentation of inference perf as the "solution" to benchmark pitfalls.
> - Screenshot demonstrations of LLMD Prism results showing optimizations outperforming baseline.
> - Closing segment with **three links/references** to inference perf repo, LLMD, and LLMD Prism, presented as resources for viewers.
These are creator-affiliated projects presented by their maintainers; claims about their performance (e.g., keeping up at 5,000 QPS, "hundreds of thousands of tokens per second") are **self-reported** by the project maintainers.
## Availability & Access Facts
- Links to Git repo and project pages are referenced verbally ("three links") but **URLs are not provided in the transcript**.
- LLMD default metrics noted as "pulled from the website" — website not identified in transcript.
- No paywall, membership, or comment-availability restrictions are stated.
## Uncertainty Notes
- Names normalized per title metadata; transcript phonetic spellings flagged above.
- Third-party tool names are transcribed phonetically (e.g., "VLM" for likely vLLM, "ksix" for likely k6); exact spellings not confirmed in-source.
- The "58 seconds" latency inflation figure and benchmark numbers are as-stated by speakers; no external verification available.
Hi everyone, welcome to our talk on um our LLM performance benchmarks reliable. A little bit about us. I am Ashok
Chandra Seeker. I'm a staff software engineer at Google. I work on inference performance evaluation and optimization. Um and I lead a couple of open source projects. One is called inference perf uh which is a benchmarking tool to do reliable performance benchmarks and uh I'm also the sig lead for LLMD benchmarking. LLMD is a distributed inference framework um that makes production scale inference possible. \>\> Hi everyone, I'm Jason Kroger. I'm a software engineer at Google. Uh I'm also a co-maintainer of inference Perf and a few of the sub projects that Ashok brought up. uh and I work on inference performance and benchmarking. \>\> Okay, let's get started. Um let's look a little bit about the how the benchmark ecosystem looks like. Right? You have your model server frameworks. Uh these are VLM, SGLAN, um and other model servers and all of these have some benchmark capability within them. Right? These are primarily Python scripts and are developer focused benchmarks to see how you can measure the performance of your model server itself. And then you have your competitive analysis tools. Uh these are MLPF, semi analysis, artificial analysis and so on. Right? They mainly aim for competitive performance benchmarks to compare like chip and accelerator performance. Uh and then you have your typical web benchmarks. Uh these are like locus, graphfana, ksix um and so on. These mainly focus on highcale http benchmarks, right? uh and then you have your um last segment which is the production scale LLM benchmarks right these are to actually benchmark uh your production inference serving stack and that is our focus today right we'll be focusing mainly on inference perf and how we solve this uh production scale benchmark problem so if you have run a benchmark before uh it typically looks like this right um you have some sort of benchmark hardness uh and then you specify what model you are bench benchmarking the number of prompts you want to run, what is the input output sequence length uh and the request rate or the load you want to send, right? Uh and your output looks something uh like what is on the right. Uh this is basically your uh input token throughput, output token throughput, some latency metrics, time to first token, time per output token and so on. Um so what are some issues with a simple benchmark like this? Right? So if you
want to actually benchmark production scale workloads um here I have LLMD inference stack as an example right uh you can have uh online serving you can
have batch workloads and if you see the inference pool below uh there are like lot of servers that are running right and then you have like complex configurations like pre-fill decode disagregation um and workload autoscaling and other things that are going on under the hood and usually the scale is much larger right so your um normal benchmark harnesses runs into issues when you try to benchmark a setup like this. And if you look at like the key characteristics of what we want out of a production scale benchmark, we need to be able to do high load uh which is limited in a lot of tools out there. We need to be able to simulate real world workloads, right? Um what use it is if it is just some synthetic workload that is not accurately representing uh what your customers are going to run. Uh and then metrics fidelity is very important, right? Are the metrics accurate and how well they work? Uh this is like the set of metrics that LLMD measures uh by default. Uh I just pulled it from the website there. Uh as you can see it's not just like a single QPS that you are running, right? You are sweeping a a list of various loads and uh you try to measure what the baseline is and what optimizations you are making and what the difference there is. um you need to find the right point where the server gets saturated so you know the right optimal uh point to run your servers on uh to maximize performance and to save costs um and things like uh SLOs's become more important right what is your um time to first token P90 SLO and are you conformant to that SLO so when you run like um normal benchmark like we saw before what are some of the pitfalls that you run into right uh we
have been uh running benchmarks for a couple of years. So we run into all sort of uh different results that people share and a lot of times we aren't able to reproduce the results that are shared by other people. Right? So that is what
motivated this talk. Um so these four common uh things that we see as an issue, right? One is accurate uh metrics and two observability into your benchmark tool itself. Um do you know if your benchmark harness is actually failing? Is it not able to maintain the load? Um and three reproducibility. Uh there is some inherent uh randomness uh in like the data sets that you use. So how do you make sure it is reproducible and four the data set quality itself. So this is an experiment we ran. Um we asked like different benchmark harness to generate 200 QPS and this was the result right. Um so a couple of things I want to point out. Um, Python has this
global interpreter lock GIL if you have been working with Python, you know that which makes everything uh sort of single threaded. So even when you have like a multiCPU mission, a lot of times you are
limited by the performance of a single CPU uh when you're CPU bound especially, right? Uh so this kind of shows a single process um benchmark harness and a multiprocess harness and how the QPS you are able to achieve differs based on it, right? when you run with a really uh small shad core mission, you can see that even when you request 200 QPS, you are only getting 38 QPS and then you give it a bigger mission and then some of these uh single process harness they cap out at like 170 QPS, right? This is a much more powerful machine. Um but it is a problem because you ask for 200 QPS and then you don't know whether it actually delivered it. It will just say I ran it these are the numbers. So you think okay you ran 200 QPS but in fact you you have not. Uh the other issue that comes out of it
is the latency inflation right if your server is saying okay this is how much QPS I was able to run and this was the accurate numbers that is one thing but if your uh benchmark harness is actually
inflating latency right because it's thrashing trying to collect all the streaming token requests um in one of the tests we noticed like u the delay was up to 58 seconds. So you might look at this and go oh my server is bottlenecked right it's not able to handle all the requests but in fact it's actually your benchmark client that is inflating the latency right uh we ran like a th000 QPS test uh when your when your benchmark harness is actually able to scale out you can see there is very minimal latency right this simulated server so there shouldn't be any latency at all
um and like I said there are like other variables that go into it right in one of the benchmarks um someone shared and they said, "Hey, we are getting 20% better throughput." Then we looked into it and we found out the benchmark
harness were setting the model temperature to zero, right? Which means your model outputs are a lot more deterministic and it was able to turn out a higher throughput than what you would normally see in like a real workload, right? Where your model temperature is somewhere around 0.7. Um another thing is like we used a a shar GPD data set the same data set across two different benchmark harness and they produce different input tokens right this is because they sample them differently they truncate them uh differently so as a user you don't have insight into this right you run it you trust the numbers it produces but they are wildly different uh and there is much more right do you actually force it to generate till the end of sequence are you looking at prefix cache rates how do you do mult multi-turn uh replay via benchmarks and uh how how do you actually get high fidelity uh on the actual workload that would resemble your production workload right so the main thing I wanted to convey here is like a lot of times you diagnose it as a your server or inference stack problem but in a lot of cases it could be your benchmark harness
so what is the solution to this how do we actually do reproducible benchmarks Jason here will take you over Thanks Ashook. Uh so yeah, how do you
how do you solve these problems? Uh we al together inferencepf uh the CNCF project spanned out of Kubernetes working group serving uh to provide like a standardized place for us to work with the community and solve some of these issues together. uh it enables the ability to have like a userdefined declarative configuration uh that allows you to have clear reproducibility across runs. We also added a load generator uh that solves the GIL problem in Python uh across multiple processes and reports those client metrics back along with server metrics to ensure that you have the highest metric fidelity and you're able to actually observe when your tool is having an issue versus your system under test. So, first going over the load generator, uh you see that the main process actually cues requests based off of the planned time that they need to execute, which is based off of your configuration. This may be in some poison process or constant rate or maintaining a constant number of concurrent requests. This request Q channel is then spread across multiple processes which pull and ensure that they execute with minimum overhead but then also observability about when they execute versus their plan time. And you can see this working at scale. So this is a comparison across other tools uh some being the HTTP scaled tools like K6. uh but you see that even at 5,000 QPS inference perf was able to keep up due to this architecture and most importantly actually report that it was able to keep up. Other portion is configuration. So earlier I show showed a brief example of how you might simply run a benchmarking tool. And here on the left you can see a simple example running a random data set against an endpoint. But the actual configuration that we have in front of inference perf is very detailed with a lot of knobs that allow you to accurately uh test your configuration off of your workloads. You can see here on the right that this is uh configuration for conversation replay where you're able to configure not only like the input output length but their distributions etc. And further beyond just the ability to configure a single run, we've actually worked together to have a published set of some
of these workloads and configuration of inference perf that are tied to state-of-the-art inference workloads. For example, here in the workload catalog that we've put out, you're able
to access standard multi-turn uh generation, tree of thought, agentic generation uh as well as batch summarization and others. Each one of these has a simple definition uh kind of in natural language that allows you to understand what the scenario is. But beyond that there's also pretty detailed configuration metrics not only in inference perf configuration but in generic terms so that this can actually be shared across tools and have a place for standardization of these workloads. So kind of the culmination of these things uh leads us to actual results that we can clearly display. Uh and here's a screenshot from Prism which is a UI we have for sharing not only those workloads that I showed before but also some benchmarking results. Uh and Prism is a part of the LLMD project. Here you can see a benchmark result for the agentic code generation workload that we showed before on TPUs. Uh these three lines you see here show you The difference between combined optimizations is the green line and a baseline that is just a simple Kubernetes service instead of in front of multiple model server replicas. It's important to note here is that this is at production scale with eight replicas. And you can see that the combined optimizations were measured to be much higher than the baseline scaling into almost hundreds of thousands of tokens per second.
So the takeaways kind of the principles for benchmarking validity based off of the pitfalls that Ashok brought up earlier. At production scale, you need client
concurrency and you need observability into your client's behavior and its ability to meet your configuration. The metric fidelity allows you to actually observe your client's behavior as well as your system under test and understand that your scenario was accurately executed and your performance results were valid. The stochcastic variables uh and non-determinism or determin determinism that you set amongst your run needs to reflect your real world demands uh for your workload. And most importantly, your data sets do truly matter. Your workloads uh need to be as close to what you are intending to test as possible. And uh we have examples in the workload catalog. So here we have three links to some of the things that we've presented on here before. Inferencepf is our benchmarking tool and there's the git repo for it. Llmd is a project that we work under and inferencepf under it in LLMD benchmark. uh LLMD is for production scale inference and then LLMD Prism which was that UI we showed for the benchmarking results uh and the workload catalog that defines some of these workloads. So that will answer questions after but we appreciate your time. \>\> \[music\]
