Turing lectures

大模型系统优化进展

内容建议

TPU/NPU优化

内容建议

分支预测算法现状及发展

内容建议

分支跳转不仅会导致硬件流水停顿,也会限制指令级和线程级的并发。良好的分支预测方法,会大大改善并行性能。

参考

编译器中使用的寄存器分配算法

内容建议

参考

缓存预取

内容建议

缓存预取是克服memory wall挑战的重要方法。但是,不合理的缓存预取反而会破坏性能。既有软件层次的预取方法,也有硬件设计的预取方法。该题目适合综述调研。

参考

内存访问模式识别和预测方法

进程的逻辑地址空间有不同的访问模式,比如栈空间、堆空间的读写区别、冷热区别;OS中的物理页面也有不同的访问模式,比如读写区别、冷热区别;OS中的进程也有不同的访问模式,比如计算密集、访存密集。

JIT编译优化

内容建议

JIT编译的安全隐患及防范

内容建议

GC环境下的内存泄漏

内容建议

  1. GC环境下有无内存泄漏?为什么?
  2. GC环境下内存泄漏的解决办法有哪些?
  3. 具体到一个场景,比如Java应用,或者Android应用,有哪些常见的因素导致内存泄漏?
  4. 在该场景下,内存泄漏的解决方法是什么?
  5. 结合2和4,你觉得当前场景下,还可以做哪些改进,进一步解决内存泄漏?
  6. 实验评估

参考

一种数据结构或算法的工业级实现

内容建议

阅读并理解一种数据结构或者一种算法的源码实现,详细介绍该实现中的几个要点,据此谈谈这些要点对性能、安全等方面的影响;并谈谈自己的收获。 比如,阅读并理解《STL源码剖析》中“4.2 vector”,详细介绍几个vector的实现要点,据此谈谈vector的性能、安全等特点,并提供实验评估;谈谈自己的收获。

参考

IDE常见优化选项分析

内容建议

协程与线程的性能分析

内容建议

介绍协程的概念,以及几种主流的协程实现方式; 分析协程与线程的关系; 尝试写几个测试程序,分别使用协程和线程; 根据测试程序,对比分析协程与线程的性能特点。

参考

https://en.wikipedia.org/wiki/Coroutine

编译优化算法分析

内容建议

参考