本页面提供的是上一版软件的文档。当前版本中已删除对应的英文页面。
使用并行 for 循环 (parfor) 生成代码
以下示例说明如何为包含 parfor
循环的 MATLAB® 算法生成 C 代码。
编写包含
parfor
循环的 MATLAB 函数。例如:function a = test_parfor %#codegen a=ones(10,256); r=rand(10,256); parfor i=1:10 a(i,:)=real(fft(r(i,:))); end
生成
test_parfor
的 C 代码。在 MATLAB 命令行中输入:codegen -config:lib test_parfor
因为您没有指定要使用的最大线程数,所生成的 C 代码将在可用的内核上并行执行循环迭代。
要指定最大线程数,请按如下所示重写函数
test_parfor
:function a = test_parfor(u) %#codegen a=ones(10,256); r=rand(10,256); parfor (i=1:10,u) a(i,:)=real(fft(r(i,:))); end
生成
test_parfor
的 C 代码。使用-args 0
指定输入u
是双精度标量。在 MATLAB 命令行中输入:codegen -config:lib test_parfor -args 0
在生成的代码中,运行
parfor
循环迭代的内核数最多只能为输入u
指定的内核数。如果可用的内核数小于u
指定的内核数,则在调用时迭代会在可用的内核上运行。