Matlab的parfor并行编程
- 通常消耗最多计算资源的程序往往是循环。把循环并行化,或者优化循环体中的代码是最常用的加快程序运行速度的思路。
- Matlab提供了parfor关键字,可以很方便的在多核机器或集群上实现并行计算。
parfor关键字的使用
- 由for关键字引导的循环通常为串行运行,如果改为parfor则可以由多个worker以并行方式执行。
- parfor可以将n次循环分解为独立不相关的m部分,然后将各部分分别交给一个worker执行。
- 循环执行的结果应该与n次循环执行的顺序无关。
parfor中的变量类型
简约变量
- 一般parfor中各次循环对应的运算应该相互独立,但简约操作可以在多次循环内同时对一个变量操作。这种变量称为简约变量。例如下方代码中a就是简约变量。
a = 0; for i = 1:1000 a = a+i; end
- 简约操作包括