zoukankan      html  css  js  c++  java
  • parfor —— matlab 下的并行循环

    parfor:parallel for 循环

    我们知道,matlab 更适合的处理对象是矩阵,而不是大规模的循环运算。当有时不得不使用 for 循环时,如果提高 for 循环的执行效率呢。这就是 parfor 的用武之地了,既然是并行运算,就是一次可以执行多次 iterations 处理(类似于操作系统的多线程作业),以加快循环的速度。与传统 for 循环最大的不同在于,parfor 执行迭代时并不按照一个确定的顺序(因此,需要求不同的迭代之间,彼此独立,不存在 A(i) = A(i-1)/A(i+1) 的情况,)。

    parfor loopvar = initval:endval,
        statements; 
    end
    
    % 使用 M(正整数) 表示最大的线程和作业数
    parfor (loopvar = initval:endval, M);
        statements; 
    end

    举例如下:

    parfor i=1:3,
        c(:,i) = eig(rand(1000)); 
    end

    这里 i 进入的顺序就未必是 1,2,3:

    parfor i=1:3,
        disp(i)
        c(:,i) = eig(rand(1000)); 
    end
  • 相关阅读:
    JavaScript语法
    C#拼接string字符串
    C#字母替换
    C#timer控件用法
    C#字体选择框和颜色对话框
    C#保存文件
    C#认识对话框
    C#TextBox文本框
    C#Button窗体常用属性及事件
    C#Form窗体常用属性及事件
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9423388.html
Copyright © 2011-2022 走看看