最近我正在使用带有英特尔 MKL BLAS 的 Umfpack。要将库链接到程序,必须链接 mkl_rt.lib / mkl_rt.so。但是,没有链接哪个版本:库的顺序或并行。
任何人都可以帮忙吗?提前致谢。
最近我正在使用带有英特尔 MKL BLAS 的 Umfpack。要将库链接到程序,必须链接 mkl_rt.lib / mkl_rt.so。但是,没有链接哪个版本:库的顺序或并行。
任何人都可以帮忙吗?提前致谢。
我相信 MKL 在一个统一的库中具有线程并行和串行功能。您可以尝试将 OMP_NUM_THREADS 或 MKL_NUM_THREADS 设置为一系列值,看看性能如何变化。将任一设置为 1 将为您提供串行行为。
使用 MKL 链接行顾问来确定对应的库。
https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor
如果您选择“单一动态库”,它使用“mkl_rt.lib”,看起来线程是活动的。
这两个版本的结果应该是一样的。是否要使用多个内核由您决定。