J'ai un problème assez complexe, je ne suis pas sûr que quelqu'un ici puisse trouver la réponse, mais on va tenter
Nota : je suis sous Linux et j'utilise MKL 10.1.018 et icc.
La bibliothèque libmkl_def.so est utilisée par toutes les autres bibliothèques de la MKL, ou presque, et elle définit pas mal de petites fonctions, comme des routines d'allocations ou de désallocation. Le problème est que si je charge dynamiquement une bibliothèque basée sur la MKL, la focntion i_free, qui se trouve dans libmkl_def.so, n'est pas retrouvée.
D'après la documentation, les fonctions i_malloc, i_free, i_realloc et une autre i_... sont des pointeurs vers les fonctions réellement utilisées. Il n'empêche que ce symbole devrait être défini dans la bibliothèque.
Si je lie la bibliothèque que j'ai créée avec un programme, aucun problème, tout est bien défini (mais pas de i_free dans le programme trouvé avec un grep). Mais si je passe par une bibliothèque qui l'appellerait (ici, un wrapper Python, mais ça marche aussi avec Numpy, Matlab, ...), i_free n'est plus retrouvé.
Si vous avez une idée, mais bête, ça m'aiderait![]()
Partager