Matlab 提升运行效率(提高运行速度,减小内存占用)
- 提前为矩阵分配内存
- 定义: A = zeros(x,y)
- 这样还可以parfor并行计算,而A = []却不行
- 按照列计算比按照行计算更快
- 构造稀疏矩阵(如果矩阵中有很多0)
- B = sparse(A)
- 向量化编程
- 尽量不采用大数索引,例如 10000:100:1000000
- 转化为单精度 A = rand(4,5,‘single’)
- 最大小数点后8位
- parfor
- 把同一批数据分给for循环中的不同循环体
- parfor i = 1:1:10000
- …
- end
- 注意:每次循环必须完全独立
- 定义数组
- A_gpu = randn(1e8,1,‘single’,‘gpuArray’)
- 直接在显存中生成GPU Array
- 将GPU显存中的数组提取到内存中
- A_cpu = gather(A_gpu)
- A_gpu = randn(1e8,1,‘single’,‘gpuArray’)