Je suis très intéressé par ILNUmerics et j'aimerais essayer la version gratuite, mais je rencontre des difficultés.
J'ai commencé avec une application console et j'ai essayé d'exécuter l'application console 'hello ilnumerics' mais j'ai remarqué que VS ne trouve pas les bibliothèques MKL.
J'utilise VS2012 sous Windwos 8 (via Bootcamp sur un MacBook Pro mi-2010 ; si cela est pertinent) ; j'ai installé l'extension NuGet Packages depuis la solution Project. Ensuite, un clic droit sur les références dans l'explorateur de solutions, 'Manage Nu Get Packages', fron online/search a trouvé ilnumerics dans différentes versions. J'ai choisi 'ILNumerics' et l'ai installé. J'ai ajouté 'ILNumerics' et 'ILNumerics.Native' à mon projet. Ensuite, je peux voir ILNumerics sous 'References' dans Solution Explorer et j'ai aussi deux nouveaux dossiers /bin32/ et /bin64/ qui contiennent deux DLLs nommées : libiomp5md.dll et mkl_custom.dll. J'ai vérifié leur J'ai vérifié leur propriété 'Copy to Ouput Directory' et ils sont tous réglés sur 'Copy if newer'.
Apparemment, mkl_custom est introuvable. J'écris le code suivant, tiré du guide de démarrage rapide :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ILNumerics;
namespace ConsoleApplication3
{
class Program : ILMath
{
static void Main(string[] args)
{
ILArray<double> A = array<double>
(new double[] { 1,1,1,1,1,2,3,4,1,3,6,10,1,4,10,20} ,4, 4);
ILArray<double> B = counter(4, 2);
ILArray<double> Result = linsolve(A, B);
Console.Out.WriteLine("A: " + Environment.NewLine +
A.ToString());
Console.Out.WriteLine("B: " + Environment.NewLine + B.ToString());
Console.ReadKey();
}
}
}
et j'obtiens cette exception : Une exception non gérée de type 'System.DllNotFoundException' s'est produite dans ILNumerics.dll.
Informations complémentaires : Impossible de charger la DLL 'mkl_custom' : Le module spécifié n'a pas pu être trouvé. (Exception de HRESULT : 0x8007007E)
Si je n'invoque pas linsolve, la méthode ToString de ILArray fonctionne : si je commente // ILArray Result = linsolve(A, B) ;
J'obtiens les deux matrices imprimées à l'écran.
J'ai également essayé de calculer le déterminant d'une matrice et j'ai obtenu la même exception : apparemment, à chaque fois que j'appelle mkl_custom, VS n'est pas capable de le trouver.
Une aide/un conseil, s'il vous plaît ?
De plus, est-il nécessaire d'installer ILNumerics via NuGet sur chaque projet ajouté à la solution ? Serait-il possible de l'installer localement une fois pour toutes et d'ajouter ensuite la référence si nécessaire ?