Games201_lecture9_高性能计算与物理引擎
1 计算机体系结构
现在 的cache都做到cpu中了!
一层cash不够用,搞了三层cash.
page tabel 虚拟内存map到物理内存。
c++地址没有内存保护,程序之间会有互相干扰。
地址之间的分离,安全性更高。
一个cpu core如下
cpu的处理能力和内存给你的数据的能力其差距就很大。
现在的程序很多都卡在访存上了。
如果提高你的计算性能,提高访存的局部性。
粒子:
B访问的是连续访存,所以快点。A中的指针跳跃比较大,所以慢点
程序的运行时间与计算量有关系,但是没那么复杂,更大的是程序的访存。
2 memory
看下面两本书吗,第五章
3 CPU
cpu的浮点数运算
计算机体系结构越来越重要
计算是便宜的
但是从内存过来的资源是昂贵的。
4 Taichi高级编程技巧
1 高级数据data布局,访存更好
dense SNode
最多支持8个下标。
Using coordinate space offsets
编写无边界的simulation
4 AOS和SOA
SOA在随机访问的时候利用率会很低。
6 Taichi 稀疏数据结构
Taichi手openVDB启发很大
openVDB
稀疏数据
节约内存的计算,
Pointer SNode
可以是空的
例子1:
taichi很好的可以实现稀疏数据结构
例子2
例子3:
**
**
注意事项: