如何同时使用并行和串行版本的MKL

How to use simultaneous of parallel and serial version of MKL?

本文关键字:版本 MKL 何同时 并行      更新时间:2023-10-16

MKL的串行和并行版本在两个不同的库中实现。库的函数具有相同的名称。因此,您不能直接加载两个库并分别调用每个函数,而不会在编译时发生冲突。

我想开发一个函数的包装器(如OpenGL Extension Wrangler Library(GLEW)),它将为每个相同的函数提供相应的扩展,扩展函数将从适当的库加载并行或顺序函数。这是个好主意吗?你能提出其他建议吗?

非常感谢。

我建议您始终使用MKL的并行版本,并控制MKL函数使用的#线程。

MKL提供了void MKL_set_num_threads(int nt)来更改MKL函数可以随时使用的线程数。

当您将其设置为1时,它等于串行版本。