主要内容

使用平行的前面(PARFOR)生成代码

此示例显示了如何为MATLAB生成C代码®包含一个parfor-环形。

  1. 编写一个包含一个的MATLAB函数parfor-环形。例如:

    函数a = test_parfor%#codegen a = ons(10,256);r = rand(10,256);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)%#codegen a = ons(10,256);r = rand(10,256);parfor(i = 1:10,u)a(i,:)= real(fft(r(i,:)));结尾
  4. 生成C代码test_parfor。利用-args 0要指定输入,,是标量双重。在MATLAB命令行,输入:

    codegen -config:lib test_parfor -args 0

    在生成的代码中,parfor-loop最多可以运行输入指定的内核数,。如果少于可用核心,在通话时可在可用的内核上进行迭代。

相关话题