【问题标题】:Why does MathNet.Numerics.Control.UseManaged require Cuda?为什么 MathNet.Numerics.Control.UseManaged 需要 Cuda?
【发布时间】:2016-02-08 00:43:17
【问题描述】:

我正在尝试测试一个 ASP API 控制器,该控制器反过来调用一个使用 MathNet.Numerics.LinearAlgebra 的 DLL。我先打电话

MathNet.Numerics.Control.UseManaged();

但是此调用失败并出现错误

抛出异常:'System.NotSupportedException' in MathNet.Numerics.dll

附加信息:未找到 Cuda Native Provider。

当我明确告诉 MathNet 使用托管而非原生时,为什么需要 Cuda?

【问题讨论】:

    标签: math.net mathnet-numerics


    【解决方案1】:

    它实际上并没有失败,异常是在内部处理的。你可以继续调试。

    该异常实际上不是在UseManaged 调用中引发的,而是在Control 类的静态构造内部引发的,第一次访问它并初始化默认提供程序(包括探测是否有任何已知的本地提供者可用)。当然,使用托管提供程序时不需要 Cuda。

    在启用“所有异常中断”进行调试时,这确实是一个小的可用性问题。我们可以通过一个小的重构来避免抛出异常。也许我们应该打开一个 GitHub 问题来跟踪这个?

    【讨论】:

    • 感谢克里斯托夫,done。
    猜你喜欢
    • 2018-09-08
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 2019-06-09
    • 1970-01-01
    • 2020-05-22
    • 2020-05-03
    相关资源
    最近更新 更多