forked from emre/www_projectmycelium_com
feat: restructure GPU page layout and simplify content presentation
- Reordered sections to improve information flow (Capabilities → Design → Architecture → Overview) - Simplified use cases and overview sections by removing redundant bullet points - Added new GpuCapabilities and GpuDesign components with cleaner, more focused messaging
This commit is contained in:
75
src/pages/gpu/GpuArchitectureArchive.tsx
Normal file
75
src/pages/gpu/GpuArchitectureArchive.tsx
Normal file
@@ -0,0 +1,75 @@
|
||||
import { Container } from '../../components/Container'
|
||||
import { Eyebrow, SectionHeader, P } from '../../components/Texts'
|
||||
|
||||
const architectureSections = [
|
||||
{
|
||||
title: 'Distributed GPU Mesh',
|
||||
description:
|
||||
'A peer-to-peer fabric connects GPU nodes across the ThreeFold Grid, exposing them through the Mycelium network.',
|
||||
bullets: [
|
||||
'GPU nodes distributed globally for on-demand acceleration.',
|
||||
'Mycelium network provides encrypted peer-to-peer connectivity.',
|
||||
'Smart contract orchestration allocates and governs resources.',
|
||||
'Real-time monitoring tracks utilization and health.',
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Performance Characteristics',
|
||||
description:
|
||||
'Consistency and transparency are built into the fabric so workloads behave predictably anywhere on the planet.',
|
||||
bullets: [
|
||||
'Edge-to-core deployment flexibility for every workload profile.',
|
||||
'Adaptive intelligence optimizes allocation automatically.',
|
||||
'Deterministic performance guarantees availability when booked.',
|
||||
'Transparent cost tracking for every GPU cycle consumed.',
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
export function GpuArchitectureArchive() {
|
||||
return (
|
||||
<section id="gpu-architecture" className="bg-white py-24 sm:py-32">
|
||||
<Container>
|
||||
<div className="mx-auto max-w-3xl text-center">
|
||||
<Eyebrow>
|
||||
Technical Architecture
|
||||
</Eyebrow>
|
||||
<SectionHeader as="h2" className="mt-6 text-gray-900">
|
||||
A peer-to-peer mesh purpose-built for acceleration.
|
||||
</SectionHeader>
|
||||
<P className="mt-6 text-gray-600">
|
||||
Mycelium GPU treats every node as part of a sovereign mesh. Encrypted
|
||||
networking, smart contract orchestration, and transparent monitoring
|
||||
ensure your workloads receive precisely the power they request.
|
||||
</P>
|
||||
</div>
|
||||
<div className="mt-16 grid gap-8 lg:grid-cols-2">
|
||||
{architectureSections.map((section) => (
|
||||
<div
|
||||
key={section.title}
|
||||
className="flex h-full flex-col rounded-3xl border border-slate-200 bg-white p-8 shadow-sm transition hover:-translate-y-1 hover:border-cyan-300 hover:shadow-lg"
|
||||
>
|
||||
<h3 className="text-xl font-semibold text-gray-900">
|
||||
{section.title}
|
||||
</h3>
|
||||
<p className="mt-4 text-sm leading-relaxed text-gray-600">
|
||||
{section.description}
|
||||
</p>
|
||||
<ul className="mt-6 space-y-3 text-sm text-gray-600">
|
||||
{section.bullets.map((bullet) => (
|
||||
<li
|
||||
key={bullet}
|
||||
className="flex items-start gap-3 rounded-2xl border border-cyan-100 bg-cyan-50/60 p-3 leading-relaxed"
|
||||
>
|
||||
<span className="mt-1 inline-block size-2 rounded-full bg-cyan-500" />
|
||||
<span>{bullet}</span>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</Container>
|
||||
</section>
|
||||
)
|
||||
}
|
||||
52
src/pages/gpu/GpuCapabilities.tsx
Normal file
52
src/pages/gpu/GpuCapabilities.tsx
Normal file
@@ -0,0 +1,52 @@
|
||||
import { Container } from '../../components/Container'
|
||||
import { Eyebrow, SectionHeader, P } from '../../components/Texts'
|
||||
|
||||
const architecture = [
|
||||
{
|
||||
title: 'Sovereign Compute Nodes',
|
||||
description: 'GPUs hosted on hardware you trust.',
|
||||
},
|
||||
{
|
||||
title: 'Encrypted Mesh Networking',
|
||||
description: 'Secure, private connectivity to workloads.',
|
||||
},
|
||||
{
|
||||
title: 'Reservation & Verification Layer',
|
||||
description: 'Guarantees GPU access and consistency.',
|
||||
},
|
||||
]
|
||||
|
||||
export function GpuArchitecture() {
|
||||
return (
|
||||
<section id="gpu-architecture" className="bg-white py-24 sm:py-32">
|
||||
<Container>
|
||||
<div className="mx-auto max-w-3xl text-center">
|
||||
<Eyebrow>ARCHITECTURE</Eyebrow>
|
||||
<SectionHeader as="h2" className="mt-6 text-gray-900">
|
||||
HOW IT WORKS
|
||||
</SectionHeader>
|
||||
<P className="mt-6 text-gray-600">
|
||||
A sovereign GPU fabric built for transparent access, secure routing,
|
||||
and guaranteed performance—no opaque clouds or shared queues.
|
||||
</P>
|
||||
</div>
|
||||
|
||||
<div className="mx-auto mt-16 max-w-4xl space-y-6">
|
||||
{architecture.map((item) => (
|
||||
<div
|
||||
key={item.title}
|
||||
className="rounded-3xl border border-slate-200 bg-white p-8 shadow-sm transition hover:-translate-y-1 hover:border-cyan-300 hover:shadow-lg"
|
||||
>
|
||||
<h3 className="text-xl font-semibold text-gray-900">
|
||||
{item.title}
|
||||
</h3>
|
||||
<p className="mt-3 text-sm leading-relaxed text-gray-600">
|
||||
{item.description}
|
||||
</p>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</Container>
|
||||
</section>
|
||||
)
|
||||
}
|
||||
62
src/pages/gpu/GpuDesign.tsx
Normal file
62
src/pages/gpu/GpuDesign.tsx
Normal file
@@ -0,0 +1,62 @@
|
||||
import { Container } from '../../components/Container'
|
||||
import { Eyebrow, H3, P, CT } from '../../components/Texts'
|
||||
import {
|
||||
BoltIcon,
|
||||
BanknotesIcon,
|
||||
GlobeAltIcon,
|
||||
ShieldCheckIcon,
|
||||
} from '@heroicons/react/24/solid'
|
||||
|
||||
const benefits = [
|
||||
{
|
||||
name: 'Consistent, reserved GPU performance (no noisy neighbor effects)',
|
||||
icon: BoltIcon,
|
||||
},
|
||||
{
|
||||
name: 'Transparent cost (no markup, no surprise billing)',
|
||||
icon: BanknotesIcon,
|
||||
},
|
||||
{
|
||||
name: 'Run anywhere – cloud, on-prem, edge, home lab',
|
||||
icon: GlobeAltIcon,
|
||||
},
|
||||
{
|
||||
name: 'Your data never leaves your control',
|
||||
icon: ShieldCheckIcon,
|
||||
},
|
||||
]
|
||||
|
||||
export function GpuDesign() {
|
||||
return (
|
||||
<section className="bg-white py-24 sm:py-32">
|
||||
<Container>
|
||||
{/* Header */}
|
||||
<div className="mx-auto max-w-3xl sm:text-center">
|
||||
<Eyebrow>CORE VALUE</Eyebrow>
|
||||
<H3 className="mt-4 text-gray-900">GPU Power You Actually Control</H3>
|
||||
<P className="mt-6 text-gray-600">
|
||||
Mycelium GPU gives you access to real hardware, not gated queues or
|
||||
proprietary runtimes.
|
||||
</P>
|
||||
</div>
|
||||
|
||||
{/* Key Benefits */}
|
||||
<div className="mx-auto mt-16 max-w-5xl">
|
||||
<dl className="grid grid-cols-1 gap-12 sm:grid-cols-2 lg:grid-cols-2">
|
||||
{benefits.map((benefit) => (
|
||||
<div key={benefit.name} className="relative pl-12">
|
||||
<benefit.icon
|
||||
className="absolute left-0 top-1 size-6 text-cyan-600"
|
||||
aria-hidden="true"
|
||||
/>
|
||||
<CT className="font-semibold text-gray-900">
|
||||
{benefit.name}
|
||||
</CT>
|
||||
</div>
|
||||
))}
|
||||
</dl>
|
||||
</div>
|
||||
</Container>
|
||||
</section>
|
||||
)
|
||||
}
|
||||
@@ -1,48 +1,30 @@
|
||||
import {
|
||||
CodeBracketSquareIcon,
|
||||
CubeTransparentIcon,
|
||||
LockClosedIcon,
|
||||
Squares2X2Icon,
|
||||
AdjustmentsHorizontalIcon,
|
||||
GlobeAltIcon,
|
||||
BanknotesIcon,
|
||||
} from '@heroicons/react/24/outline'
|
||||
|
||||
import { Container } from '../../components/Container'
|
||||
import { Eyebrow, SectionHeader, P, Small } from '../../components/Texts'
|
||||
import { Eyebrow, SectionHeader, P } from '../../components/Texts'
|
||||
|
||||
const overviewCards = [
|
||||
const coreFeatures = [
|
||||
{
|
||||
label: 'Overview',
|
||||
title: 'Unified GPU acceleration across the ThreeFold Grid',
|
||||
name: 'Deterministic GPU Allocation',
|
||||
description:
|
||||
'Mycelium GPU aggregates distributed hardware into a single fabric, delivering sovereign acceleration for AI, ML, and rendering workloads.',
|
||||
'Reserve the GPU type you need and get exactly that, every time.',
|
||||
icon: AdjustmentsHorizontalIcon,
|
||||
},
|
||||
{
|
||||
label: 'Core Concept',
|
||||
title: 'Sovereign intelligence layer',
|
||||
name: 'Multi-Topology Deployment',
|
||||
description:
|
||||
'No silos, no intermediaries—just raw, verifiable GPU power orchestrated through smart contracts and APIs you control.',
|
||||
},
|
||||
]
|
||||
|
||||
const principles = [
|
||||
{
|
||||
name: 'No Silos',
|
||||
description: 'Every GPU resource is accessible through a single interface.',
|
||||
icon: Squares2X2Icon,
|
||||
'Run workloads in data centers, at the edge, or on self-hosted nodes.',
|
||||
icon: GlobeAltIcon,
|
||||
},
|
||||
{
|
||||
name: 'No Intermediaries',
|
||||
description: 'Direct access to hardware without centralized brokers.',
|
||||
icon: CubeTransparentIcon,
|
||||
},
|
||||
{
|
||||
name: 'Verifiable Power',
|
||||
description: 'Every GPU cycle is attested and cryptographically verified.',
|
||||
icon: LockClosedIcon,
|
||||
},
|
||||
{
|
||||
name: 'Code-Orchestrated',
|
||||
description: 'Smart contracts and APIs automate allocation and policy.',
|
||||
icon: CodeBracketSquareIcon,
|
||||
name: 'Transparent Cost Structure',
|
||||
description:
|
||||
'No inflated pricing, no hidden fees, no marketplace brokerage.',
|
||||
icon: BanknotesIcon,
|
||||
},
|
||||
]
|
||||
|
||||
@@ -52,52 +34,31 @@ export function GpuOverview() {
|
||||
<Container>
|
||||
<div className="mx-auto max-w-3xl text-center">
|
||||
<Eyebrow className="tracking-[0.32em] uppercase text-cyan-300">
|
||||
Platform Overview
|
||||
PLATFORM OVERVIEW
|
||||
</Eyebrow>
|
||||
<SectionHeader as="h2" color="light" className="mt-6 font-medium">
|
||||
The sovereign acceleration layer for intelligent workloads.
|
||||
Core Features
|
||||
</SectionHeader>
|
||||
<P color="lightSecondary" className="mt-6">
|
||||
Mycelium GPU makes distributed acceleration feel like one machine.
|
||||
Harness global GPUs with deterministic performance, transparent
|
||||
costs, and end-to-end verification.
|
||||
The Mycelium GPU layer provides predictable, sovereign acceleration
|
||||
— without arbitrary limits or hidden economics.
|
||||
</P>
|
||||
</div>
|
||||
<div className="mt-16 grid gap-8 lg:grid-cols-2">
|
||||
{overviewCards.map((card) => (
|
||||
|
||||
<div className="mx-auto mt-16 max-w-5xl grid gap-8 sm:grid-cols-2 lg:grid-cols-3">
|
||||
{coreFeatures.map((feature) => (
|
||||
<div
|
||||
key={card.title}
|
||||
className="group relative overflow-hidden rounded-3xl border border-white/10 bg-white/[0.04] p-8 backdrop-blur-sm transition hover:-translate-y-1 hover:border-cyan-300/50 hover:bg-white/[0.08]"
|
||||
>
|
||||
<div className="absolute inset-0 bg-gradient-to-br from-cyan-500/0 via-white/[0.05] to-cyan-300/20 opacity-0 transition group-hover:opacity-100" />
|
||||
<div className="relative">
|
||||
<Small className="text-xs uppercase tracking-[0.35em] text-cyan-200">
|
||||
{card.label}
|
||||
</Small>
|
||||
<h3 className="mt-4 text-lg font-semibold text-white">
|
||||
{card.title}
|
||||
</h3>
|
||||
<p className="mt-4 text-sm leading-relaxed text-gray-300">
|
||||
{card.description}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
<div className="mt-16 grid gap-8 sm:grid-cols-2 lg:grid-cols-4">
|
||||
{principles.map((principle) => (
|
||||
<div
|
||||
key={principle.name}
|
||||
className="rounded-3xl border border-white/10 bg-white/[0.04] p-6 text-left transition hover:-translate-y-1 hover:border-cyan-300/50 hover:bg-white/[0.08]"
|
||||
key={feature.name}
|
||||
className="rounded-3xl border border-white/10 bg-white/[0.04] p-8 text-left backdrop-blur-sm transition hover:-translate-y-1 hover:border-cyan-300/50 hover:bg-white/[0.08]"
|
||||
>
|
||||
<div className="mb-6 flex size-12 items-center justify-center rounded-full bg-cyan-500/15">
|
||||
<principle.icon aria-hidden="true" className="size-6 text-cyan-300" />
|
||||
<feature.icon className="size-6 text-cyan-300" aria-hidden="true" />
|
||||
</div>
|
||||
<h3 className="text-base font-semibold text-white">
|
||||
{principle.name}
|
||||
<h3 className="text-lg font-semibold text-white">
|
||||
{feature.name}
|
||||
</h3>
|
||||
<p className="mt-3 text-sm leading-relaxed text-gray-300">
|
||||
{principle.description}
|
||||
{feature.description}
|
||||
</p>
|
||||
</div>
|
||||
))}
|
||||
|
||||
@@ -7,6 +7,8 @@ import { GpuUseCases } from './GpuUseCases'
|
||||
import { GpuGettingStarted } from './GpuGettingStarted'
|
||||
import { GpuDifferentiators } from './GpuDifferentiators'
|
||||
import { CallToAction } from './CallToAction'
|
||||
import { GpuCapabilities } from './GpuCapabilities'
|
||||
import { GpuDesign } from './GpuDesign'
|
||||
|
||||
export default function GpuPage() {
|
||||
return (
|
||||
@@ -14,24 +16,39 @@ export default function GpuPage() {
|
||||
<AnimatedSection>
|
||||
<GpuHero />
|
||||
</AnimatedSection>
|
||||
|
||||
<AnimatedSection>
|
||||
<GpuOverview />
|
||||
<GpuCapabilities />
|
||||
</AnimatedSection>
|
||||
|
||||
<AnimatedSection>
|
||||
<GpuDesign />
|
||||
</AnimatedSection>
|
||||
|
||||
<AnimatedSection>
|
||||
<GpuArchitecture />
|
||||
</AnimatedSection>
|
||||
|
||||
<AnimatedSection>
|
||||
<GpuOverview />
|
||||
</AnimatedSection>
|
||||
|
||||
<AnimatedSection>
|
||||
<GpuUseCases />
|
||||
</AnimatedSection>
|
||||
|
||||
<AnimatedSection>
|
||||
<GpuIntegration />
|
||||
</AnimatedSection>
|
||||
<AnimatedSection>
|
||||
<GpuUseCases />
|
||||
</AnimatedSection>
|
||||
|
||||
<AnimatedSection>
|
||||
<GpuGettingStarted />
|
||||
</AnimatedSection>
|
||||
|
||||
<AnimatedSection>
|
||||
<GpuDifferentiators />
|
||||
</AnimatedSection>
|
||||
|
||||
<AnimatedSection>
|
||||
<CallToAction />
|
||||
</AnimatedSection>
|
||||
|
||||
@@ -1,34 +1,18 @@
|
||||
import { Container } from '../../components/Container'
|
||||
import { Eyebrow, SectionHeader, P } from '../../components/Texts'
|
||||
|
||||
const useCases = [
|
||||
const gpuUseCases = [
|
||||
{
|
||||
title: 'AI / ML Training',
|
||||
description:
|
||||
'Scale training, fine-tuning, and inference workloads anywhere on the grid.',
|
||||
bullets: ['GPU acceleration', 'Scalable compute', 'Cost optimization'],
|
||||
title: 'AI / ML Training & Inference',
|
||||
description: 'Scale model execution across sovereign GPU nodes.',
|
||||
},
|
||||
{
|
||||
title: 'Rendering & Visualization',
|
||||
description:
|
||||
'Drive high-performance graphics pipelines for media, science, and immersive experiences.',
|
||||
bullets: [
|
||||
'Distributed 3D rendering',
|
||||
'Scientific visualization',
|
||||
'Real-time VR / AR processing',
|
||||
'Digital twin simulations',
|
||||
],
|
||||
description: 'Run 3D, scientific, simulation, or generative rendering pipelines.',
|
||||
},
|
||||
{
|
||||
title: 'General GPU Computing',
|
||||
description:
|
||||
'Harness sovereign acceleration for simulations, finance, blockchain, and research.',
|
||||
bullets: [
|
||||
'Scientific simulations',
|
||||
'Financial modeling',
|
||||
'Blockchain processing',
|
||||
'Protein folding and discovery',
|
||||
],
|
||||
title: 'Distributed & Edge Compute',
|
||||
description: 'Place GPU power close to where data is generated.',
|
||||
},
|
||||
]
|
||||
|
||||
@@ -37,41 +21,28 @@ export function GpuUseCases() {
|
||||
<section className="bg-white py-24 sm:py-32">
|
||||
<Container>
|
||||
<div className="mx-auto max-w-3xl text-center">
|
||||
<Eyebrow>
|
||||
Use Cases
|
||||
</Eyebrow>
|
||||
<Eyebrow>USE CASES</Eyebrow>
|
||||
<SectionHeader as="h2" className="mt-6 text-gray-900">
|
||||
Acceleration for every intelligent workload.
|
||||
Built for Intelligent Workloads
|
||||
</SectionHeader>
|
||||
<P className="mt-6 text-gray-600">
|
||||
From deep learning to immersive visualization, Mycelium GPU delivers
|
||||
deterministic access to the power you need without the waitlists or
|
||||
markups of centralized clouds.
|
||||
From sovereign AI execution to real-time rendering and edge inference,
|
||||
Mycelium GPU ensures predictable acceleration with full ownership and no centralized control.
|
||||
</P>
|
||||
</div>
|
||||
<div className="mt-16 grid gap-8 lg:grid-cols-3">
|
||||
{useCases.map((useCase) => (
|
||||
|
||||
<div className="mx-auto mt-16 max-w-4xl space-y-6 lg:space-y-0 lg:grid lg:grid-cols-3 lg:gap-8">
|
||||
{gpuUseCases.map((useCase) => (
|
||||
<div
|
||||
key={useCase.title}
|
||||
className="flex h-full flex-col rounded-3xl border border-slate-200 bg-white p-8 shadow-sm transition hover:-translate-y-1 hover:border-cyan-300 hover:shadow-lg"
|
||||
className="rounded-3xl border border-slate-200 bg-white p-8 shadow-sm transition hover:-translate-y-1 hover:border-cyan-300 hover:shadow-lg"
|
||||
>
|
||||
<h3 className="text-xl font-semibold text-gray-900">
|
||||
{useCase.title}
|
||||
</h3>
|
||||
<p className="mt-4 text-sm leading-relaxed text-gray-600">
|
||||
<p className="mt-3 text-sm leading-relaxed text-gray-600">
|
||||
{useCase.description}
|
||||
</p>
|
||||
<ul className="mt-6 space-y-3 text-sm text-gray-600">
|
||||
{useCase.bullets.map((bullet) => (
|
||||
<li
|
||||
key={bullet}
|
||||
className="flex items-start gap-3 rounded-2xl border border-cyan-100 bg-cyan-50/60 p-3 leading-relaxed"
|
||||
>
|
||||
<span className="mt-1 inline-block size-2 rounded-full bg-cyan-500" />
|
||||
<span>{bullet}</span>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user