我试图测试一个ASP API控制器,后者调用一个使用MathNet.Numerics.LinearAlgebra的DLL。我先打电话
MathNet.Numerics.Control.UseManaged();
但是此调用失败并显示错误
抛出异常:' System.NotSupportedException'在 MathNet.Numerics.dll
其他信息:未找到Cuda Native Provider。
当我明确告诉MathNet使用托管而非本机时,为什么需要Cuda?
答案 0 :(得分:1)
它实际上没有失败,异常在内部处理。你可以继续调试。
实际上并没有在UseManaged
调用内抛出异常,而是在Control
类的静态构造内部,第一次访问它并初始化默认提供者(包括探测是否存在)已知的本地提供者可用)。当然,使用托管服务提供商时不需要Cuda。
使用"中断所有异常时,这确实是一个小的可用性问题"启用。我们可以通过一个小的重构来避免抛出异常。也许我们应该打开一个GitHub问题来跟踪它?