src/kernel.cu
AI 建议
Experiment 014
已完成 Testing Agent8 阶声波有限差分 · 共享内存 halo 版 · 由 Testing Agent 执行 · 代码 a83c12f
Configuration
Backend
CUDA 13.1
Precision
FP32
Grid
951 × 501 × 510
dx
10 m
dt
1 ms
Steps
1500
Execution
Agent
Testing Agent
GPU
NVIDIA L20 · 89%
Started
14:02:14
End
14:02:27
Results
Total Runtime
12.84 s
Kernel Runtime
6.48 s
Kernel Step
4.32 ms
Memory
8.7 GB
Max Error
2.1e-3
Throughput
89.4 GB/s
Artifacts
Wavefield · t = 1.5 s
已完成 Visualization Agentz-slice 255 · 8 阶声波快照 · 由 wavefield_001.npy 渲染
Code a83c12f→
Experiment 014→
Data wavefield_001.npy→
Agent Visualization→
Skill Wavefield Plot→
Figure wavefield_t1.5s.svg
Metadata
Grid951×501×510
Time Step1.5 s
ColormapSeismic
Range−1.0 / +1.0
Resolution10 m
Provenance
Codekernel.cu · a83c12f
↓
ExperimentExperiment 014
↓
Datawavefield_001.npy
↓
AgentVisualization · Gemini
↓
SkillWavefield Plot
↓
Figurewavefield_t1.5s.svg
AI Analysis
波前呈椭圆近似理想;x 方向采样在远场略低于 Nyquist,建议网格加密或插值后再发布。
Benchmark · kernel 运行时
已完成 Performance AgentL20 · 1500 steps · kernel 6.48 s(4.32 ms/step)· 由 perf_scaling_L20.json 渲染 · 来源 Experiment 014 · 代码 a83c12f
| 配置 | ms/step | GB/s | 加速比 |
|---|---|---|---|
| 基线(全局读 ×24) | 5.82 | 39.1 | 1.00× |
| 共享内存 tile | 4.31 | 52.8 | 1.35× |
| 向量化 float4 | 3.64 | 62.5 | 1.60× |
| __launch_bounds__(128) | 3.12 | 72.9 | 1.87× |
| 常量内存 FD_W | 3.05 | 74.6 | 1.91× |
| CUDA Graph 捕获 | 2.94 | 77.4 | 1.98× |
Code Analysis · src/kernel.cu
已完成 Code Analysis Agent由 Code Analysis Agent 以 GPT-5.6 分析 · 产出 analysis/findings.json
34
代码行
4
导出符号
1
热点循环
2
风险项
结构洞察
INFO单内核 stencil 设计,
__constant__ 权重 + __restrict__ 指针提示无别名。INFOleapfrog 时间步进在
L31 与 solver.cpp 的 swap 保持一致。风险与建议
WARN每网格点 24 次全局读;建议共享内存 tile 以削减 4/5 访存。
WARN8 阶模板展开可能引发寄存器溢出,建议
__launch_bounds__(128) 并观察占用率。正确性核验
OKhalo guard 与 8 阶模板索引范围一致;跳界处理正确。
main
src/kernel.cu
Ln 26, Col 1UTF-8LFC++ / CUDA空格: 2