原创作品,转载请标明出处。@周荣华
摘要: 摘要:最近看《计算机体系结构:量化研究方法(第五版)》,发现指令集设计中的一些原则,对API设计也同样适用,给大家分享一下。 本文中的所有内容来自工作和学习过程中的心得整理,如需转载请注明出处。周荣华@燧原科技 1 正交 指令集需要满足操作、数据类型和寻址方式三个方面的功能就是正交的。所以API设计 阅读全文
posted @ 2022-07-16 21:49 周荣华 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 本章是系列文章的第十一章,主要介绍GPU的编译原理,分析了多核运行过程中的内存分岔和控制流分岔的分析和处理。 本文中的所有内容来自学习DCC888的学习笔记或者自己理解的整理,如需转载请注明出处。周荣华@燧原科技 11.1 什么是GPU 11.1.1 GPU的发展历史 软件控制的VGA帧缓冲区 频繁 阅读全文
posted @ 2022-07-16 13:29 周荣华 阅读(689) 评论(0) 推荐(1) 编辑
摘要: 本章是系列文章的第十章,主要介绍CPU流水线、超标量体系架构等硬件设计,和编译器怎么使能这些功能来减少计算的时钟周期。 本文中的所有内容来自学习DCC888的学习笔记或者自己理解的整理,如需转载请注明出处。周荣华@燧原科技 10.1 概念 指令级并行是是让一个程序中的多个操作同时执行的方法 指令级并 阅读全文
posted @ 2022-07-09 19:08 周荣华 阅读(1409) 评论(0) 推荐(0) 编辑
摘要: 从排查一次匪夷所思的coredump,引出各种体系架构的差异。 本文中的所有内容来自学习DCC888的学习笔记或者自己理解的整理,如需转载请注明出处。周荣华@燧原科技 1 背景 从全世界有记载的第一台计算机Z1 (computer) - Wikipedia在1936年发明,到1946年冯诺依曼体系架 阅读全文
posted @ 2022-07-08 15:59 周荣华 阅读(1591) 评论(0) 推荐(2) 编辑
摘要: 本章是系列文章的案例学习,不属于正篇,主要介绍了TensorFlow引入的XLA的优化算法。XLA也有很多局限性,XLA更多的是进行合并,但有时候如果参数特别多的场景下,也需要进行分割。XLA没有数据切分的功能。当前最主流的编译器领域的编译优化功能还是mlir。 本文中的所有内容来自学习DCC888 阅读全文
posted @ 2022-07-02 21:40 周荣华 阅读(556) 评论(0) 推荐(1) 编辑
摘要: 本章是系列文章的第八章,用着色算法进行寄存器的分配过程。 本文中的所有内容来自学习DCC888的学习笔记或者自己理解的整理,如需转载请注明出处。周荣华@燧原科技 寄存器分配 寄存器分配是为程序处理的值找到存储位置的问题 这些值可以存放到寄存器,也可以存放在内存中 寄存器更快,但数量有限 内存很多,但 阅读全文
posted @ 2022-06-26 14:25 周荣华 阅读(1986) 评论(0) 推荐(1) 编辑
摘要: 本章是系列文章的第七章,终于来到了鼎鼎大名的SSA,SSA是编译器领域最伟大的发明之一,也是影响最广的发明。 本文中的所有内容来自学习DCC888的学习笔记或者自己理解的整理,如需转载请注明出处。周荣华@燧原科技 7.1 控制流图回顾 对下面的c代码保存成7.1.cc: 1 int max(int 阅读全文
posted @ 2022-06-19 11:07 周荣华 阅读(3681) 评论(0) 推荐(1) 编辑
摘要: 本章是系列文章的第六章,介绍了循环的分析方法。循环优化的逻辑相对简单,但对性能提升的效果却非常明显。循环优化的分析还产生了一个图灵奖。 本文中的所有内容来自学习DCC888的学习笔记或者自己理解的整理,如需转载请注明出处。周荣华@燧原科技 6.1 循环的重要性 90/10定律,90%的算力消耗在10 阅读全文
posted @ 2022-06-12 09:16 周荣华 阅读(1512) 评论(0) 推荐(2) 编辑
摘要: 本章是系列文章的第五章,介绍了指针分析方法。指针分析在C/C++语言中非常重要,分析的结果可以有效提升指针的优化效率。 本文中的所有内容来自学习DCC888的学习笔记或者自己理解的整理,如需转载请注明出处。周荣华@燧原科技 5.1 概念 指针是许多重要编程语言的特性之一 指针的使用,可以避免大量的数 阅读全文
posted @ 2022-05-29 10:35 周荣华 阅读(1177) 评论(0) 推荐(2) 编辑
摘要: 本章是系列文章的第四章,介绍了worklist算法。Worklist算法是图分析的核心算法,可以说学会了worklist算法,编译器的优化方法才算入门。这章学习起来比较吃力,想要融汇贯通的同学,建议多参考几个学校的教程交叉着看。 卡耐基梅隆大学 15745: https://www.cs.cmu.e 阅读全文
posted @ 2022-05-22 13:10 周荣华 阅读(1491) 评论(0) 推荐(1) 编辑