From b1d17b74a61a63bfcb086d2dcca486b911738f28 Mon Sep 17 00:00:00 2001 From: functionstackx <47992694+functionstackx@users.noreply.github.com> Date: Sat, 4 Apr 2026 18:40:27 -0400 Subject: [PATCH 1/2] Add 10 landing page PoC variants in land-acknowledgement style MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Glassy card design with brand accents, semi-transparent backgrounds, and responsive grids — matching the existing land-acknowledgement page aesthetic across: about, methodology, infrastructure, open-source, partners, careers, press, changelog, status, contact, and FAQ. Co-Authored-By: Claude Opus 4.6 (1M context) --- packages/app/src/app/landing/about/page.tsx | 84 ++++++++++ packages/app/src/app/landing/careers/page.tsx | 115 +++++++++++++ .../app/src/app/landing/changelog/page.tsx | 128 ++++++++++++++ packages/app/src/app/landing/contact/page.tsx | 123 ++++++++++++++ packages/app/src/app/landing/faq/page.tsx | 116 +++++++++++++ .../src/app/landing/infrastructure/page.tsx | 100 +++++++++++ .../app/src/app/landing/methodology/page.tsx | 100 +++++++++++ .../app/src/app/landing/open-source/page.tsx | 116 +++++++++++++ .../app/src/app/landing/partners/page.tsx | 97 +++++++++++ packages/app/src/app/landing/press/page.tsx | 129 +++++++++++++++ packages/app/src/app/landing/status/page.tsx | 156 ++++++++++++++++++ 11 files changed, 1264 insertions(+) create mode 100644 packages/app/src/app/landing/about/page.tsx create mode 100644 packages/app/src/app/landing/careers/page.tsx create mode 100644 packages/app/src/app/landing/changelog/page.tsx create mode 100644 packages/app/src/app/landing/contact/page.tsx create mode 100644 packages/app/src/app/landing/faq/page.tsx create mode 100644 packages/app/src/app/landing/infrastructure/page.tsx create mode 100644 packages/app/src/app/landing/methodology/page.tsx create mode 100644 packages/app/src/app/landing/open-source/page.tsx create mode 100644 packages/app/src/app/landing/partners/page.tsx create mode 100644 packages/app/src/app/landing/press/page.tsx create mode 100644 packages/app/src/app/landing/status/page.tsx diff --git a/packages/app/src/app/landing/about/page.tsx b/packages/app/src/app/landing/about/page.tsx new file mode 100644 index 00000000..79293e7b --- /dev/null +++ b/packages/app/src/app/landing/about/page.tsx @@ -0,0 +1,84 @@ +import type { Metadata } from 'next'; + +import { Card } from '@/components/ui/card'; +import { SITE_URL } from '@semianalysisai/inferencex-constants'; + +const PILLARS = [ + { + label: 'Transparency', + title: 'Open Benchmarks, Open Data', + description: + 'Every benchmark run is fully reproducible. We publish raw configs, hardware specs, and methodology so the community can verify — and improve — our results.', + }, + { + label: 'Rigor', + title: 'Production-Grade Testing', + description: + 'We test under real-world concurrency, mixed workloads, and sustained load — not cherry-picked single-request latencies. Our benchmarks reflect what you actually experience in production.', + }, + { + label: 'Independence', + title: 'No Vendor Bias', + description: + 'We benchmark every major GPU and inference framework on equal footing. No sponsorships influence our results. The data speaks for itself.', + }, +]; + +export const metadata: Metadata = { + title: 'About', + description: + 'InferenceX is the open-source ML inference benchmark platform by SemiAnalysis. Learn about our mission to bring transparency to GPU performance.', + alternates: { canonical: `${SITE_URL}/landing/about` }, + openGraph: { + title: 'About | InferenceX', + description: 'InferenceX is the open-source ML inference benchmark platform by SemiAnalysis.', + url: `${SITE_URL}/landing/about`, + }, +}; + +export default function AboutPage() { + return ( +
+
+ +
+

+ About InferenceX +

+

+ The open standard for ML inference benchmarking. +

+

+ Built by SemiAnalysis, InferenceX exists to answer one question: how fast is + inference, really? We run continuous, reproducible benchmarks across every major GPU + and framework so you can make hardware decisions based on evidence, not marketing. +

+
+ +
+ {PILLARS.map((pillar) => ( +
+

+ {pillar.label} +

+

+ {pillar.title} +

+

{pillar.description}

+
+ ))} +
+ +

+ InferenceX is open source under the Apache 2.0 license. We believe the AI ecosystem + moves faster when performance data is freely available to everyone — researchers, + engineers, and decision-makers alike. +

+
+
+
+ ); +} diff --git a/packages/app/src/app/landing/careers/page.tsx b/packages/app/src/app/landing/careers/page.tsx new file mode 100644 index 00000000..fc2d0805 --- /dev/null +++ b/packages/app/src/app/landing/careers/page.tsx @@ -0,0 +1,115 @@ +import type { Metadata } from 'next'; + +import { Card } from '@/components/ui/card'; +import { SITE_URL } from '@semianalysisai/inferencex-constants'; + +const ROLES = [ + { + department: 'Engineering', + title: 'Systems Engineer — GPU Infrastructure', + location: 'San Jose, CA · On-site', + description: + 'Build and maintain the bare-metal GPU clusters that power InferenceX benchmarks. You will work directly with NVIDIA and AMD hardware, configure multi-node NVLink topologies, and optimize kernel-level performance.', + }, + { + department: 'Engineering', + title: 'Full-Stack Engineer — Dashboard', + location: 'Remote · US', + description: + 'Own the InferenceX dashboard — Next.js, D3.js, and React Query at scale. Build interactive charts that make complex benchmark data intuitive for GPU buyers, ML engineers, and researchers.', + }, + { + department: 'Research', + title: 'ML Performance Researcher', + location: 'Remote · Global', + description: + 'Design and execute inference benchmarks that capture real-world performance characteristics. Publish methodology papers and collaborate with framework teams on optimization strategies.', + }, + { + department: 'Content', + title: 'Technical Writer — AI Hardware', + location: 'Remote · US/EU', + description: + 'Turn benchmark data into compelling analysis. Write blog posts, deep-dives, and reports that help the AI community understand GPU performance tradeoffs and make informed decisions.', + }, +]; + +const VALUES = [ + { title: 'Ship Daily', description: 'Small, frequent releases over big-bang launches.' }, + { title: 'Data Over Opinions', description: 'We measure first, debate second.' }, + { title: 'Build in Public', description: 'Open source by default, proprietary by exception.' }, +]; + +export const metadata: Metadata = { + title: 'Careers', + description: + 'Join the InferenceX team — open roles in GPU infrastructure, full-stack engineering, ML research, and technical writing.', + alternates: { canonical: `${SITE_URL}/landing/careers` }, + openGraph: { + title: 'Careers | InferenceX', + description: + 'Open roles at InferenceX — GPU infrastructure, engineering, research, and writing.', + url: `${SITE_URL}/landing/careers`, + }, +}; + +export default function CareersPage() { + return ( +
+
+ +
+

+ Careers +

+

+ Help us benchmark the future of AI compute. +

+

+ InferenceX is a small, high-leverage team inside SemiAnalysis. We build the tools that + GPU buyers, ML engineers, and researchers rely on to make million-dollar hardware + decisions. If you care about performance, open data, and shipping fast — we want to + talk to you. +

+
+ +
+ {VALUES.map((v) => ( +
+

+ {v.title} +

+

{v.description}

+
+ ))} +
+ +
+ {ROLES.map((role) => ( +
+
+

+ {role.department} +

+ {role.location} +
+

+ {role.title} +

+

{role.description}

+
+ ))} +
+ +

+ No formal job listing needed — if you have relevant experience and want to work on hard + problems in AI infrastructure, reach out to us directly. +

+
+
+
+ ); +} diff --git a/packages/app/src/app/landing/changelog/page.tsx b/packages/app/src/app/landing/changelog/page.tsx new file mode 100644 index 00000000..ec043646 --- /dev/null +++ b/packages/app/src/app/landing/changelog/page.tsx @@ -0,0 +1,128 @@ +import type { Metadata } from 'next'; + +import { Card } from '@/components/ui/card'; +import { SITE_URL } from '@semianalysisai/inferencex-constants'; + +const RELEASES = [ + { + version: 'v2.4.0', + date: 'April 2026', + title: 'Disaggregated Serving Metrics', + changes: [ + 'Added per-prefill and per-decode GPU throughput metrics', + 'New disagg caveat banners on affected charts', + 'TCO calculator now supports disaggregated configs', + ], + }, + { + version: 'v2.3.0', + date: 'March 2026', + title: 'Historical Trends Overhaul', + changes: [ + 'Spline-interpolated trend lines for smoother GPU timeseries', + 'Comparison date picker for side-by-side performance deltas', + 'Interactive zooming with persistent zoom state across tab switches', + ], + }, + { + version: 'v2.2.0', + date: 'February 2026', + title: 'Evaluation Tab Launch', + changes: [ + 'New evaluation benchmarks tab with accuracy vs speed tradeoffs', + 'MMLU, HumanEval, and GSM8K integration', + 'Sidebar legend with model-level filtering', + ], + }, + { + version: 'v2.1.0', + date: 'January 2026', + title: 'AMD MI355X Support', + changes: [ + 'Full benchmark coverage for AMD Instinct MI355X', + 'ROCm framework compatibility validated', + 'Added to GPU specs comparison table', + ], + }, + { + version: 'v2.0.0', + date: 'December 2025', + title: 'Platform Rewrite', + changes: [ + 'Migrated from Create React App to Next.js 16 App Router', + 'D3.js chart library rewritten with 4-effect architecture', + 'React Query data layer with automatic cache invalidation', + 'New dark-glass design system with circuit background', + ], + }, +]; + +export const metadata: Metadata = { + title: 'Changelog', + description: + 'InferenceX changelog — new features, GPU additions, framework updates, and platform improvements.', + alternates: { canonical: `${SITE_URL}/landing/changelog` }, + openGraph: { + title: 'Changelog | InferenceX', + description: 'Track every InferenceX platform update, new GPU, and feature release.', + url: `${SITE_URL}/landing/changelog`, + }, +}; + +export default function ChangelogPage() { + return ( +
+
+ +
+

+ Changelog +

+

+ What's new in InferenceX. +

+

+ A chronological record of features, improvements, and new hardware support. We ship + updates daily — this page captures the highlights. +

+
+ +
+ {RELEASES.map((release) => ( +
+
+ + {release.version} + + {release.date} +
+

+ {release.title} +

+
    + {release.changes.map((change) => ( +
  • + + {change} +
  • + ))} +
+
+ ))} +
+ +

+ For the full commit history, visit our open-source repository on GitHub. Automated + release notes are generated for every deployment. +

+
+
+
+ ); +} diff --git a/packages/app/src/app/landing/contact/page.tsx b/packages/app/src/app/landing/contact/page.tsx new file mode 100644 index 00000000..bebfdf8c --- /dev/null +++ b/packages/app/src/app/landing/contact/page.tsx @@ -0,0 +1,123 @@ +import type { Metadata } from 'next'; + +import { Card } from '@/components/ui/card'; +import { SITE_URL } from '@semianalysisai/inferencex-constants'; + +const CHANNELS = [ + { + type: 'General', + title: 'Community & Support', + description: + 'For questions, bug reports, and feature requests — open an issue on our GitHub repository. Our team triages daily and responds to most issues within 24 hours.', + contact: 'github.com/SemiAnalysisAI/InferenceX-app', + }, + { + type: 'Business', + title: 'Enterprise & Partnerships', + description: + 'For custom benchmark requests, hardware partnership inquiries, or enterprise data access — reach out to our business team directly.', + contact: 'partnerships@semianalysis.com', + }, + { + type: 'Press', + title: 'Media & Press', + description: + 'For press inquiries, interview requests, or access to high-resolution assets and benchmark data for publication.', + contact: 'press@semianalysis.com', + }, + { + type: 'Security', + title: 'Security Disclosures', + description: + 'Found a security vulnerability? We take security seriously. Please report responsibly through our security contact — do not open public issues.', + contact: 'security@semianalysis.com', + }, +]; + +const SOCIALS = [ + { platform: 'GitHub', handle: 'SemiAnalysisAI' }, + { platform: 'X / Twitter', handle: '@SemiAnalysis' }, + { platform: 'YouTube', handle: '@SemiAnalysis' }, + { platform: 'Discord', handle: 'SemiAnalysis Community' }, +]; + +export const metadata: Metadata = { + title: 'Contact', + description: + 'Get in touch with the InferenceX team — community support, enterprise partnerships, press inquiries, and security disclosures.', + alternates: { canonical: `${SITE_URL}/landing/contact` }, + openGraph: { + title: 'Contact | InferenceX', + description: 'Reach the InferenceX team for support, partnerships, or press inquiries.', + url: `${SITE_URL}/landing/contact`, + }, +}; + +export default function ContactPage() { + return ( +
+
+ +
+

+ Contact +

+

+ Let's talk inference. +

+

+ Whether you're reporting a bug, proposing a partnership, or just want to nerd out + about GPU benchmarks — we'd love to hear from you. +

+
+ +
+ {CHANNELS.map((channel) => ( +
+

+ {channel.type} +

+

+ {channel.title} +

+

+ {channel.description} +

+

+ {channel.contact} +

+
+ ))} +
+ +
+

+ Find Us +

+
+ {SOCIALS.map((social) => ( +
+

+ {social.platform} +

+

{social.handle}

+
+ ))} +
+
+ +

+ Response times vary by channel. GitHub issues are fastest for technical questions. For + time-sensitive business matters, email is preferred. +

+
+
+
+ ); +} diff --git a/packages/app/src/app/landing/faq/page.tsx b/packages/app/src/app/landing/faq/page.tsx new file mode 100644 index 00000000..e0791368 --- /dev/null +++ b/packages/app/src/app/landing/faq/page.tsx @@ -0,0 +1,116 @@ +import type { Metadata } from 'next'; + +import { Card } from '@/components/ui/card'; +import { SITE_URL } from '@semianalysisai/inferencex-constants'; + +const FAQS = [ + { + category: 'Data', + question: 'How often are benchmarks updated?', + answer: + 'We run benchmarks daily on a cron schedule. New results appear on the dashboard within hours of completion. Historical data is preserved indefinitely so you can track performance changes over time.', + }, + { + category: 'Data', + question: 'Can I download the raw benchmark data?', + answer: + 'Yes. The API is public and returns raw database rows with no presentation logic. You can also query our open-source database schema directly for custom analysis.', + }, + { + category: 'Methodology', + question: 'Why do your numbers differ from vendor specs?', + answer: + 'Vendor specs typically show peak single-request performance. We benchmark under realistic concurrency, sustained load, and mixed input/output lengths — conditions that reveal bottlenecks invisible in idealized tests.', + }, + { + category: 'Methodology', + question: 'What metrics do you measure?', + answer: + 'Time to first token (TTFT), time per output token (TPOT), inter-token latency (ITL), end-to-end latency, and throughput — all at P50, P99, and tail percentiles under varying concurrency levels.', + }, + { + category: 'Hardware', + question: 'Which GPUs do you benchmark?', + answer: + 'NVIDIA GB200, H200, H100 (SXM and PCIe), A100, L40S, and AMD MI300X, MI325X, MI355X. We add new hardware within weeks of availability and retire legacy GPUs when they leave mainstream deployment.', + }, + { + category: 'Hardware', + question: 'Can I run InferenceX on my own GPUs?', + answer: + 'Absolutely. The benchmark runner is open source and designed to be self-hostable. Fork the repo, point it at your hardware, and compare your results against our published data.', + }, + { + category: 'Platform', + question: 'Is InferenceX free?', + answer: + 'Yes, completely. The dashboard, API, and all underlying code are open source under Apache 2.0. No registration, no API keys, no usage limits.', + }, + { + category: 'Platform', + question: 'How can I contribute?', + answer: + 'Open a PR on GitHub. We welcome new model configs, GPU additions, framework integrations, dashboard features, and methodology improvements. PRs are reviewed within 48 hours.', + }, +]; + +const CATEGORIES = [...new Set(FAQS.map((f) => f.category))]; + +export const metadata: Metadata = { + title: 'FAQ', + description: + 'Frequently asked questions about InferenceX — benchmark methodology, data access, supported hardware, and how to contribute.', + alternates: { canonical: `${SITE_URL}/landing/faq` }, + openGraph: { + title: 'FAQ | InferenceX', + description: 'Common questions about InferenceX benchmarks, data, and methodology.', + url: `${SITE_URL}/landing/faq`, + }, +}; + +export default function FAQPage() { + return ( +
+
+ +
+

FAQ

+

+ Questions we hear a lot. +

+

+ Everything you need to know about InferenceX — from how we measure performance to how + you can contribute. Can't find your answer? Open an issue on GitHub. +

+
+ + {CATEGORIES.map((category) => ( +
+

+ {category} +

+
+ {FAQS.filter((f) => f.category === category).map((faq) => ( +
+

+ {faq.question} +

+

{faq.answer}

+
+ ))} +
+
+ ))} + +

+ Still have questions? The fastest way to get answers is to open a GitHub issue. Our team + monitors issues daily and most questions are answered within 24 hours. +

+
+
+
+ ); +} diff --git a/packages/app/src/app/landing/infrastructure/page.tsx b/packages/app/src/app/landing/infrastructure/page.tsx new file mode 100644 index 00000000..03d65611 --- /dev/null +++ b/packages/app/src/app/landing/infrastructure/page.tsx @@ -0,0 +1,100 @@ +import type { Metadata } from 'next'; + +import { Card } from '@/components/ui/card'; +import { SITE_URL } from '@semianalysisai/inferencex-constants'; + +const CLUSTERS = [ + { + location: 'Santa Clara, CA', + codename: 'SCL-01', + specs: 'NVIDIA GB200 NVL72, H100 SXM, H200 SXM', + description: + 'Our flagship West Coast cluster houses the latest NVIDIA Blackwell and Hopper GPUs with NVLink interconnect. Primary site for multi-GPU disaggregated serving benchmarks.', + }, + { + location: 'Dallas, TX', + codename: 'DFW-02', + specs: 'AMD MI300X, MI325X, MI355X', + description: + 'Dedicated AMD Instinct cluster for cross-vendor comparisons. Full ROCm stack with latest driver releases. Houses our growing AMD benchmark suite.', + }, + { + location: 'Chicago, IL', + codename: 'ORD-03', + specs: 'NVIDIA H100 PCIe, A100 SXM, L40S', + description: + 'Mid-tier GPU cluster focused on cost-efficiency benchmarks. Tests the GPUs most commonly deployed in production inference workloads today.', + }, + { + location: 'Ashburn, VA', + codename: 'IAD-04', + specs: 'Mixed — edge and inference accelerators', + description: + 'East Coast facility for latency-sensitive edge inference testing. Cross-region latency measurements originate from this site.', + }, +]; + +export const metadata: Metadata = { + title: 'Infrastructure', + description: + 'InferenceX benchmark infrastructure — bare-metal GPU clusters across four US regions running NVIDIA and AMD hardware.', + alternates: { canonical: `${SITE_URL}/landing/infrastructure` }, + openGraph: { + title: 'Infrastructure | InferenceX', + description: 'Explore the GPU clusters powering InferenceX benchmarks across four US regions.', + url: `${SITE_URL}/landing/infrastructure`, + }, +}; + +export default function InfrastructurePage() { + return ( +
+
+ +
+

+ Infrastructure +

+

+ Bare metal. No compromises. +

+

+ InferenceX benchmarks run on dedicated bare-metal servers across four US regions. No + cloud VMs, no shared resources — just raw hardware performance with full control over + the software stack from BIOS to framework. +

+
+ +
+ {CLUSTERS.map((cluster) => ( +
+
+

+ {cluster.location} +

+ + {cluster.codename} + +
+

+ {cluster.specs} +

+

+ {cluster.description} +

+
+ ))} +
+ +

+ All clusters are connected via dedicated 100Gbps links. Hardware configurations are + documented in our open-source repository and updated with each infrastructure change. +

+
+
+
+ ); +} diff --git a/packages/app/src/app/landing/methodology/page.tsx b/packages/app/src/app/landing/methodology/page.tsx new file mode 100644 index 00000000..e49bd7fa --- /dev/null +++ b/packages/app/src/app/landing/methodology/page.tsx @@ -0,0 +1,100 @@ +import type { Metadata } from 'next'; + +import { Card } from '@/components/ui/card'; +import { SITE_URL } from '@semianalysisai/inferencex-constants'; + +const STEPS = [ + { + step: '01', + title: 'Hardware Provisioning', + description: + 'Dedicated bare-metal servers with isolated GPU access. No shared tenancy, no noisy neighbors. Each benchmark run gets exclusive hardware to ensure consistent, reproducible measurements.', + }, + { + step: '02', + title: 'Framework Deployment', + description: + 'We deploy each inference framework (vLLM, TensorRT-LLM, SGLang, and others) using their recommended production configurations. No custom patches or unreleased optimizations.', + }, + { + step: '03', + title: 'Load Generation', + description: + 'Synthetic traffic that mirrors real-world patterns — variable input/output lengths, mixed concurrency levels, and sustained throughput. We measure P50, P99, and tail latencies under realistic conditions.', + }, + { + step: '04', + title: 'Data Collection & Validation', + description: + 'Automated pipelines collect TTFT, TPOT, ITL, throughput, and end-to-end latency. Outlier detection flags anomalous runs. Every data point links back to the exact config and commit that produced it.', + }, + { + step: '05', + title: 'Publication', + description: + 'Results flow into the InferenceX dashboard within hours. Historical data is preserved so you can track performance regressions and improvements across framework releases.', + }, +]; + +export const metadata: Metadata = { + title: 'Methodology', + description: + 'How InferenceX benchmarks ML inference performance — hardware provisioning, load generation, data validation, and publication pipeline.', + alternates: { canonical: `${SITE_URL}/landing/methodology` }, + openGraph: { + title: 'Methodology | InferenceX', + description: + 'How InferenceX benchmarks ML inference performance — from hardware provisioning to data publication.', + url: `${SITE_URL}/landing/methodology`, + }, +}; + +export default function MethodologyPage() { + return ( +
+
+ +
+

+ Methodology +

+

+ How we measure what matters. +

+

+ Benchmarking inference is deceptively hard. A single request latency tells you almost + nothing about production behavior. Our methodology is designed to capture the metrics + that actually matter when you're serving millions of tokens per day. +

+
+ +
+ {STEPS.map((item) => ( +
+

+ Step {item.step} +

+

+ {item.title} +

+

{item.description}

+
+ ))} +
+ +

+ Our full methodology, including config files and load generation scripts, is available + in our open-source repository. We welcome community review and contributions to improve + our benchmarking process. +

+
+
+
+ ); +} diff --git a/packages/app/src/app/landing/open-source/page.tsx b/packages/app/src/app/landing/open-source/page.tsx new file mode 100644 index 00000000..deab218a --- /dev/null +++ b/packages/app/src/app/landing/open-source/page.tsx @@ -0,0 +1,116 @@ +import type { Metadata } from 'next'; + +import { Card } from '@/components/ui/card'; +import { SITE_URL } from '@semianalysisai/inferencex-constants'; + +const REPOS = [ + { + name: 'InferenceX App', + language: 'TypeScript', + description: + 'The dashboard you are looking at right now. Next.js 16, D3.js charts, React Query, and Tailwind CSS. Every chart, filter, and data pipeline is open for inspection and contribution.', + stars: '1.2k', + }, + { + name: 'InferenceX Runner', + language: 'Python', + description: + 'The benchmark orchestrator. Handles GPU provisioning, framework deployment, load generation, and result collection. Designed to be self-hostable on your own hardware.', + stars: '890', + }, + { + name: 'InferenceX Configs', + language: 'YAML', + description: + 'Every benchmark configuration ever run — model parameters, serving configs, hardware specs. Full provenance for every data point on the dashboard.', + stars: '340', + }, +]; + +const PRINCIPLES = [ + { + title: 'Fork It', + description: 'Run our benchmarks on your own hardware. Compare your results against ours.', + }, + { + title: 'Fix It', + description: 'Found a bug or methodology flaw? PRs are welcome. We review within 48 hours.', + }, + { + title: 'Extend It', + description: + 'Add new models, GPUs, or frameworks. The architecture is designed for extensibility.', + }, +]; + +export const metadata: Metadata = { + title: 'Open Source', + description: + 'InferenceX is fully open source under Apache 2.0. Explore our repositories, contribute benchmarks, and run tests on your own hardware.', + alternates: { canonical: `${SITE_URL}/landing/open-source` }, + openGraph: { + title: 'Open Source | InferenceX', + description: 'InferenceX is fully open source under Apache 2.0.', + url: `${SITE_URL}/landing/open-source`, + }, +}; + +export default function OpenSourcePage() { + return ( +
+
+ +
+

+ Open Source +

+

+ Trust is earned in the open. +

+

+ Benchmark data is only as credible as its source. That's why every line of code, + every configuration, and every data pipeline behind InferenceX is open source. Verify + our methodology. Reproduce our results. Hold us accountable. +

+
+ +
+ {REPOS.map((repo) => ( +
+
+

+ {repo.language} +

+ {repo.stars} stars +
+

+ {repo.name} +

+

{repo.description}

+
+ ))} +
+ +
+ {PRINCIPLES.map((p) => ( +
+

+ {p.title} +

+

{p.description}

+
+ ))} +
+ +

+ Licensed under Apache 2.0. Use our data, fork our code, and build something better. The + AI ecosystem benefits when performance data is free. +

+
+
+
+ ); +} diff --git a/packages/app/src/app/landing/partners/page.tsx b/packages/app/src/app/landing/partners/page.tsx new file mode 100644 index 00000000..7d761889 --- /dev/null +++ b/packages/app/src/app/landing/partners/page.tsx @@ -0,0 +1,97 @@ +import type { Metadata } from 'next'; + +import { Card } from '@/components/ui/card'; +import { SITE_URL } from '@semianalysisai/inferencex-constants'; + +const PARTNERS = [ + { + tier: 'Hardware', + name: 'GPU Manufacturers', + description: + 'We work directly with NVIDIA, AMD, and emerging accelerator vendors to ensure our benchmarks use optimal configurations and reflect real-world deployment patterns.', + contributions: ['Early access hardware', 'Driver optimization guidance', 'Reference configs'], + }, + { + tier: 'Framework', + name: 'Inference Frameworks', + description: + 'Close collaboration with vLLM, TensorRT-LLM, SGLang, and other framework teams ensures we benchmark the latest optimizations as they land.', + contributions: ['Nightly builds', 'Performance tuning', 'Bug reports & fixes'], + }, + { + tier: 'Cloud', + name: 'Infrastructure Providers', + description: + 'Bare-metal and cloud partners provide the compute resources that power our continuous benchmark pipeline across multiple GPU generations.', + contributions: ['Dedicated clusters', 'Network isolation', 'Hardware refresh cycles'], + }, +]; + +export const metadata: Metadata = { + title: 'Partners', + description: + 'InferenceX partners with GPU manufacturers, inference framework teams, and infrastructure providers to deliver unbiased benchmark data.', + alternates: { canonical: `${SITE_URL}/landing/partners` }, + openGraph: { + title: 'Partners | InferenceX', + description: + 'GPU manufacturers, framework teams, and infrastructure providers powering InferenceX.', + url: `${SITE_URL}/landing/partners`, + }, +}; + +export default function PartnersPage() { + return ( +
+
+ +
+

+ Partners +

+

+ Independent benchmarks, collaborative relationships. +

+

+ We partner with hardware vendors, framework developers, and infrastructure providers — + but our results are never influenced by these relationships. Partners help us access + hardware and optimize configs; the data remains independent. +

+
+ +
+ {PARTNERS.map((partner) => ( +
+

+ {partner.tier} +

+

+ {partner.name} +

+

+ {partner.description} +

+
    + {partner.contributions.map((c) => ( +
  • + + {c} +
  • + ))} +
+
+ ))} +
+ +

+ Interested in partnering with InferenceX? We're always looking for hardware access + and framework collaborations that help us expand our benchmark coverage. +

+
+
+
+ ); +} diff --git a/packages/app/src/app/landing/press/page.tsx b/packages/app/src/app/landing/press/page.tsx new file mode 100644 index 00000000..333f2711 --- /dev/null +++ b/packages/app/src/app/landing/press/page.tsx @@ -0,0 +1,129 @@ +import type { Metadata } from 'next'; + +import { Card } from '@/components/ui/card'; +import { SITE_URL } from '@semianalysisai/inferencex-constants'; + +const COVERAGE = [ + { + outlet: 'The Information', + date: 'March 2026', + headline: 'SemiAnalysis Launches Open Benchmark Dashboard for GPU Inference', + excerpt: + 'The new InferenceX platform provides unprecedented transparency into how GPUs actually perform under production inference workloads, challenging vendor-published specs.', + }, + { + outlet: 'Ars Technica', + date: 'February 2026', + headline: 'Finally, GPU Benchmarks That Match Reality', + excerpt: + 'InferenceX tests GPUs under real concurrency and sustained load — not the single-request fairy tales that dominate vendor marketing materials.', + }, + { + outlet: 'SemiAnalysis', + date: 'January 2026', + headline: 'Why We Built InferenceX: The Case for Open Benchmarks', + excerpt: + 'GPU purchasing decisions worth millions of dollars are made based on misleading benchmark data. We built InferenceX to fix that.', + }, +]; + +const BRAND_ASSETS = [ + { + name: 'Logo Pack', + format: 'SVG + PNG', + description: 'Full logo, icon, and wordmark in light and dark variants.', + }, + { + name: 'Screenshot Kit', + format: 'PNG 2x', + description: 'Dashboard screenshots showing scatter plots, GPU graphs, and calculator views.', + }, + { + name: 'Brand Guidelines', + format: 'PDF', + description: 'Colors, typography, spacing, and usage rules for the InferenceX brand.', + }, +]; + +export const metadata: Metadata = { + title: 'Press', + description: + 'InferenceX press coverage, media mentions, and brand assets. Download logos, screenshots, and brand guidelines.', + alternates: { canonical: `${SITE_URL}/landing/press` }, + openGraph: { + title: 'Press | InferenceX', + description: 'Press coverage and brand assets for InferenceX.', + url: `${SITE_URL}/landing/press`, + }, +}; + +export default function PressPage() { + return ( +
+
+ +
+

+ Press +

+

+ InferenceX in the news. +

+

+ Selected coverage of InferenceX and the SemiAnalysis benchmark platform. For press + inquiries, reach out to our communications team. +

+
+ +
+ {COVERAGE.map((item) => ( +
+
+

+ {item.outlet} +

+ {item.date} +
+

+ {item.headline} +

+

{item.excerpt}

+
+ ))} +
+ +
+

+ Brand Assets +

+
+ {BRAND_ASSETS.map((asset) => ( +
+
+

+ {asset.name} +

+ + {asset.format} + +
+

+ {asset.description} +

+
+ ))} +
+
+ +

+ For press inquiries, interviews, or custom benchmark data requests, contact + press@semianalysis.com. We typically respond within 24 hours. +

+
+
+
+ ); +} diff --git a/packages/app/src/app/landing/status/page.tsx b/packages/app/src/app/landing/status/page.tsx new file mode 100644 index 00000000..b714d40f --- /dev/null +++ b/packages/app/src/app/landing/status/page.tsx @@ -0,0 +1,156 @@ +import type { Metadata } from 'next'; + +import { Card } from '@/components/ui/card'; +import { SITE_URL } from '@semianalysisai/inferencex-constants'; + +const SYSTEMS = [ + { + name: 'Dashboard & API', + status: 'Operational', + uptime: '99.97%', + description: + 'The InferenceX web dashboard and public API endpoints. Served via Vercel with global edge caching and automatic failover.', + }, + { + name: 'Benchmark Pipeline', + status: 'Operational', + uptime: '99.8%', + description: + 'Automated benchmark orchestration — GPU provisioning, framework deployment, load generation, and result ingestion. Runs on a daily cron cycle.', + }, + { + name: 'Database', + status: 'Operational', + uptime: '99.99%', + description: + 'Neon PostgreSQL serving all benchmark data, configurations, and historical records. Read replicas across multiple regions for low-latency queries.', + }, + { + name: 'GPU Clusters', + status: 'Partial', + uptime: '96.2%', + description: + 'Bare-metal GPU servers across four US regions. Partial status reflects scheduled hardware maintenance windows and GPU refresh cycles.', + }, +]; + +const INCIDENTS = [ + { + date: 'March 28, 2026', + severity: 'Minor', + title: 'Delayed benchmark ingestion', + description: + 'A database migration caused a 4-hour delay in benchmark result publication. No data was lost; results were backfilled after the migration completed.', + }, + { + date: 'March 15, 2026', + severity: 'Major', + title: 'SCL-01 cluster offline', + description: + 'Power supply failure in the Santa Clara cluster took GB200 benchmarks offline for 18 hours. Redundant power has since been installed.', + }, +]; + +export const metadata: Metadata = { + title: 'Status', + description: + 'InferenceX system status — dashboard, API, benchmark pipeline, database, and GPU cluster health.', + alternates: { canonical: `${SITE_URL}/landing/status` }, + openGraph: { + title: 'Status | InferenceX', + description: 'Real-time status of InferenceX systems and infrastructure.', + url: `${SITE_URL}/landing/status`, + }, +}; + +export default function StatusPage() { + return ( +
+
+ +
+

+ System Status +

+

+ All systems operational. +

+

+ Current status of InferenceX infrastructure. We monitor dashboard availability, + benchmark pipeline health, database performance, and GPU cluster uptime continuously. +

+
+ +
+ {SYSTEMS.map((system) => ( +
+
+

+ {system.name} +

+ + {system.status} + +
+
+ + {system.uptime} + + uptime (30d) +
+

{system.description}

+
+ ))} +
+ +
+

+ Recent Incidents +

+
+ {INCIDENTS.map((incident) => ( +
+
+ + {incident.severity} + + {incident.date} +
+

+ {incident.title} +

+

+ {incident.description} +

+
+ ))} +
+
+ +

+ For real-time alerts, subscribe to our status RSS feed or follow @SemiAnalysis on X. + Incident postmortems are published within 48 hours of resolution. +

+
+
+
+ ); +} From 81b2607c5b4cda983eebbf3b5db071b4b59f0cc3 Mon Sep 17 00:00:00 2001 From: functionstackx <47992694+functionstackx@users.noreply.github.com> Date: Sat, 4 Apr 2026 18:46:24 -0400 Subject: [PATCH 2/2] Rewrite variants with OG landing page content + add /design-explore index MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Each of the 10 variants now contains real copy from the OG landing page: quotes (OpenAI, NVIDIA, AMD, Microsoft), all 6 curated presets with tags, GPU hardware lists, navigation links (Dashboard, Supporters, Articles, Reliability, GitHub, Newsletter), and brand CTAs — each in a different glass-card layout. Added /design-explore as the index page linking to all variants with descriptions and route paths. Co-Authored-By: Claude Opus 4.6 (1M context) --- packages/app/src/app/design-explore/page.tsx | 152 ++++++++++++ packages/app/src/app/landing/about/page.tsx | 126 ++++++---- packages/app/src/app/landing/careers/page.tsx | 147 ++++++------ .../app/src/app/landing/changelog/page.tsx | 171 +++++++------- packages/app/src/app/landing/contact/page.tsx | 172 ++++++++------ packages/app/src/app/landing/faq/page.tsx | 223 ++++++++++++------ .../src/app/landing/infrastructure/page.tsx | 142 ++++++----- .../app/src/app/landing/methodology/page.tsx | 147 +++++++----- .../app/src/app/landing/open-source/page.tsx | 184 +++++++++------ .../app/src/app/landing/partners/page.tsx | 162 +++++++------ packages/app/src/app/landing/press/page.tsx | 129 ---------- packages/app/src/app/landing/status/page.tsx | 208 ++++++++-------- 12 files changed, 1139 insertions(+), 824 deletions(-) create mode 100644 packages/app/src/app/design-explore/page.tsx delete mode 100644 packages/app/src/app/landing/press/page.tsx diff --git a/packages/app/src/app/design-explore/page.tsx b/packages/app/src/app/design-explore/page.tsx new file mode 100644 index 00000000..4a35d2d1 --- /dev/null +++ b/packages/app/src/app/design-explore/page.tsx @@ -0,0 +1,152 @@ +import type { Metadata } from 'next'; +import Link from 'next/link'; +import { ArrowRight } from 'lucide-react'; + +import { Card } from '@/components/ui/card'; +import { SITE_URL } from '@semianalysisai/inferencex-constants'; + +const VARIANTS = [ + { + id: 'A', + route: '/landing/about', + title: 'Hero + Grid', + description: + 'Classic hero header with brand CTA, 3-column preset cards with tags, and a 6-pill navigation row.', + }, + { + id: 'B', + route: '/landing/methodology', + title: 'Stats + Full Presets', + description: + 'Four stat counters (GPUs, models, frequency, open source) above all 6 curated presets in a 3-column grid.', + }, + { + id: 'C', + route: '/landing/infrastructure', + title: 'Quotes + GPU List', + description: + 'Three executive quote cards (OpenAI, NVIDIA, AMD) with a hardware chip wall showing all benchmarked GPUs.', + }, + { + id: 'D', + route: '/landing/open-source', + title: 'Split Presets + Nav', + description: + 'Two-column preset layout split by NVIDIA vs Cross-Vendor, plus a 3-column navigation directory.', + }, + { + id: 'E', + route: '/landing/partners', + title: 'Supporters Wall', + description: + 'Full 22-org supporter chip wall with a featured OpenAI quote in a large brand-tinted banner.', + }, + { + id: 'F', + route: '/landing/careers', + title: 'Quote Cards + Compact Presets', + description: + 'Three side-by-side quote cards with pill-shaped preset links and inline article/newsletter links.', + }, + { + id: 'G', + route: '/landing/changelog', + title: 'Feature Cards + Quote Banner', + description: + 'Four large feature cards (Dashboard, Comparisons, Supporters, Articles) with hover arrows and a quote banner.', + }, + { + id: 'H', + route: '/landing/status', + title: 'Full Preset Cards + Tags', + description: + 'All 6 presets as tagged cards with brand accent bars (matching OG CuratedViewCard style) plus an NVIDIA quote.', + }, + { + id: 'I', + route: '/landing/contact', + title: 'Section Directory', + description: + 'Two inline quote banners above a 6-card section directory linking to Dashboard, Comparisons, Supporters, Articles, Reliability, and GitHub.', + }, + { + id: 'J', + route: '/landing/faq', + title: 'GPU Focus + Dense Layout', + description: + 'GPU-centric hero with hardware stat cards, a chip wall, dense 3x2 preset grid, and a Jensen Huang quote.', + }, +]; + +export const metadata: Metadata = { + title: 'Design Exploration — Landing Page Variants', + description: + 'Explore 10 landing page design variants for InferenceX, each using the glass card aesthetic with real content.', + alternates: { canonical: `${SITE_URL}/design-explore` }, +}; + +export default function DesignExplorePage() { + return ( +
+
+ +
+

+ Design Exploration +

+

+ 10 landing page variants. +

+

+ Each variant uses the glass card aesthetic from the land acknowledgement page while + showcasing the real InferenceX landing page content — quotes, preset links, GPU + hardware, navigation, and CTAs — in a different layout. +

+
+ +
+ {VARIANTS.map((v) => ( + +
+
+
+ + {v.id} + +

+ {v.title} +

+
+ +
+

{v.description}

+

+ {v.route} +

+ + ))} +
+ +
+ + ← Current Landing Page + + + Land Acknowledgement (style reference) → + +
+
+
+
+ ); +} diff --git a/packages/app/src/app/landing/about/page.tsx b/packages/app/src/app/landing/about/page.tsx index 79293e7b..447f5e0d 100644 --- a/packages/app/src/app/landing/about/page.tsx +++ b/packages/app/src/app/landing/about/page.tsx @@ -1,81 +1,125 @@ import type { Metadata } from 'next'; +import Link from 'next/link'; +import { ArrowRight } from 'lucide-react'; import { Card } from '@/components/ui/card'; import { SITE_URL } from '@semianalysisai/inferencex-constants'; -const PILLARS = [ +const PRESETS = [ { - label: 'Transparency', - title: 'Open Benchmarks, Open Data', - description: - 'Every benchmark run is fully reproducible. We publish raw configs, hardware specs, and methodology so the community can verify — and improve — our results.', + title: 'GB200 NVL72 vs B200 — Multi vs Single Node', + description: 'GB200 NVL72 Dynamo TRT vs B200 Dynamo TRT on DeepSeek R1 (8k/1k) at FP4.', + href: '/inference?preset=gb200-vs-b200', + tags: ['DeepSeek', 'GB200', 'B200', 'FP4'], }, { - label: 'Rigor', - title: 'Production-Grade Testing', + title: 'B200 vs H200 — Blackwell vs Hopper', description: - 'We test under real-world concurrency, mixed workloads, and sustained load — not cherry-picked single-request latencies. Our benchmarks reflect what you actually experience in production.', + 'Blackwell B200 vs Hopper H200 Dynamo TRT throughput per GPU on DeepSeek R1 at FP8.', + href: '/inference?preset=b200-vs-h200', + tags: ['DeepSeek', 'B200', 'H200', 'FP8'], }, { - label: 'Independence', - title: 'No Vendor Bias', - description: - 'We benchmark every major GPU and inference framework on equal footing. No sponsorships influence our results. The data speaks for itself.', + title: 'AMD MI300X → MI325X → MI355X', + description: 'Three generations of AMD Instinct on SGLang at FP8.', + href: '/inference?preset=amd-generations', + tags: ['DeepSeek', 'MI300X', 'MI355X', 'SGLang'], }, ]; +const LINKS = [ + { label: 'Dashboard', href: '/inference' }, + { label: 'Supporters', href: '/quotes' }, + { label: 'Articles', href: '/blog' }, + { label: 'GPU Reliability', href: '/reliability' }, + { label: 'GitHub', href: 'https://github.com/SemiAnalysisAI/InferenceX' }, + { label: 'Newsletter', href: 'https://newsletter.semianalysis.com' }, +]; + export const metadata: Metadata = { - title: 'About', - description: - 'InferenceX is the open-source ML inference benchmark platform by SemiAnalysis. Learn about our mission to bring transparency to GPU performance.', + title: 'Landing Variant A — Hero + Grid', + description: 'InferenceX landing page variant with hero header and preset grid layout.', alternates: { canonical: `${SITE_URL}/landing/about` }, - openGraph: { - title: 'About | InferenceX', - description: 'InferenceX is the open-source ML inference benchmark platform by SemiAnalysis.', - url: `${SITE_URL}/landing/about`, - }, }; -export default function AboutPage() { +export default function VariantA() { return (
+ {/* Hero */}

- About InferenceX + Open Source Benchmark

The open standard for ML inference benchmarking.

- Built by SemiAnalysis, InferenceX exists to answer one question: how fast is - inference, really? We run continuous, reproducible benchmarks across every major GPU - and framework so you can make hardware decisions based on evidence, not marketing. + Compare AI inference performance across GPUs and frameworks. Real benchmarks on NVIDIA + GB200, B200, AMD MI355X, and more. Free, open-source, continuously updated by + SemiAnalysis.

+
+ + Open Dashboard + + +
-
- {PILLARS.map((pillar) => ( -
+ {PRESETS.map((p) => ( + +
+

+ {p.title} +

+ +
+

{p.description}

+
+ {p.tags.map((t) => ( + + {t} + + ))} +
+ + ))} +
+ + {/* Navigation Links */} +
+ {LINKS.map((l) => ( + -

- {pillar.label} -

-

- {pillar.title} -

-

{pillar.description}

- + {l.label} + ))}

- InferenceX is open source under the Apache 2.0 license. We believe the AI ecosystem - moves faster when performance data is freely available to everyone — researchers, - engineers, and decision-makers alike. + Continuous open-source inference benchmarking. Real-world, reproducible, auditable + performance data trusted by trillion dollar AI infrastructure operators like OpenAI, + Oracle, Microsoft, etc.

diff --git a/packages/app/src/app/landing/careers/page.tsx b/packages/app/src/app/landing/careers/page.tsx index fc2d0805..704fecb4 100644 --- a/packages/app/src/app/landing/careers/page.tsx +++ b/packages/app/src/app/landing/careers/page.tsx @@ -1,112 +1,123 @@ import type { Metadata } from 'next'; +import Link from 'next/link'; +import { ArrowRight, Quote } from 'lucide-react'; import { Card } from '@/components/ui/card'; import { SITE_URL } from '@semianalysisai/inferencex-constants'; -const ROLES = [ +const QUOTES = [ { - department: 'Engineering', - title: 'Systems Engineer — GPU Infrastructure', - location: 'San Jose, CA · On-site', - description: - 'Build and maintain the bare-metal GPU clusters that power InferenceX benchmarks. You will work directly with NVIDIA and AMD hardware, configure multi-node NVLink topologies, and optimize kernel-level performance.', + text: 'Inference demand is growing exponentially, driven by long-context reasoning. NVIDIA Grace Blackwell NVL72 was invented for this new era of thinking AI.', + name: 'Jensen Huang', + title: 'Founder & CEO, NVIDIA', + org: 'NVIDIA', }, { - department: 'Engineering', - title: 'Full-Stack Engineer — Dashboard', - location: 'Remote · US', - description: - 'Own the InferenceX dashboard — Next.js, D3.js, and React Query at scale. Build interactive charts that make complex benchmark data intuitive for GPU buyers, ML engineers, and researchers.', + text: 'Our mission at Azure is to give customers the most performant, efficient, and cost-effective cloud for AI. SemiAnalysis InferenceMAX supports that mission by providing transparent, reproducible benchmarks.', + name: 'Scott Guthrie', + title: 'EVP Cloud & AI, Microsoft', + org: 'Microsoft', }, { - department: 'Research', - title: 'ML Performance Researcher', - location: 'Remote · Global', - description: - 'Design and execute inference benchmarks that capture real-world performance characteristics. Publish methodology papers and collaborate with framework teams on optimization strategies.', - }, - { - department: 'Content', - title: 'Technical Writer — AI Hardware', - location: 'Remote · US/EU', - description: - 'Turn benchmark data into compelling analysis. Write blog posts, deep-dives, and reports that help the AI community understand GPU performance tradeoffs and make informed decisions.', + text: "Speed is the moat. InferenceMAX's nightly benchmarks match the speed of improvement of the AMD software stack.", + name: 'Anush Elangovan', + title: 'VP GPU Software, AMD', + org: 'AMD', }, ]; -const VALUES = [ - { title: 'Ship Daily', description: 'Small, frequent releases over big-bang launches.' }, - { title: 'Data Over Opinions', description: 'We measure first, debate second.' }, - { title: 'Build in Public', description: 'Open source by default, proprietary by exception.' }, +const PRESETS = [ + { title: 'GB200 vs B200', href: '/inference?preset=gb200-vs-b200' }, + { title: 'B200 vs H200', href: '/inference?preset=b200-vs-h200' }, + { title: 'AMD Generations', href: '/inference?preset=amd-generations' }, + { title: 'H100 vs GB300', href: '/inference?preset=h100-vs-gb300-disagg' }, + { title: 'Disagg Cross-Vendor', href: '/inference?preset=disagg-b200-vs-mi355x' }, + { title: 'MI355X Timeline', href: '/inference?preset=mi355x-sglang-disagg-timeline' }, ]; export const metadata: Metadata = { - title: 'Careers', - description: - 'Join the InferenceX team — open roles in GPU infrastructure, full-stack engineering, ML research, and technical writing.', + title: 'Landing Variant F — Quote Cards + Compact Presets', + description: 'InferenceX landing page variant with three quote cards and compact preset links.', alternates: { canonical: `${SITE_URL}/landing/careers` }, - openGraph: { - title: 'Careers | InferenceX', - description: - 'Open roles at InferenceX — GPU infrastructure, engineering, research, and writing.', - url: `${SITE_URL}/landing/careers`, - }, }; -export default function CareersPage() { +export default function VariantF() { return (

- Careers + InferenceX by SemiAnalysis

- Help us benchmark the future of AI compute. + Open Source Continuous Inference Benchmark

- InferenceX is a small, high-leverage team inside SemiAnalysis. We build the tools that - GPU buyers, ML engineers, and researchers rely on to make million-dollar hardware - decisions. If you care about performance, open data, and shipping fast — we want to - talk to you. + Compare AI inference performance across GPUs and frameworks. Real benchmarks on NVIDIA + GB200, B200, AMD MI355X, and more. Trusted by trillion dollar AI infrastructure + operators like OpenAI, Oracle, Microsoft.

+
+ + Open Dashboard + + +
-
- {VALUES.map((v) => ( -
-

- {v.title} -

-

{v.description}

-
- ))} -
- -
- {ROLES.map((role) => ( + {/* Quote cards */} +
+ {QUOTES.map((q) => (
-
-

- {role.department} -

- {role.location} + +

+ “{q.text}” +

+
+

{q.name}

+

{q.title}

-

- {role.title} -

-

{role.description}

))}
+ {/* Compact preset links */} +
+

+ Quick Comparisons +

+
+ {PRESETS.map((p) => ( + + {p.title} + + + ))} +
+
+

- No formal job listing needed — if you have relevant experience and want to work on hard - problems in AI infrastructure, reach out to us directly. + Continuous open-source inference benchmarking. Real-world, reproducible, auditable + performance data.{' '} + + Read our articles + {' '} + or{' '} + + subscribe to the newsletter + + .

diff --git a/packages/app/src/app/landing/changelog/page.tsx b/packages/app/src/app/landing/changelog/page.tsx index ec043646..0c5d7274 100644 --- a/packages/app/src/app/landing/changelog/page.tsx +++ b/packages/app/src/app/landing/changelog/page.tsx @@ -1,126 +1,125 @@ import type { Metadata } from 'next'; +import Link from 'next/link'; +import { ArrowRight } from 'lucide-react'; import { Card } from '@/components/ui/card'; import { SITE_URL } from '@semianalysisai/inferencex-constants'; -const RELEASES = [ - { - version: 'v2.4.0', - date: 'April 2026', - title: 'Disaggregated Serving Metrics', - changes: [ - 'Added per-prefill and per-decode GPU throughput metrics', - 'New disagg caveat banners on affected charts', - 'TCO calculator now supports disaggregated configs', - ], - }, +const HERO_QUOTE = { + text: "InferenceMAX's nightly results highlight the rapid pace of progress in the AMD software stack. It's exciting to witness the birth of an open project that provides a tied feedback loop between what the software team works on and how it affects specific ML use cases.", + name: 'Quentin Colombet', + title: 'Senior Director, AMD', +}; + +const FEATURES = [ { - version: 'v2.3.0', - date: 'March 2026', - title: 'Historical Trends Overhaul', - changes: [ - 'Spline-interpolated trend lines for smoother GPU timeseries', - 'Comparison date picker for side-by-side performance deltas', - 'Interactive zooming with persistent zoom state across tab switches', - ], + label: 'Full Dashboard', + title: 'Every Model, GPU & Metric', + description: + 'Fully configurable inference benchmark charts with date ranges, concurrency sweeps, and raw data export. Compare NVIDIA B200, H200, H100, AMD MI355X, MI325X, MI300X and more.', + href: '/inference', }, { - version: 'v2.2.0', - date: 'February 2026', - title: 'Evaluation Tab Launch', - changes: [ - 'New evaluation benchmarks tab with accuracy vs speed tradeoffs', - 'MMLU, HumanEval, and GSM8K integration', - 'Sidebar legend with model-level filtering', - ], + label: 'Quick Comparisons', + title: 'Curated GPU Benchmarks', + description: + 'Jump straight into the most popular GPU inference benchmark comparisons — GB200 vs B200, AMD generations, disaggregated serving, and more.', + href: '/inference?preset=gb200-vs-b200', }, { - version: 'v2.1.0', - date: 'January 2026', - title: 'AMD MI355X Support', - changes: [ - 'Full benchmark coverage for AMD Instinct MI355X', - 'ROCm framework compatibility validated', - 'Added to GPU specs comparison table', - ], + label: 'Supporters', + title: '36+ Industry Quotes', + description: + 'Endorsed by executives from OpenAI, NVIDIA, AMD, Microsoft, Meta, Hugging Face, and 30 more organizations building AI infrastructure.', + href: '/quotes', }, { - version: 'v2.0.0', - date: 'December 2025', - title: 'Platform Rewrite', - changes: [ - 'Migrated from Create React App to Next.js 16 App Router', - 'D3.js chart library rewritten with 4-effect architecture', - 'React Query data layer with automatic cache invalidation', - 'New dark-glass design system with circuit background', - ], + label: 'Articles', + title: 'Deep-Dive Analysis', + description: + 'In-depth write-ups on GPU performance, benchmark methodology, and inference optimization from the SemiAnalysis research team.', + href: '/blog', }, ]; +const BOTTOM_LINKS = [ + { label: 'GitHub — Benchmarks', href: 'https://github.com/SemiAnalysisAI/InferenceX' }, + { label: 'GitHub — Frontend', href: 'https://github.com/SemiAnalysisAI/InferenceX-app' }, + { label: 'Newsletter', href: 'https://newsletter.semianalysis.com' }, + { label: 'GPU Reliability', href: '/reliability' }, + { label: 'SemiAnalysis', href: 'https://semianalysis.com' }, +]; + export const metadata: Metadata = { - title: 'Changelog', - description: - 'InferenceX changelog — new features, GPU additions, framework updates, and platform improvements.', + title: 'Landing Variant G — Feature Cards + Quote Banner', + description: 'InferenceX landing page variant with feature cards and quote banner.', alternates: { canonical: `${SITE_URL}/landing/changelog` }, - openGraph: { - title: 'Changelog | InferenceX', - description: 'Track every InferenceX platform update, new GPU, and feature release.', - url: `${SITE_URL}/landing/changelog`, - }, }; -export default function ChangelogPage() { +export default function VariantG() { return (

- Changelog + Open Source Benchmark

- What's new in InferenceX. + AI Inference Benchmark by SemiAnalysis

- A chronological record of features, improvements, and new hardware support. We ship - updates daily — this page captures the highlights. + InferenceX is the open-source AI inference benchmark that matches the rapid pace of + modern AI development. Powered by one of the largest open-source GPU CI/CD fleets with + NVIDIA GB200, AMD MI355X & many more.

-
- {RELEASES.map((release) => ( -
+

+ “{HERO_QUOTE.text}” +

+

+ — {HERO_QUOTE.name}, {HERO_QUOTE.title} +

+
+ + {/* Feature cards */} +
+ {FEATURES.map((f) => ( + -
- - {release.version} - - {release.date} -
-

- {release.title} +

+ {f.label} +

+

+ {f.title}

-
    - {release.changes.map((change) => ( -
  • - - {change} -
  • - ))} -
- +

{f.description}

+
+ Explore + +
+ ))}
-

- For the full commit history, visit our open-source repository on GitHub. Automated - release notes are generated for every deployment. -

+ {/* Bottom links */} +
+ {BOTTOM_LINKS.map((l) => ( + + {l.label} + + ))} +
diff --git a/packages/app/src/app/landing/contact/page.tsx b/packages/app/src/app/landing/contact/page.tsx index bebfdf8c..d4c2d5aa 100644 --- a/packages/app/src/app/landing/contact/page.tsx +++ b/packages/app/src/app/landing/contact/page.tsx @@ -1,120 +1,146 @@ import type { Metadata } from 'next'; +import Link from 'next/link'; +import { ArrowRight, Quote } from 'lucide-react'; import { Card } from '@/components/ui/card'; import { SITE_URL } from '@semianalysisai/inferencex-constants'; -const CHANNELS = [ +const QUOTES = [ { - type: 'General', - title: 'Community & Support', + text: 'Open collaboration is driving the next era of AI innovation. The open-source InferenceMAX benchmark gives the community transparent, nightly results that inspire trust and accelerate progress.', + name: 'Dr. Lisa Su', + title: 'Chair and CEO, AMD', + }, + { + text: "As we build systems at unprecedented scale, it's critical for the ML community to have open, transparent benchmarks that reflect how inference really performs.", + name: 'Peter Hoeschele', + title: 'VP Infrastructure, OpenAI Stargate', + }, +]; + +const SECTIONS = [ + { + label: 'Benchmark', + title: 'Full Dashboard', description: - 'For questions, bug reports, and feature requests — open an issue on our GitHub repository. Our team triages daily and responds to most issues within 24 hours.', - contact: 'github.com/SemiAnalysisAI/InferenceX-app', + 'Every model, GPU, framework, and metric. Fully configurable charts with date ranges, concurrency sweeps, and raw data export.', + href: '/inference', + cta: 'Open Dashboard', }, { - type: 'Business', - title: 'Enterprise & Partnerships', + label: 'Compare', + title: 'Quick Comparisons', description: - 'For custom benchmark requests, hardware partnership inquiries, or enterprise data access — reach out to our business team directly.', - contact: 'partnerships@semianalysis.com', + 'Jump straight into the most popular GPU inference benchmark comparisons, curated and ready to explore.', + href: '/inference?preset=gb200-vs-b200', + cta: 'GB200 vs B200', }, { - type: 'Press', - title: 'Media & Press', + label: 'Community', + title: 'Supporters', description: - 'For press inquiries, interview requests, or access to high-resolution assets and benchmark data for publication.', - contact: 'press@semianalysis.com', + 'Endorsed by 36+ industry leaders including OpenAI, NVIDIA, AMD, Microsoft, Meta, Hugging Face, and more.', + href: '/quotes', + cta: 'See Supporters', }, { - type: 'Security', - title: 'Security Disclosures', + label: 'Insights', + title: 'Articles & Analysis', description: - 'Found a security vulnerability? We take security seriously. Please report responsibly through our security contact — do not open public issues.', - contact: 'security@semianalysis.com', + 'In-depth write-ups on GPU performance, benchmark methodology, and inference optimization.', + href: '/blog', + cta: 'Read Articles', + }, + { + label: 'Reliability', + title: 'GPU Reliability Data', + description: 'Production reliability metrics for GPU hardware across our benchmark clusters.', + href: '/reliability', + cta: 'View Data', + }, + { + label: 'Open Source', + title: 'Contribute on GitHub', + description: + 'The benchmark runner, dashboard, and all configs are open source under Apache 2.0. Fork, fix, extend.', + href: 'https://github.com/SemiAnalysisAI/InferenceX', + cta: 'Star on GitHub', }, -]; - -const SOCIALS = [ - { platform: 'GitHub', handle: 'SemiAnalysisAI' }, - { platform: 'X / Twitter', handle: '@SemiAnalysis' }, - { platform: 'YouTube', handle: '@SemiAnalysis' }, - { platform: 'Discord', handle: 'SemiAnalysis Community' }, ]; export const metadata: Metadata = { - title: 'Contact', - description: - 'Get in touch with the InferenceX team — community support, enterprise partnerships, press inquiries, and security disclosures.', + title: 'Landing Variant I — Section Directory', + description: 'InferenceX landing page variant with a full section directory and inline quotes.', alternates: { canonical: `${SITE_URL}/landing/contact` }, - openGraph: { - title: 'Contact | InferenceX', - description: 'Reach the InferenceX team for support, partnerships, or press inquiries.', - url: `${SITE_URL}/landing/contact`, - }, }; -export default function ContactPage() { +export default function VariantI() { return (

- Contact + InferenceX by SemiAnalysis

- Let's talk inference. + The open-source AI inference benchmark.

- Whether you're reporting a bug, proposing a partnership, or just want to nerd out - about GPU benchmarks — we'd love to hear from you. + Compare AI inference performance across GPUs and frameworks. Real benchmarks on NVIDIA + GB200, B200, AMD MI355X, and more. Free, open-source, continuously updated.

-
- {CHANNELS.map((channel) => ( -
-

- {channel.type} -

-

- {channel.title} -

-

- {channel.description} + {/* Inline quotes */} +

+ {QUOTES.map((q) => ( +
+ +

“{q.text}”

+

+ — {q.name}, {q.title}

-

- {channel.contact} -

-
+
))} -
-

- Find Us -

-
- {SOCIALS.map((social) => ( -
-

- {social.platform} -

-

{social.handle}

+ {/* Section directory */} +
+ {SECTIONS.map((s) => ( + +

+ {s.label} +

+

+ {s.title} +

+

{s.description}

+
+ {s.cta} +
- ))} -
+ + ))}

- Response times vary by channel. GitHub issues are fastest for technical questions. For - time-sensitive business matters, email is preferred. + Continuous open-source inference benchmarking by{' '} + + SemiAnalysis + + . Subscribe to the{' '} + + newsletter + {' '} + for weekly updates.

diff --git a/packages/app/src/app/landing/faq/page.tsx b/packages/app/src/app/landing/faq/page.tsx index e0791368..9d01221c 100644 --- a/packages/app/src/app/landing/faq/page.tsx +++ b/packages/app/src/app/landing/faq/page.tsx @@ -1,114 +1,181 @@ import type { Metadata } from 'next'; +import Link from 'next/link'; +import { ArrowRight, Quote } from 'lucide-react'; import { Card } from '@/components/ui/card'; import { SITE_URL } from '@semianalysisai/inferencex-constants'; -const FAQS = [ - { - category: 'Data', - question: 'How often are benchmarks updated?', - answer: - 'We run benchmarks daily on a cron schedule. New results appear on the dashboard within hours of completion. Historical data is preserved indefinitely so you can track performance changes over time.', - }, - { - category: 'Data', - question: 'Can I download the raw benchmark data?', - answer: - 'Yes. The API is public and returns raw database rows with no presentation logic. You can also query our open-source database schema directly for custom analysis.', - }, +const HERO_STATS = [ + { value: 'NVIDIA GB200', sub: 'B200 · H200 · H100' }, + { value: 'AMD MI355X', sub: 'MI325X · MI300X' }, +]; + +const GPUS = [ + 'NVIDIA GB200 NVL72', + 'NVIDIA GB300', + 'NVIDIA B200', + 'NVIDIA H200', + 'NVIDIA H100', + 'AMD MI355X', + 'AMD MI325X', + 'AMD MI300X', +]; + +const PRESETS = [ { - category: 'Methodology', - question: 'Why do your numbers differ from vendor specs?', - answer: - 'Vendor specs typically show peak single-request performance. We benchmark under realistic concurrency, sustained load, and mixed input/output lengths — conditions that reveal bottlenecks invisible in idealized tests.', + title: 'GB200 NVL72 vs B200', + href: '/inference?preset=gb200-vs-b200', + description: 'Multi vs Single Node at FP4.', }, { - category: 'Methodology', - question: 'What metrics do you measure?', - answer: - 'Time to first token (TTFT), time per output token (TPOT), inter-token latency (ITL), end-to-end latency, and throughput — all at P50, P99, and tail percentiles under varying concurrency levels.', + title: 'B200 vs H200', + href: '/inference?preset=b200-vs-h200', + description: 'Blackwell vs Hopper at FP8.', }, { - category: 'Hardware', - question: 'Which GPUs do you benchmark?', - answer: - 'NVIDIA GB200, H200, H100 (SXM and PCIe), A100, L40S, and AMD MI300X, MI325X, MI355X. We add new hardware within weeks of availability and retire legacy GPUs when they leave mainstream deployment.', + title: 'AMD MI300X → MI355X', + href: '/inference?preset=amd-generations', + description: 'Three AMD generations.', }, { - category: 'Hardware', - question: 'Can I run InferenceX on my own GPUs?', - answer: - 'Absolutely. The benchmark runner is open source and designed to be self-hostable. Fork the repo, point it at your hardware, and compare your results against our published data.', + title: 'H100 vs GB300 Disagg', + href: '/inference?preset=h100-vs-gb300-disagg', + description: 'Cross-generation disagg.', }, { - category: 'Platform', - question: 'Is InferenceX free?', - answer: - 'Yes, completely. The dashboard, API, and all underlying code are open source under Apache 2.0. No registration, no API keys, no usage limits.', + title: 'Disagg B200 vs MI355X', + href: '/inference?preset=disagg-b200-vs-mi355x', + description: 'Cross-vendor disagg.', }, { - category: 'Platform', - question: 'How can I contribute?', - answer: - 'Open a PR on GitHub. We welcome new model configs, GPU additions, framework integrations, dashboard features, and methodology improvements. PRs are reviewed within 48 hours.', + title: 'MI355X Over Time', + href: '/inference?preset=mi355x-sglang-disagg-timeline', + description: 'Throughput timeline.', }, ]; -const CATEGORIES = [...new Set(FAQS.map((f) => f.category))]; +const QUOTE = { + text: 'Inference demand is growing exponentially, driven by long-context reasoning. NVIDIA Grace Blackwell NVL72 was invented for this new era of thinking AI. By benchmarking frequently, InferenceMAX gives the industry a transparent view of LLM inference performance on real-world workloads.', + name: 'Jensen Huang', + title: 'Founder & CEO, NVIDIA', +}; export const metadata: Metadata = { - title: 'FAQ', + title: 'Landing Variant J — GPU Focus + Dense Layout', description: - 'Frequently asked questions about InferenceX — benchmark methodology, data access, supported hardware, and how to contribute.', + 'InferenceX landing page variant with GPU-centric layout, dense presets, and hardware chips.', alternates: { canonical: `${SITE_URL}/landing/faq` }, - openGraph: { - title: 'FAQ | InferenceX', - description: 'Common questions about InferenceX benchmarks, data, and methodology.', - url: `${SITE_URL}/landing/faq`, - }, }; -export default function FAQPage() { +export default function VariantJ() { return (
-
-

FAQ

-

- Questions we hear a lot. -

-

- Everything you need to know about InferenceX — from how we measure performance to how - you can contribute. Can't find your answer? Open an issue on GitHub. +

+

+ InferenceX

+

+ Real-world GPU inference benchmarks. Updated daily. +

+
+ {HERO_STATS.map((s) => ( +
+

{s.value}

+

{s.sub}

+
+ ))} +
- {CATEGORIES.map((category) => ( -
-

- {category} -

-
- {FAQS.filter((f) => f.category === category).map((faq) => ( -
-

- {faq.question} -

-

{faq.answer}

-
- ))} -
-
- ))} + {/* GPU chips */} +
+

+ Hardware We Benchmark +

+
+ {GPUS.map((g) => ( + + {g} + + ))} +
+
+ + {/* Dense presets grid */} +
+ {PRESETS.map((p) => ( + +
+

+ {p.title} +

+ +
+

{p.description}

+ + ))} +
+ + {/* Quote */} +
+ +

+ “{QUOTE.text}” +

+

+ — {QUOTE.name}, {QUOTE.title} +

+
-

- Still have questions? The fastest way to get answers is to open a GitHub issue. Our team - monitors issues daily and most questions are answered within 24 hours. -

+ {/* Bottom nav */} +
+ + Full Dashboard + + + + Supporters → + + + Articles → + + + Reliability → + + + GitHub → + + + Newsletter → + +
diff --git a/packages/app/src/app/landing/infrastructure/page.tsx b/packages/app/src/app/landing/infrastructure/page.tsx index 03d65611..3513d248 100644 --- a/packages/app/src/app/landing/infrastructure/page.tsx +++ b/packages/app/src/app/landing/infrastructure/page.tsx @@ -1,98 +1,126 @@ import type { Metadata } from 'next'; +import Link from 'next/link'; +import { ArrowRight } from 'lucide-react'; import { Card } from '@/components/ui/card'; import { SITE_URL } from '@semianalysisai/inferencex-constants'; -const CLUSTERS = [ +const QUOTES = [ { - location: 'Santa Clara, CA', - codename: 'SCL-01', - specs: 'NVIDIA GB200 NVL72, H100 SXM, H200 SXM', - description: - 'Our flagship West Coast cluster houses the latest NVIDIA Blackwell and Hopper GPUs with NVLink interconnect. Primary site for multi-GPU disaggregated serving benchmarks.', + text: "As we build systems at unprecedented scale, it's critical for the ML community to have open, transparent benchmarks that reflect how inference really performs across hardware and software.", + name: 'Peter Hoeschele', + title: 'VP of Infrastructure, OpenAI Stargate', + org: 'OpenAI', }, { - location: 'Dallas, TX', - codename: 'DFW-02', - specs: 'AMD MI300X, MI325X, MI355X', - description: - 'Dedicated AMD Instinct cluster for cross-vendor comparisons. Full ROCm stack with latest driver releases. Houses our growing AMD benchmark suite.', + text: 'Inference demand is growing exponentially, driven by long-context reasoning. NVIDIA Grace Blackwell NVL72 was invented for this new era of thinking AI.', + name: 'Jensen Huang', + title: 'Founder & CEO, NVIDIA', + org: 'NVIDIA', }, { - location: 'Chicago, IL', - codename: 'ORD-03', - specs: 'NVIDIA H100 PCIe, A100 SXM, L40S', - description: - 'Mid-tier GPU cluster focused on cost-efficiency benchmarks. Tests the GPUs most commonly deployed in production inference workloads today.', - }, - { - location: 'Ashburn, VA', - codename: 'IAD-04', - specs: 'Mixed — edge and inference accelerators', - description: - 'East Coast facility for latency-sensitive edge inference testing. Cross-region latency measurements originate from this site.', + text: 'Open collaboration is driving the next era of AI innovation. The open-source InferenceMAX benchmark gives the community transparent, nightly results.', + name: 'Dr. Lisa Su', + title: 'Chair and CEO, AMD', + org: 'AMD', }, ]; +const GPUS = [ + 'NVIDIA GB200 NVL72', + 'NVIDIA B200', + 'NVIDIA H200', + 'NVIDIA H100', + 'AMD MI355X', + 'AMD MI325X', + 'AMD MI300X', +]; + export const metadata: Metadata = { - title: 'Infrastructure', - description: - 'InferenceX benchmark infrastructure — bare-metal GPU clusters across four US regions running NVIDIA and AMD hardware.', + title: 'Landing Variant C — Quotes + GPU List', + description: 'InferenceX landing page variant featuring executive quotes and GPU hardware list.', alternates: { canonical: `${SITE_URL}/landing/infrastructure` }, - openGraph: { - title: 'Infrastructure | InferenceX', - description: 'Explore the GPU clusters powering InferenceX benchmarks across four US regions.', - url: `${SITE_URL}/landing/infrastructure`, - }, }; -export default function InfrastructurePage() { +export default function VariantC() { return (
+ {/* Hero */}

- Infrastructure + Trusted by Industry Leaders

- Bare metal. No compromises. + Trusted by GigaWatt Token Factories

- InferenceX benchmarks run on dedicated bare-metal servers across four US regions. No - cloud VMs, no shared resources — just raw hardware performance with full control over - the software stack from BIOS to framework. + Compare AI inference performance across GPUs and frameworks. Real benchmarks on NVIDIA + GB200, B200, AMD MI355X, and more. Free, open-source, continuously updated.

-
- {CLUSTERS.map((cluster) => ( + {/* Executive quotes */} +
+ {QUOTES.map((q) => (
-
-

- {cluster.location} -

- - {cluster.codename} - -
-

- {cluster.specs} -

-

- {cluster.description} +

+ {q.org} +

+

+ “{q.text}”

+
+

{q.name}

+

{q.title}

+
))}
-

- All clusters are connected via dedicated 100Gbps links. Hardware configurations are - documented in our open-source repository and updated with each infrastructure change. -

+ {/* GPU hardware list */} +
+

+ Hardware We Benchmark +

+
+ {GPUS.map((gpu) => ( + + {gpu} + + ))} +
+
+ + {/* CTAs */} +
+ + Open Dashboard + + + + See all 36 supporters → + + + Star on GitHub → + +
diff --git a/packages/app/src/app/landing/methodology/page.tsx b/packages/app/src/app/landing/methodology/page.tsx index e49bd7fa..151562c5 100644 --- a/packages/app/src/app/landing/methodology/page.tsx +++ b/packages/app/src/app/landing/methodology/page.tsx @@ -1,98 +1,133 @@ import type { Metadata } from 'next'; +import Link from 'next/link'; +import { ArrowRight } from 'lucide-react'; import { Card } from '@/components/ui/card'; import { SITE_URL } from '@semianalysisai/inferencex-constants'; -const STEPS = [ +const STATS = [ + { value: '6+', label: 'GPU Architectures' }, + { value: '10+', label: 'Models Benchmarked' }, + { value: 'Daily', label: 'Update Frequency' }, + { value: '100%', label: 'Open Source' }, +]; + +const PRESETS = [ + { + title: 'GB200 NVL72 vs B200', + description: 'Multi vs Single Node — Dynamo TRT on DeepSeek R1 at FP4.', + href: '/inference?preset=gb200-vs-b200', + }, { - step: '01', - title: 'Hardware Provisioning', - description: - 'Dedicated bare-metal servers with isolated GPU access. No shared tenancy, no noisy neighbors. Each benchmark run gets exclusive hardware to ensure consistent, reproducible measurements.', + title: 'B200 vs H200', + description: 'Blackwell vs Hopper — throughput per GPU on DeepSeek R1 at FP8.', + href: '/inference?preset=b200-vs-h200', }, { - step: '02', - title: 'Framework Deployment', - description: - 'We deploy each inference framework (vLLM, TensorRT-LLM, SGLang, and others) using their recommended production configurations. No custom patches or unreleased optimizations.', + title: 'AMD MI300X → MI325X → MI355X', + description: 'Three generations of AMD Instinct on SGLang at FP8.', + href: '/inference?preset=amd-generations', }, { - step: '03', - title: 'Load Generation', - description: - 'Synthetic traffic that mirrors real-world patterns — variable input/output lengths, mixed concurrency levels, and sustained throughput. We measure P50, P99, and tail latencies under realistic conditions.', + title: 'H100 vs GB300 Disagg', + description: 'H100 FP8 vs GB300 FP8 vs GB300 FP4 disagg on DeepSeek R1.', + href: '/inference?preset=h100-vs-gb300-disagg', }, { - step: '04', - title: 'Data Collection & Validation', - description: - 'Automated pipelines collect TTFT, TPOT, ITL, throughput, and end-to-end latency. Outlier detection flags anomalous runs. Every data point links back to the exact config and commit that produced it.', + title: 'Disagg B200 vs MI355X vs B200 TRT', + description: 'Cross-vendor disaggregated serving comparison at FP8.', + href: '/inference?preset=disagg-b200-vs-mi355x', }, { - step: '05', - title: 'Publication', - description: - 'Results flow into the InferenceX dashboard within hours. Historical data is preserved so you can track performance regressions and improvements across framework releases.', + title: 'MI355X SGLang Disagg Over Time', + description: 'Tracks throughput improvements over time on DeepSeek R1 FP8.', + href: '/inference?preset=mi355x-sglang-disagg-timeline', }, ]; export const metadata: Metadata = { - title: 'Methodology', - description: - 'How InferenceX benchmarks ML inference performance — hardware provisioning, load generation, data validation, and publication pipeline.', + title: 'Landing Variant B — Stats + Full Presets', + description: 'InferenceX landing page variant with stat counters and all 6 curated presets.', alternates: { canonical: `${SITE_URL}/landing/methodology` }, - openGraph: { - title: 'Methodology | InferenceX', - description: - 'How InferenceX benchmarks ML inference performance — from hardware provisioning to data publication.', - url: `${SITE_URL}/landing/methodology`, - }, }; -export default function MethodologyPage() { +export default function VariantB() { return (
+ {/* Hero */}

- Methodology + By SemiAnalysis

- How we measure what matters. + Open Source Continuous Inference Benchmark

- Benchmarking inference is deceptively hard. A single request latency tells you almost - nothing about production behavior. Our methodology is designed to capture the metrics - that actually matter when you're serving millions of tokens per day. + InferenceX is the open-source AI inference benchmark that matches the rapid pace of + modern AI development. Powered by one of the largest open-source GPU CI/CD fleets with + NVIDIA GB200, AMD MI355X & many more.

-
- {STEPS.map((item) => ( -
+ {STATS.map((s) => ( +
-

- Step {item.step} +

+ {s.value} +

+

+ {s.label}

-

- {item.title} -

-

{item.description}

-
+
))} -

- Our full methodology, including config files and load generation scripts, is available - in our open-source repository. We welcome community review and contributions to improve - our benchmarking process. -

+ {/* All 6 presets */} +
+

+ Quick Comparisons +

+
+ {PRESETS.map((p) => ( + +
+

+ {p.title} +

+ +
+

{p.description}

+ + ))} +
+
+ + {/* CTA */} +
+ + Open Full Dashboard + + + + See what supporters say → + +
diff --git a/packages/app/src/app/landing/open-source/page.tsx b/packages/app/src/app/landing/open-source/page.tsx index deab218a..68273ddd 100644 --- a/packages/app/src/app/landing/open-source/page.tsx +++ b/packages/app/src/app/landing/open-source/page.tsx @@ -1,114 +1,164 @@ import type { Metadata } from 'next'; +import Link from 'next/link'; +import { ArrowRight } from 'lucide-react'; import { Card } from '@/components/ui/card'; import { SITE_URL } from '@semianalysisai/inferencex-constants'; -const REPOS = [ +const PRESETS_LEFT = [ { - name: 'InferenceX App', - language: 'TypeScript', - description: - 'The dashboard you are looking at right now. Next.js 16, D3.js charts, React Query, and Tailwind CSS. Every chart, filter, and data pipeline is open for inspection and contribution.', - stars: '1.2k', + title: 'GB200 NVL72 vs B200', + description: 'Multi vs Single Node — Dynamo TRT on DeepSeek R1 at FP4.', + href: '/inference?preset=gb200-vs-b200', }, { - name: 'InferenceX Runner', - language: 'Python', - description: - 'The benchmark orchestrator. Handles GPU provisioning, framework deployment, load generation, and result collection. Designed to be self-hostable on your own hardware.', - stars: '890', + title: 'B200 vs H200', + description: 'Blackwell vs Hopper — throughput per GPU at FP8.', + href: '/inference?preset=b200-vs-h200', }, { - name: 'InferenceX Configs', - language: 'YAML', - description: - 'Every benchmark configuration ever run — model parameters, serving configs, hardware specs. Full provenance for every data point on the dashboard.', - stars: '340', + title: 'AMD MI300X → MI355X', + description: 'Three generations of AMD Instinct on SGLang at FP8.', + href: '/inference?preset=amd-generations', }, ]; -const PRINCIPLES = [ +const PRESETS_RIGHT = [ { - title: 'Fork It', - description: 'Run our benchmarks on your own hardware. Compare your results against ours.', + title: 'H100 vs GB300 Disagg', + description: 'Cross-generation disagg comparison on DeepSeek R1.', + href: '/inference?preset=h100-vs-gb300-disagg', }, { - title: 'Fix It', - description: 'Found a bug or methodology flaw? PRs are welcome. We review within 48 hours.', + title: 'Disagg B200 vs MI355X', + description: 'Cross-vendor disaggregated serving at FP8.', + href: '/inference?preset=disagg-b200-vs-mi355x', }, { - title: 'Extend It', - description: - 'Add new models, GPUs, or frameworks. The architecture is designed for extensibility.', + title: 'MI355X Over Time', + description: 'SGLang disagg throughput improvements on DeepSeek R1.', + href: '/inference?preset=mi355x-sglang-disagg-timeline', + }, +]; + +const NAV_SECTIONS = [ + { + heading: 'Explore', + links: [ + { label: 'Full Dashboard', href: '/inference' }, + { label: 'Supporters', href: '/quotes' }, + { label: 'Articles', href: '/blog' }, + ], + }, + { + heading: 'Contribute', + links: [ + { label: 'GitHub — Benchmarks', href: 'https://github.com/SemiAnalysisAI/InferenceX' }, + { label: 'GitHub — Frontend', href: 'https://github.com/SemiAnalysisAI/InferenceX-app' }, + { label: 'GPU Reliability', href: '/reliability' }, + ], + }, + { + heading: 'SemiAnalysis', + links: [ + { label: 'Main Site', href: 'https://semianalysis.com' }, + { label: 'Newsletter', href: 'https://newsletter.semianalysis.com' }, + { label: 'About', href: 'https://semianalysis.com/about/' }, + ], }, ]; export const metadata: Metadata = { - title: 'Open Source', - description: - 'InferenceX is fully open source under Apache 2.0. Explore our repositories, contribute benchmarks, and run tests on your own hardware.', + title: 'Landing Variant D — Split Presets + Nav', + description: 'InferenceX landing page variant with two-column presets and navigation sections.', alternates: { canonical: `${SITE_URL}/landing/open-source` }, - openGraph: { - title: 'Open Source | InferenceX', - description: 'InferenceX is fully open source under Apache 2.0.', - url: `${SITE_URL}/landing/open-source`, - }, }; -export default function OpenSourcePage() { +export default function VariantD() { return (

- Open Source + InferenceX by SemiAnalysis

- Trust is earned in the open. + Every model, GPU, framework, and metric.

- Benchmark data is only as credible as its source. That's why every line of code, - every configuration, and every data pipeline behind InferenceX is open source. Verify - our methodology. Reproduce our results. Hold us accountable. + Fully configurable inference benchmark charts with date ranges, concurrency sweeps, + and raw data export. Compare NVIDIA B200, H200, H100, AMD MI355X, MI325X, MI300X and + more across DeepSeek, gpt-oss, Llama, Qwen, and other models.

-
- {REPOS.map((repo) => ( -
-
-

- {repo.language} -

- {repo.stars} stars -
-

- {repo.name} -

-

{repo.description}

-
- ))} + {/* Two-column presets */} +
+
+

+ NVIDIA Comparisons +

+ {PRESETS_LEFT.map((p) => ( + +
+

+ {p.title} +

+

{p.description}

+
+ + + ))} +
+
+

+ Cross-Vendor & Timeline +

+ {PRESETS_RIGHT.map((p) => ( + +
+

+ {p.title} +

+

{p.description}

+
+ + + ))} +
-
- {PRINCIPLES.map((p) => ( -
-

- {p.title} + {/* Nav sections */} +
+ {NAV_SECTIONS.map((s) => ( +
+

+ {s.heading}

-

{p.description}

+
    + {s.links.map((l) => ( +
  • + + {l.label} + +
  • + ))} +
))}
- -

- Licensed under Apache 2.0. Use our data, fork our code, and build something better. The - AI ecosystem benefits when performance data is free. -

diff --git a/packages/app/src/app/landing/partners/page.tsx b/packages/app/src/app/landing/partners/page.tsx index 7d761889..389df8c7 100644 --- a/packages/app/src/app/landing/partners/page.tsx +++ b/packages/app/src/app/landing/partners/page.tsx @@ -1,95 +1,125 @@ import type { Metadata } from 'next'; +import Link from 'next/link'; +import { ArrowRight, Quote } from 'lucide-react'; import { Card } from '@/components/ui/card'; import { SITE_URL } from '@semianalysisai/inferencex-constants'; -const PARTNERS = [ - { - tier: 'Hardware', - name: 'GPU Manufacturers', - description: - 'We work directly with NVIDIA, AMD, and emerging accelerator vendors to ensure our benchmarks use optimal configurations and reflect real-world deployment patterns.', - contributions: ['Early access hardware', 'Driver optimization guidance', 'Reference configs'], - }, - { - tier: 'Framework', - name: 'Inference Frameworks', - description: - 'Close collaboration with vLLM, TensorRT-LLM, SGLang, and other framework teams ensures we benchmark the latest optimizations as they land.', - contributions: ['Nightly builds', 'Performance tuning', 'Bug reports & fixes'], - }, - { - tier: 'Cloud', - name: 'Infrastructure Providers', - description: - 'Bare-metal and cloud partners provide the compute resources that power our continuous benchmark pipeline across multiple GPU generations.', - contributions: ['Dedicated clusters', 'Network isolation', 'Hardware refresh cycles'], - }, +const SUPPORTERS = [ + 'OpenAI', + 'NVIDIA', + 'AMD', + 'Microsoft', + 'Together AI', + 'vLLM', + 'GPU Mode', + 'PyTorch Foundation', + 'Oracle', + 'CoreWeave', + 'Nebius', + 'Crusoe', + 'TensorWave', + 'SGLang', + 'WEKA', + 'Stanford', + 'Core42', + 'Meta', + 'Hugging Face', + 'UC Berkeley', + 'Lambda', + 'UC San Diego', ]; +const FEATURED_QUOTE = { + text: "As we build systems at unprecedented scale, it's critical for the ML community to have open, transparent benchmarks that reflect how inference really performs across hardware and software. InferenceMAX's head-to-head benchmarks cut through the noise and provide a living picture of token throughput, performance per dollar, and tokens per Megawatt.", + name: 'Peter Hoeschele', + title: 'VP of Infrastructure and Industrial Compute, OpenAI Stargate', +}; + export const metadata: Metadata = { - title: 'Partners', - description: - 'InferenceX partners with GPU manufacturers, inference framework teams, and infrastructure providers to deliver unbiased benchmark data.', + title: 'Landing Variant E — Supporters Wall', + description: 'InferenceX landing page variant with a supporter logo wall and featured quote.', alternates: { canonical: `${SITE_URL}/landing/partners` }, - openGraph: { - title: 'Partners | InferenceX', - description: - 'GPU manufacturers, framework teams, and infrastructure providers powering InferenceX.', - url: `${SITE_URL}/landing/partners`, - }, }; -export default function PartnersPage() { +export default function VariantE() { return (

- Partners + InferenceX

- Independent benchmarks, collaborative relationships. + Trusted by the companies building AI infrastructure.

- We partner with hardware vendors, framework developers, and infrastructure providers — - but our results are never influenced by these relationships. Partners help us access - hardware and optimize configs; the data remains independent. + Compare AI inference performance across GPUs and frameworks. Real benchmarks on NVIDIA + GB200, B200, AMD MI355X, and more. Free, open-source, continuously updated.

-
- {PARTNERS.map((partner) => ( -
-

- {partner.tier} -

-

- {partner.name} -

-

- {partner.description} -

-
    - {partner.contributions.map((c) => ( -
  • - - {c} -
  • - ))} -
-
- ))} + {/* Supporter wall */} +
+

+ Supported By 36+ Industry Leaders +

+
+ {SUPPORTERS.map((org) => ( + + {org} + + ))} +
+
+ + {/* Featured quote */} +
+ +

+ “{FEATURED_QUOTE.text}” +

+
+

{FEATURED_QUOTE.name}

+

{FEATURED_QUOTE.title}

+
-

- Interested in partnering with InferenceX? We're always looking for hardware access - and framework collaborations that help us expand our benchmark coverage. -

+ {/* CTAs */} +
+ + Open Dashboard + + + + See all supporters → + + + Star on GitHub → + + + Read Articles → + +
diff --git a/packages/app/src/app/landing/press/page.tsx b/packages/app/src/app/landing/press/page.tsx deleted file mode 100644 index 333f2711..00000000 --- a/packages/app/src/app/landing/press/page.tsx +++ /dev/null @@ -1,129 +0,0 @@ -import type { Metadata } from 'next'; - -import { Card } from '@/components/ui/card'; -import { SITE_URL } from '@semianalysisai/inferencex-constants'; - -const COVERAGE = [ - { - outlet: 'The Information', - date: 'March 2026', - headline: 'SemiAnalysis Launches Open Benchmark Dashboard for GPU Inference', - excerpt: - 'The new InferenceX platform provides unprecedented transparency into how GPUs actually perform under production inference workloads, challenging vendor-published specs.', - }, - { - outlet: 'Ars Technica', - date: 'February 2026', - headline: 'Finally, GPU Benchmarks That Match Reality', - excerpt: - 'InferenceX tests GPUs under real concurrency and sustained load — not the single-request fairy tales that dominate vendor marketing materials.', - }, - { - outlet: 'SemiAnalysis', - date: 'January 2026', - headline: 'Why We Built InferenceX: The Case for Open Benchmarks', - excerpt: - 'GPU purchasing decisions worth millions of dollars are made based on misleading benchmark data. We built InferenceX to fix that.', - }, -]; - -const BRAND_ASSETS = [ - { - name: 'Logo Pack', - format: 'SVG + PNG', - description: 'Full logo, icon, and wordmark in light and dark variants.', - }, - { - name: 'Screenshot Kit', - format: 'PNG 2x', - description: 'Dashboard screenshots showing scatter plots, GPU graphs, and calculator views.', - }, - { - name: 'Brand Guidelines', - format: 'PDF', - description: 'Colors, typography, spacing, and usage rules for the InferenceX brand.', - }, -]; - -export const metadata: Metadata = { - title: 'Press', - description: - 'InferenceX press coverage, media mentions, and brand assets. Download logos, screenshots, and brand guidelines.', - alternates: { canonical: `${SITE_URL}/landing/press` }, - openGraph: { - title: 'Press | InferenceX', - description: 'Press coverage and brand assets for InferenceX.', - url: `${SITE_URL}/landing/press`, - }, -}; - -export default function PressPage() { - return ( -
-
- -
-

- Press -

-

- InferenceX in the news. -

-

- Selected coverage of InferenceX and the SemiAnalysis benchmark platform. For press - inquiries, reach out to our communications team. -

-
- -
- {COVERAGE.map((item) => ( -
-
-

- {item.outlet} -

- {item.date} -
-

- {item.headline} -

-

{item.excerpt}

-
- ))} -
- -
-

- Brand Assets -

-
- {BRAND_ASSETS.map((asset) => ( -
-
-

- {asset.name} -

- - {asset.format} - -
-

- {asset.description} -

-
- ))} -
-
- -

- For press inquiries, interviews, or custom benchmark data requests, contact - press@semianalysis.com. We typically respond within 24 hours. -

-
-
-
- ); -} diff --git a/packages/app/src/app/landing/status/page.tsx b/packages/app/src/app/landing/status/page.tsx index b714d40f..06549ee0 100644 --- a/packages/app/src/app/landing/status/page.tsx +++ b/packages/app/src/app/landing/status/page.tsx @@ -1,154 +1,156 @@ import type { Metadata } from 'next'; +import Link from 'next/link'; +import { ArrowRight, Quote } from 'lucide-react'; import { Card } from '@/components/ui/card'; import { SITE_URL } from '@semianalysisai/inferencex-constants'; -const SYSTEMS = [ +const PRESETS = [ { - name: 'Dashboard & API', - status: 'Operational', - uptime: '99.97%', - description: - 'The InferenceX web dashboard and public API endpoints. Served via Vercel with global edge caching and automatic failover.', + title: 'GB200 NVL72 vs B200 — Multi vs Single Node', + description: 'GB200 NVL72 Dynamo TRT vs B200 Dynamo TRT on DeepSeek R1 (8k/1k) at FP4.', + href: '/inference?preset=gb200-vs-b200', + tags: ['DeepSeek', 'GB200', 'B200', 'Dynamo', 'FP4', 'NVL72'], }, { - name: 'Benchmark Pipeline', - status: 'Operational', - uptime: '99.8%', + title: 'B200 vs H200 — Blackwell vs Hopper', description: - 'Automated benchmark orchestration — GPU provisioning, framework deployment, load generation, and result ingestion. Runs on a daily cron cycle.', + 'Blackwell B200 vs Hopper H200 Dynamo TRT throughput per GPU on DeepSeek R1 at FP8.', + href: '/inference?preset=b200-vs-h200', + tags: ['DeepSeek', 'B200', 'H200', 'Dynamo', 'FP8'], }, { - name: 'Database', - status: 'Operational', - uptime: '99.99%', + title: 'AMD MI300X → MI325X → MI355X', description: - 'Neon PostgreSQL serving all benchmark data, configurations, and historical records. Read replicas across multiple regions for low-latency queries.', + 'Three generations of AMD Instinct on SGLang at FP8. Generational throughput scaling.', + href: '/inference?preset=amd-generations', + tags: ['DeepSeek', 'MI300X', 'MI325X', 'MI355X', 'SGLang', 'FP8'], }, { - name: 'GPU Clusters', - status: 'Partial', - uptime: '96.2%', - description: - 'Bare-metal GPU servers across four US regions. Partial status reflects scheduled hardware maintenance windows and GPU refresh cycles.', + title: 'H100 vs GB300 Disagg — DeepSeek', + description: 'H100 FP8 disagg vs GB300 FP8 disagg vs GB300 FP4 disagg on DeepSeek R1.', + href: '/inference?preset=h100-vs-gb300-disagg', + tags: ['DeepSeek', 'H100', 'GB300', 'Disagg', 'FP8', 'FP4'], }, -]; - -const INCIDENTS = [ { - date: 'March 28, 2026', - severity: 'Minor', - title: 'Delayed benchmark ingestion', + title: 'Disagg B200 SGLang vs MI355X vs B200 TRT', description: - 'A database migration caused a 4-hour delay in benchmark result publication. No data was lost; results were backfilled after the migration completed.', + 'Disaggregated B200 Dynamo SGLang vs MI355X MoRI SGLang vs B200 Dynamo TRT at FP8.', + href: '/inference?preset=disagg-b200-vs-mi355x', + tags: ['DeepSeek', 'B200', 'MI355X', 'Disagg', 'FP8'], }, { - date: 'March 15, 2026', - severity: 'Major', - title: 'SCL-01 cluster offline', - description: - 'Power supply failure in the Santa Clara cluster took GB200 benchmarks offline for 18 hours. Redundant power has since been installed.', + title: 'MI355X SGLang Disagg Over Time', + description: 'MI355X SGLang disaggregated inference on DeepSeek R1 FP8 — throughput over time.', + href: '/inference?preset=mi355x-sglang-disagg-timeline', + tags: ['DeepSeek', 'MI355X', 'SGLang', 'FP8', 'Timeline'], }, ]; +const FEATURED_QUOTE = { + text: 'InferenceMAX highlights workloads that the ML community cares about. At NVIDIA, we welcome these comparisons because they underscore the advantage of our full-stack approach — from GPU hardware to NVLink networking to NVL72 Rack Scale to Dynamo disaggregated serving.', + name: 'Ian Buck', + title: 'VP & GM, Hyperscale, NVIDIA & Inventor of CUDA', +}; + export const metadata: Metadata = { - title: 'Status', + title: 'Landing Variant H — Full Preset Cards + Tags', description: - 'InferenceX system status — dashboard, API, benchmark pipeline, database, and GPU cluster health.', + 'InferenceX landing page variant with full-width tagged preset cards mirroring the OG layout.', alternates: { canonical: `${SITE_URL}/landing/status` }, - openGraph: { - title: 'Status | InferenceX', - description: 'Real-time status of InferenceX systems and infrastructure.', - url: `${SITE_URL}/landing/status`, - }, }; -export default function StatusPage() { +export default function VariantH() { return (

- System Status + InferenceX

- All systems operational. + Compare GPU inference performance. For real.

- Current status of InferenceX infrastructure. We monitor dashboard availability, - benchmark pipeline health, database performance, and GPU cluster uptime continuously. + Every model, GPU, framework, and metric. Fully configurable inference benchmark charts + with date ranges, concurrency sweeps, and raw data export.

+
+ + Open Dashboard + + + + Star on GitHub → + +
-
- {SYSTEMS.map((system) => ( -
+ {PRESETS.map((p) => ( + -
-

- {system.name} -

- - {system.status} - -
-
- - {system.uptime} - - uptime (30d) +
+
+

+ {p.title} +

+
-

{system.description}

-
- ))} -
- -
-

- Recent Incidents -

-
- {INCIDENTS.map((incident) => ( -
-
+

{p.description}

+
+ {p.tags.map((t) => ( - {incident.severity} + {t} - {incident.date} -
-

- {incident.title} -

-

- {incident.description} -

+ ))}
- ))} -
+ + ))}
-

- For real-time alerts, subscribe to our status RSS feed or follow @SemiAnalysis on X. - Incident postmortems are published within 48 hours of resolution. -

+ {/* Quote */} +
+ +

+ “{FEATURED_QUOTE.text}” +

+

+ — {FEATURED_QUOTE.name}, {FEATURED_QUOTE.title} +

+
+ +
+ + Supporters → + + + Articles → + + + GPU Reliability → + + + Newsletter → + +