内存、时间复杂度、CPU/GPU以及运行时间
来源:互联网 发布:linux的基本操作 编辑:程序博客网 时间:2024/05/22 06:29
- 衡量 CPU 的计算能力:
- 比如一个 Intel 的 i5-2520M @2.5 Ghz 的处理器,
则其计算能力 2.5 * 4(4核) = 10 GFLOPS
- 比如一个 Intel 的 i5-2520M @2.5 Ghz 的处理器,
- FLOP/s,Floating-point operations per second,每秒峰值速度,
- 一个 MFLOPS(megaFLOPS)等於每秒一佰万(=10^6)次的浮点运算,
- 一个 GFLOPS(gigaFLOPS)等於每秒拾亿(=10^9)次的浮点运算,
- 一个 TFLOPS(teraFLOPS)等於每秒万亿(=10^12)次的浮点运算,
- 一个 PFLOPS(petaFLOPS)等於每秒千万亿(=10^15)次的浮点运算,
- 一个 EFLOPS(exaFLOPS)等於每秒百亿亿(=10^18)次的浮点运算。
0. 初步
局部变量即内存,也即空间复杂度;当某算法对空间复杂度也要求严格时,如果仍要存储某些局部变量,比如棋盘对应的二维数组,当棋盘的大小显著时,比如
1. 量化分析
假设我们将矩阵和一个向量相乘:
如果 M = 1024,N = 512,
那么我们需要读取和存储的字节数是:
4 bytes * (1024*512 + 512 + 1024) = 2.1e+06
计算次数是:
1024*(512+512) = 1.0e+06
如果我们有块6 TFLOP/s 的 GPU,带宽 300GB/s 的内存,那么运行总时间是:
max{2.1e6 bytes /(300e9 bytes/s),1e6 FLOPs/(6e12 FLOP/s)}=max{7μs,0.16μs}
这意味着处理过程的瓶颈在于从内存中复制或向内存中写入消耗的7μs,而且使用更快的 GPU 也不会提升速度了。你可能会猜到,在进行矩阵-矩阵操作时,当矩阵/向量变大时,这一情况会有所好转。
0 0
- 内存、时间复杂度、CPU/GPU以及运行时间
- cpu计算时间+gpu计算时间
- python程序运行时间(CPU运行时间)
- 浅谈时间复杂度以及空间复杂度
- 排序以及其时间复杂度
- 汉诺塔问题以及时间复杂度
- 常规波束形成的CPU和GPU的运行时间对比测试
- CUDA event 记录GPU端运行时间
- 【matlab】预分配内存提高运行效率以及时间比较
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- 时间复杂度
- Android PSI and index do not match
- 安装Bash on Windows(ubuntu on win10)
- mysql 联合索引详解
- Revit开发之参数详解
- Windows VPN设置笔记
- 内存、时间复杂度、CPU/GPU以及运行时间
- 数据从kafka到hive(1)
- 高斯混合模型
- 哈夫曼树学习笔记 Java实现
- cookie与session的区别
- 1
- opencv在ubuntu12.04下的安装
- Android Ignoring InnerClasses attribute for an anonymous inner class
- Unity手游简单优化