文档

使用并行for循环生成代码(parfor)

这个例子展示了如何为MATLAB生成C代码®的算法。parfor循环。

  1. 编写一个MATLAB函数,其中包含parfor循环。例如:

    函数a= test_parfor %#代码原a=ones(10,256);r =兰德(10256);Parfor i=1:10 a(i,:)=real(fft(r(i,:)));结束
  2. 生成C代码test_parfor.在MATLAB命令行输入:

    Codegen -config:lib test_parfor

    因为没有指定使用的最大线程数,所以生成的C代码在可用核数上并行执行循环迭代。

  3. 若要指定最大线程数,请重写函数test_parfor如下:

    函数a= test_parfor(u) %#代码原a=ones(10,256);r =兰德(10256);Parfor (i=1:10,u) a(i,:)=real(fft(r(i,:)));结束
  4. 生成C代码test_parfor.使用args 0要指定输入,u,是一个双标量。在MATLAB命令行输入:

    lib test_parfor -args

    的迭代在生成的代码中parfor-循环最多在输入指定的核数上运行,u.如果小于u内核是可用的,迭代在调用时可用的内核上运行。

相关的话题