Skip to content

Commit 520fbf4

Browse files
committed
feat&content: align theme with missing.lcpu.dev, adjusted contents
1 parent 3111a9d commit 520fbf4

17 files changed

Lines changed: 1095 additions & 215 deletions

bun.lock

Lines changed: 490 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/.vitepress/config.mts

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ const wikiSidebarItems = (parentWikiNodeToken: string | null): any[] =>
3838

3939
export default defineConfig({
4040
lang: 'zh-CN',
41-
title: 'AI Infra Seminars',
41+
title: 'Infra Seminars',
4242
base,
4343
description:
4444
'Weiming HPC Training Camp × LCPU AI Infra Seminars:从 Kernel 到分布式系统、推理与强化学习系统。',
@@ -55,32 +55,32 @@ export default defineConfig({
5555
'meta',
5656
{
5757
name: 'theme-color',
58-
content: '#fbfaf9',
58+
content: '#ffffff',
5959
media: '(prefers-color-scheme: light)'
6060
}
6161
],
6262
[
6363
'meta',
6464
{
6565
name: 'theme-color',
66-
content: '#202228',
66+
content: '#1b1b1f',
6767
media: '(prefers-color-scheme: dark)'
6868
}
6969
],
7070
['meta', { property: 'og:type', content: 'website' }],
71-
['meta', { property: 'og:title', content: 'AI Infra Seminars 2026' }],
71+
['meta', { property: 'og:title', content: 'Infra Seminars 2026' }],
7272
[
7373
'meta',
7474
{
7575
property: 'og:description',
7676
content: '从一行 Kernel,到一套大模型系统。七周、四个主题,一起把系统跑起来。'
7777
}
7878
],
79-
['link', { rel: 'icon', href: `${base}favicon.svg`, type: 'image/svg+xml' }]
79+
['link', { rel: 'icon', href: `${base}wmhpc.png`, type: 'image/png' }]
8080
],
8181
themeConfig: {
82-
logo: '/favicon.svg',
83-
siteTitle: 'AI Infra Seminars',
82+
logo: '/wmhpc.png',
83+
siteTitle: 'Infra Seminars',
8484
nav: [
8585
{ text: '课程介绍', link: '/' },
8686
{ text: '活动日历', link: '/schedule' },
@@ -142,9 +142,18 @@ export default defineConfig({
142142
next: '下一节'
143143
},
144144
footer: {
145-
message: '课程资料将持续整理并开源共享',
145+
message:
146+
`<span class="footer-organization-logos">` +
147+
`<a href="https://lcpu.dev" target="_blank" rel="noreferrer" aria-label="北京大学学生 Linux 俱乐部官网">` +
148+
`<img class="footer-logo footer-logo-lcpu" src="${base}lcpu.svg" alt="北京大学学生 Linux 俱乐部标志">` +
149+
`</a>` +
150+
`<a href="https://hpc.pku.edu.cn/pkusc/zh-cn/" target="_blank" rel="noreferrer" aria-label="北京大学未名超算队官网">` +
151+
`<img class="footer-logo footer-logo-wmhpc" src="${base}wmhpc.png" alt="北京大学未名超算队标志">` +
152+
`</a>` +
153+
`<img class="footer-logo footer-logo-linuxproj" src="${base}linuxproj.svg" alt="Linux 中国开源社区标志">` +
154+
`</span>`,
146155
copyright:
147-
'Weiming HPC Training Camp × LCPU AI Infra Seminars'
156+
'© 2026 <a href="https://lcpu.dev" target="_blank" rel="noreferrer">北京大学学生 Linux 俱乐部</a> · <a href="https://hpc.pku.edu.cn/pkusc/zh-cn/" target="_blank" rel="noreferrer">北京大学未名超算队</a> · Licensed under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank" rel="license noreferrer">CC BY-NC-SA 4.0</a>'
148157
}
149158
}
150159
})

docs/.vitepress/data/program.ts

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -50,44 +50,49 @@ export interface CalendarEvent {
5050
meetingUrl?: string
5151
sessionId?: string
5252
href?: string
53+
speakers?: string[]
54+
assignment?: {
55+
title: string
56+
href?: string
57+
}
5358
}
5459

5560
export const topics: Topic[] = [
5661
{
5762
key: 'kernel',
5863
number: '01',
5964
title: 'Kernel & ML Compiler',
60-
shortTitle: 'Kernel',
65+
shortTitle: 'Kernel & Operator',
6166
description:
62-
'从 GPU 体系结构与 CUDA 出发,沿着 Layout、数据复用和流水线一路抵达高性能 GEMM、Attention 与 MoE Kernel',
63-
tags: ['CUDA', 'Triton', 'TileLang', 'Tensor Core']
67+
'从 GPU 体系结构与 CUDA 出发,沿着 Layout、数据复用和流水线一路抵达高性能 GEMM、Attention 与 MoE Kernel,并理解 DSL、ML Compile 如何实现简化开发与自动优化的梦想',
68+
tags: ['CUDA', 'Triton', 'TileLang', 'Tensor Core', 'Warp Specialization','Pipeline Ordering', 'ML Compiler']
6469
},
6570
{
6671
key: 'comm',
6772
number: '02',
68-
title: 'Distributed Parallelism & Communication',
73+
title: 'Interconnnect & Communication',
6974
shortTitle: 'Communication',
7075
description:
71-
'理解模型如何跨卡切分、数据如何流动,以及互联网络与集合通信如何决定大规模系统的真实效率。',
72-
tags: ['RDMA', 'NCCL', 'All-Reduce', 'MoE']
76+
'从不同的视角看互联网络与集合通信如何决定大规模系统的真实效率',
77+
tags: ['RDMA', 'NCCL', 'Scale-Up', 'Scale-Out', 'Network Fabric', 'Memory-Storage Co-design']
7378
},
7479
{
7580
key: 'serving',
7681
number: '03',
7782
title: 'LLM Serving & Inference',
7883
shortTitle: 'Serving',
7984
description:
80-
'围绕 KV Cache、调度与并行策略,拆解一批长短不一的请求如何共享有限 GPU 并保持低延迟。',
81-
tags: ['KV Cache', 'Batching', 'PD Disaggregation', 'Spec Decode']
85+
'围绕 KV Cache、调度与并行策略,理解推理优化的目标和目的,并实践和理解真实推理在系统层面如何优化',
86+
tags: ['KV Cache Centric Systems', 'Batching', 'PD 分离', 'Spec Decode', 'vLLM']
8287
},
8388
{
8489
key: 'rl',
8590
number: '04',
8691
title: 'Distributed Reinforcement Learning Systems',
8792
shortTitle: 'RL Systems',
8893
description:
89-
'当训练、推理、奖励与环境同时出现,系统如何解决长尾、资源调度、权重同步、容错与训推一致性。',
90-
tags: ['PPO', 'veRL', 'Rollout', 'Agentic RL']
94+
'当训练、推理、奖励与环境同时出现,如何系统性地看待和解决解决长尾、资源调度、权重同步、容错与训推一致性等问题',
95+
tags: ['PPO', 'veRL', 'Rollout', 'Agentic RL','训推一致性', '分布式 RL 系统']
9196
}
9297
]
9398

@@ -355,6 +360,15 @@ interface FeishuSnapshot {
355360
const snapshot = feishuSnapshot as FeishuSnapshot
356361
const syncedSessions = snapshot.sessions
357362

363+
const calendarEventDetails: Record<
364+
string,
365+
Pick<CalendarEvent, 'speakers' | 'assignment'>
366+
> = {
367+
'f998aa77-12f5-4f85-99c5-6503c58c2144_0': {
368+
speakers: ['陈嘉骏', '郑熠', '王艺霏']
369+
}
370+
}
371+
358372
export const calendarTimezone =
359373
snapshot.calendar?.timezone || 'Asia/Shanghai'
360374
export const calendarRange = snapshot.calendar?.range
@@ -373,6 +387,7 @@ export const calendarEvents: CalendarEvent[] = (
373387

374388
return {
375389
...event,
390+
...calendarEventDetails[event.eventId],
376391
summary: event.summary,
377392
dateLabel: event.date.slice(5).replace('-', '.'),
378393
...(linkedSession

docs/.vitepress/theme/components/CalendarTimelineClient.vue

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
calendarTimezone,
1717
type CalendarEvent
1818
} from '../../data/program'
19+
import EventLocation from './EventLocation.vue'
1920
2021
const { isDark } = useData()
2122
const selectedEvent = ref<CalendarEvent | null>(null)
@@ -92,14 +93,14 @@ const calendarApp = createCalendar({
9293
feishu: {
9394
colorName: 'feishu',
9495
lightColors: {
95-
main: '#8f1d2c',
96-
container: '#8f1d2c',
96+
main: '#3451b2',
97+
container: '#5672cd',
9798
onContainer: '#ffffff'
9899
},
99100
darkColors: {
100-
main: '#e26473',
101-
container: '#e26473',
102-
onContainer: '#190d10'
101+
main: '#a8b1ff',
102+
container: '#3e63dd',
103+
onContainer: '#ffffff'
103104
}
104105
}
105106
},
@@ -204,7 +205,9 @@ onBeforeUnmount(() => {
204205
<dl v-if="selectedEvent.location" class="calendar-dialog-details">
205206
<div>
206207
<dt>地点</dt>
207-
<dd>{{ selectedEvent.location }}</dd>
208+
<dd>
209+
<EventLocation :location="selectedEvent.location" />
210+
</dd>
208211
</div>
209212
</dl>
210213

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<script setup lang="ts">
2+
const props = defineProps<{
3+
location: string
4+
}>()
5+
6+
const showLcpuLive =
7+
props.location.includes('腾讯会议') &&
8+
props.location.includes('B站直播')
9+
</script>
10+
11+
<template>
12+
<span class="event-location">
13+
{{ location }}
14+
<template v-if="showLcpuLive">
15+
·
16+
<a
17+
class="event-location-live"
18+
href="https://live.lcpu.dev"
19+
target="_blank"
20+
rel="noreferrer"
21+
>LCPU Live</a>
22+
</template>
23+
</span>
24+
</template>

0 commit comments

Comments
 (0)