与 OpenMP 的互操作性#

该库的基于 OpenMP 的版本允许使用 OpenMP 进行并行化的应用程序与库之间进行简单的交互。例如,从并行部分调用 NVPL LAPACK 函数将导致单线程执行,除非允许 OpenMP 嵌套并行性。此外,该库将遵守基于 OpenMP 的线程数设置(例如 omp_set_num_threads() 函数和 OMP_NUM_THREADS 环境变量)。

存在一些限制

  1. 目前 NVPL LAPACK 不支持线程的动态调整(例如 OMP_DYNAMIC=true)。为了解决这个问题,如果库函数在这种环境中被调用,库将调用 omp_set_dynamic(0),调用该函数,并通过调用 omp_set_dynamic(1) 重置设置。

另请参阅

线程接口