Matlab 提升运行效率(提高运行速度,减小内存占用)

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

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐