Skip to content

可靠性与工程约束

可靠性来自哪里

这个项目的可靠性不是靠“看起来能跑”,而是来自三条线同时成立:

  1. 资源生命周期明确:使用 CudaBuffer<T> 和执行上下文抽象,避免裸 cudaMalloc / cudaFree
  2. 错误语义明确:通过 SpMVError 和 CUDA 检查宏把失败显式暴露出来。
  3. 测试贴近代码:通过 CPU 参考路径和聚焦的回归测试保障行为。

为什么这对展示项目很重要

面试或开源展示时,读者更容易相信一个项目,如果它能回答:

  • 资源怎么释放?
  • 失败怎么暴露?
  • benchmark 数据怎么解释?
  • 设计变化如何追溯?

可靠性清单

  • RAII 封装 GPU 资源
  • CPU 参考实现用于交叉验证
  • property tests ≥ 100 次迭代
  • GitHub Pages 把设计与引用一起公开

MIT License