【发布时间】:2013-07-10 06:09:51
【问题描述】:
MKL 的串行和并行版本在两个不同的库中实现。库的功能具有相同的名称。所以你不能直接加载这两个库并分别调用每个函数,而不会在编译时发生冲突。
我想开发一个函数的包装器(例如 OpenGL 扩展牧马人库 (GLEW)),它将为每个相同的函数提供相应的扩展,并且扩展的函数将从适当的库中加载并行或顺序函数. 这是一个好主意吗?你能建议点别的吗?
非常感谢。
【问题讨论】:
MKL 的串行和并行版本在两个不同的库中实现。库的功能具有相同的名称。所以你不能直接加载这两个库并分别调用每个函数,而不会在编译时发生冲突。
我想开发一个函数的包装器(例如 OpenGL 扩展牧马人库 (GLEW)),它将为每个相同的函数提供相应的扩展,并且扩展的函数将从适当的库中加载并行或顺序函数. 这是一个好主意吗?你能建议点别的吗?
非常感谢。
【问题讨论】:
我建议你始终使用 MKL 的并行版本,并控制 MKL 函数使用的#thread。
MKL 提供void mkl_set_num_threads( int nt ) 更改#thread MKL 函数可以随时使用。
设置为1时,等于序列号。
【讨论】: