使用并行for循环生成代码(parfor)
这个例子展示了如何为MATLAB生成C代码®的算法。parfor
循环。
编写一个MATLAB函数,其中包含
parfor
循环。例如:函数a= test_parfor %#代码原a=ones(10,256);r =兰德(10256);Parfor i=1:10 a(i,:)=real(fft(r(i,:)));结束
生成C代码
test_parfor
.在MATLAB命令行输入:Codegen -config:lib test_parfor
因为没有指定使用的最大线程数,所以生成的C代码在可用核数上并行执行循环迭代。
若要指定最大线程数,请重写函数
test_parfor
如下:函数a= test_parfor(u) %#代码原a=ones(10,256);r =兰德(10256);Parfor (i=1:10,u) a(i,:)=real(fft(r(i,:)));结束
生成C代码
test_parfor
.使用args 0
要指定输入,u
,是一个双标量。在MATLAB命令行输入:lib test_parfor -args
的迭代在生成的代码中
parfor
-循环最多在输入指定的核数上运行,u
.如果小于u
内核是可用的,迭代在调用时可用的内核上运行。