parfor
循环函数的最大线程数parfor
循环。因为您指定了要使用的最大线程数,所以生成的MEX函数会在尽可能多的可用核上并行执行循环迭代,直到您指定的最大线程数为止。如果指定的线程数量超过可用内核数量,则MEX函数将使用可用内核。
写一个MATLAB®函数,specify_num_threads
,它使用一个输入指定要执行的最大线程数parfor
在生成的MEX函数中执行。例如:
函数y = specificy_num_threads (u) %#codegen y = ones(1100);% u指定最大线程数parfor (i = 1:100,u) y(i) = i;结束结束
为生成一个MEX函数specify_num_threads
.使用args {0}
指定输入u
是一个标量二重。使用报告
生成代码生成报告。在MATLAB命令行中,输入:
Codegen -report specificy_num_threads -args {0}
codegen
生成一个MEX函数,specify_num_threads_mex
,在当前文件夹中。运行MEX函数,指定它尝试在四个线程上并行运行。在MATLAB命令行中,输入:
specify_num_threads_mex (4)
生成的MEX函数最多可以在四个核上运行。如果可用核数少于4个,则MEX函数在调用时的最大可用核数上运行。