2

MKL のシリアル バージョンとパラレル バージョンは、2 つの異なるライブラリに実装されています。ライブラリの関数は同じ名前です。したがって、コンパイル時に競合することなく、両方のライブラリを直接ロードして各関数をそれぞれ呼び出すことはできません。

関数のラッパー (OpenGL Extension Wrangler Library (GLEW) など) を開発したいと思います。これは、同じ関数ごとに対応する拡張機能を持ち、拡張された関数は適切なライブラリから並列関数または順次関数をロードします。これは良い考えですか?他に何か提案できますか?

どうもありがとう。

4

1 に答える 1

1

常に MKL の並列バージョンを使用し、MKL 関数で使用される #thread を制御することをお勧めします。

MKL は、MKL 関数がいつでも使用できる #thread を変更するvoid mkl_set_num_threads( int nt )を提供します。

1にするとシリアル版と同等です。

于 2013-07-13T07:06:59.943 に答える