作用域检查仅适用于优化级别 -xO3 或更高级别。如果只使用 -xopenmp=noopt 来编译程序,作用域检查将不起作用。
只识别 OpenMP 指令,并且只能在分析中使用。无法识别对 OpenMP 运行时例程的调用。例如,如果程序使用 omp_set_lock() 和 omp_unset_lock() 来实现临界段,编译器将无法检测是否存在临界段。请在可能的情况下使用 critical 指令。
在数据争用分析中,只能识别和使用通过 OpenMP 同步指令(如 barrier 和 master)指定的同步。不识别用户实现的同步,如忙等待。