ILNumerics 是一个用于高性能数值计算的.NET 库,现在它提供了一个支持“任何CPU”的NuGet 包。据称,其独立版本ILView 支持REPL 的3D 可视化工具。
ILNumerics 通过使用本地代码提高了许多性能,这意味着开发人员需要独立的 32 位和 64 位版本的库。在 3.0 版本中,由于增加了纯托管的矩阵乘法运算,本地代码的数量大大减少,但还没有完全消失。
为了离平台独立性更近一步,开发人员需要找到一种方法,用来消除对 32 和 64 位版本的依赖。在 Windows 上,有一种方法可以达到这个目的,即将 64 位的 DLL 安装到 System32 目录下,将 32 位的 DLL 安装到 SysWow64 目录下。但是,对于使用了 ILNumerics 的应用程序而言,这增加了不小的安装工作量。
既然 ILNumerics 是一个.NET 库,那么开发人员也可以尝试使用 AppDomain.AssemblyResolve ,但是 ILNumerics 团队放弃了它,而寻求第三方案。
应用程序使用环境变量 PATH 帮助其定位动态加载的库,因此 ILNumerics 会在启动时修改 PATH 变量,使它包含一个比特率专用的子目录。由于这些子目录由 NuGet 包的安装脚本创建,所以开发人员不需要对此做任何工作。
ILNumerics 遵循 GPL 3 和一个商业许可证。
ILView
可视化工具 ILView 包含两个组件,一个是 3D 可视化工具本身,另一个是基于 C#的交互式控制台,用于输入公式。ILView 可以运行在.NET/Windows 和 Mono/Linux 环境里。
该应用程序需要 Mono.CSharp 和 OpenTK ,分别用于交互式控制台和图像渲染,其中图像渲染使用 OpenGL 标准。这些库都包含在 ILView 的发行版中,但是,在 Linux 上,开发人员还需要安装 WinForms 和 GDI 库。
该项目计划作为一个社区项目。我们(ILNumerics 的维护人员)将继续推动其更新。但是,我们明确鼓励开发人员参与协作并支持该项目。欢迎他们提交“拉请求(pull requests)”,以及提出功能增强和新功能的一般性想法。
ILView 通过 MIT/X11 许可提供。
查看英文原文: ILNumerics Now Offers Any CPU Support and REPL Visualizations
感谢马国耀对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论