主要内容

控制 parfor 循环的编译

默认情况下,MATLAB® Coder™ 生成可以在多个线程上运行 parfor 循环的代码。要将 parfor 循环视为在单线程上运行的 for 循环,请使用以下方法之一禁用 parfor

  • 通过在命令行中使用带 -O disable:openmp 选项的 codegen 函数。

  • 通过使用属性 EnableOpenMP 设置为 false 的代码生成配置对象。例如:

    cfg = coder.config('lib'); 
    cfg.EnableOpenMP = false; 
    codegen myFunction -config cfg

  • 在工程设置对话框的所有设置选项卡下,将尽可能启用 OpenMP 库设置为

何时禁用 parfor

在以下情况下禁用 parfor:

  • 您要比较生成代码的串行和并行版本的执行时间。

  • 您要对失败进行调查。如果生成代码的并行版本失败,请禁用 parfor 并生成串行版本以方便调试。

  • 使用不支持 OpenMP 的 C 编译器。

另请参阅

主题