欢迎关注我的公众号 [极智视界],回复001获取Google编程规范
大家好,我是极智视界,本文介绍一下几个高性能并行计算中的复杂度概念,主要包括计算复杂度、访存复杂度和指令复杂度。
下面开始。
1、计算复杂度:
不管是怎样的算法,我们都可以把算法封装成一个函数,该函数带有若干输入、若干输出、若干计算。更进一步说,这个过程基本会涉及数据加载指令、运算指令、数据存储指令和其他若干指令。
为了进一步泛化,假设有如下符号变量:ni 表示第 i 种指令的使用频次,Ti 表示第 i 种指令的吞吐量的倒数(当处理器是吞吐量优化的设备,采用指令吞吐量;当处理器是延迟优化的设备,采用指令时钟周期),因此计算复杂度的数学表达式如下:
此外,在高性能并行计算上应用 计算复杂度 分析时,若控制流之间的计算量并不均衡,那么需要同时考虑控制流之间的 最大计算复杂度 和 最小计算复杂度<