最近开始看一些书,或许试试写写总结思考?书就在那里 ,但只有读过才能在心里掀起波澜。
摘自《计算机体系结构:量化研究方法(第六版)》第7章——领域专用架构。
得到了一些idea。
1. 未来的计算结构会是异构化的,一个标准的CPU运行传统的操作系统,伴随做特定任务的领域专用处理器。
2. 对于DSA处理器,cache不一定必要。特定领域的问题的访存特性容易预测,可以用软件搬运。
3. 虽然是DSA,也得要足够的应用场景才能有经济意义,因为流片成本太高了。如果应用场景比较小,可能可以直接用FPGA。
Guidelines:
1. 用专用内存,减小数据搬运距离。领域专用的人知道此特定领域如何搬运内存。
2. 把资源放在更多运算单元和更多的内存上,而不是进行微结构的优化(例如乱序执行等)。
3. 用针对特定领域最简单的并行方式,这个领域本身合适的粒度,例如,如果能用SIMD的模式,会比MIMD的并行模式更简单。
4. 用针对特定领域最小的数据宽度和数据类型。有并行度可以挖掘。
5. 用领域专用语言给DSA编程。现成的编程语言编写领域专用程序(修改底层的编译器工具链等,而不要让普通用户去改自己的代码。例如用TensorFlow给DNN加速器编程。)
或许体现了“量化”研究方法的思路:定量分析一件事是否值得做,以及如何做。