前 言
当1941年构建世界上第一台全自动可编程并具备二进制浮点运算能力的计算机时[H129],Konrad Zuse成功地预见了这种革命性设备不仅只应用于科学和工程领域,还将对生活的各个方面产生深远影响[H130]。计算机的高效运算、可视化和数据处理能力,允许我们自动执行大量任务并实现无延迟通信,这使得Zuse的预言成为现实,计算已经彻底地改变了我们的生活方式和科研手段。
科学和工程研究从另一种特别的角度受益于计算能力的增长。早期的科研人员已经意识到计算机可以通过虚拟实验代替现实中那些太过复杂、昂贵或极端危险的真实实验,或者进行以前无法手工完成的计算,计算流体力学(Computational Fluid Dynamics,CFD),即模拟任意几何形状的流体就是一个这样典型的应用。飞机、汽车、高速列车以及涡轮设备的设计都离不开流体力学分析。以前的风洞和木质实体模型属于实验研究,而在包括流体力学在内的几乎所有科学研究领域,计算已成为理论分析和实验设计之外的第三种科学研究方法。近几年药物设计已成为高性能计算的新兴研究方向,化学家可以利用软件(只需点击鼠标)快速发现化学反应机制,模拟影响生命运行机制的大分子间的复杂动力学。理论固体物理通过在量子级别对组成成分、原子核和电子的相互作用进行建模来在微观级别研究物质结构[A79],需要的大量自由度使其无法在理论层次上进行分析,而只能借助大规模计算资源实现。其他同样需要大规模计算的学科包括量子化学、物质科学、结构力学和医学图像处理等。
目 录
[第1章 当代处理器
1.1 存储程序的计算机体系结构 ](https://yq.aliyun.com/articles/120397)
1.2 基于高速缓存的通用微处理器体系结构
1.3 存储层次
1.4 多核处理器
1.5 多线程处理器
1.6 向量处理器
习题
[第2章 串行代码基本优化技术
2.1 标量剖析 ](https://yq.aliyun.com/articles/120445)
2.2 优化常识
2.3 小方法,大改进
2.4 编译器作用
2.5 C++优化
习题
[第3章 数据访存优化
3.1 平衡分析与lightspeed评估 ](https://yq.aliyun.com/articles/120514)
3.2 存储顺序
3.3 案例分析:Jacobi算法
3.4 案例分析:稠密矩阵转置
3.5 算法分类和访存优化
3.6 案例分析:稀疏矩阵向量乘
习题