2
MKL的串行和並行版本在兩個不同的庫中實現。這些庫的功能具有相同的名稱。所以你不能直接加載這兩個庫,並分別調用每個函數,而不會在編譯時產生衝突。如何同時使用並行和串行版本的MKL?
我想開發一個函數的包裝器(比如OpenGL Extension Wrangler Library(GLEW)),它將對每個相同的函數都有相應的擴展,而擴展函數會從適當的位置加載並行或順序函數圖書館。 這是個好主意嗎?你能提出其他建議嗎?
非常感謝。
現在這適用,但我不是很滿意。我有一個高級並行的進程。在低級別(在進程線程中),我調用MKL庫函數(以串行模式)。我用兩種不同的實現做了相同的例子,一個是單個CPU上的並行MKL,另一個是串行MKL。兩種實現的比較在時間上有差異,串行實現速度更快。這是正常的,因爲並行MKL由於線程庫的控制功能而具有開銷... – gzioupos