《软件优化技术》课程网站 2024

课程名:软件优化技术

课程内容(点击查看课程大纲)

讨论软件优化的核心概念、技术与实践,使学生:

课程概要

第0讲 课程介绍

  1. 课程介绍
  2. 软件优化的概念与目标

第1讲 专用计算系统及优化

  1. 例子
  2. 专用图灵机模型
  3. 专用图灵机模型上的性能优化
  4. 专用图灵机的实现及优化

第2讲 通用计算系统——CPU

  1. 通用图灵机模型
  2. 通用图灵机的实现——CPU
  3. CPU的性能优化概述

第3讲 计算优化 pdf: lec3 pdf: lec3.1

  1. 指令内并行优化
  2. 指令级并行优化
  3. 线程级并行优化
  4. 多处理器并行优化
  5. AI处理器优化

第4讲 访存优化1

  1. 存储技术概述
  2. 局部性与访存优化原理
  3. 寄存器分配优化

第5讲 访存优化2

  1. 缓存的组织结构和操作
  2. 缓存的性能度量
  3. 缓存访问优化

第6讲 编译过程及编译优化

  1. 编译流程概述
  2. C语言到汇编的翻译
  3. 编译优化概述
  4. 数据流分析
  5. link与load阶段

可选1:AI软件优化专题 pdf: AI optimizaiton

  1. 算法(模型)优化
  2. 硬件优化
  3. 软件优化

可选2:code size优化专题 pdf: code size

  1. 压缩(信息熵)
  2. 识别和删除无用代码
  3. 分时重用(swap)

可选3:融合优化专题 pdf: AI optimizaiton

  1. 指令层次的融合
  2. Loop层次的融合
  3. Function层次的融合
  4. 设计层次的融合

Todo

  1. 虚拟机优化(解释执行/JIT/AOT/GC)

考核方式:

加分点与减分点:

考核选题参考

1. 智能计算系统实验(<=95分,分组实验,每组不超过4人)

2. 技术调研类选题(点击查看详细列表)(<=90分,单人作业)

从给定题目列表中选择一个题目,也可以自拟题目(需事先与老师沟通,并获同意),基本要求:

3. 一个简单的成语接龙算法的实现与调优(<=90分,单人作业)

参考资料

1)Computer Systems: A Programmer’s Perspective 深入理解计算机系统(csapp),第3版,2016

2)Computer Organization and Design:The Hardware/Software Interface

3) Computer Architecture:A Quantitative Approach

往年课程