【问题标题】:Pre-compiled Windows OMF BLAS/LAPACK? [closed]预编译的 Windows OMF BLAS/LAPACK? [关闭]
【发布时间】:2011-02-11 15:10:08
【问题描述】:

我是否可以在任何地方获得 OMF 对象格式的 Windows 预编译的 BLAS 和 LAPACK 二进制文件?我想将一些 D 语言代码链接到这些。我知道在哪里可以获得the relevant libs in COFF format。我也知道 objconv 工具,它将 COFF 转换为 OMF,尽管由于我不完全理解的原因,这在实践中似乎不起作用。这些似乎与符号中的下划线有关,尽管我尝试了几乎所有处理这些的设置,但似乎都没有。

或者,有谁知道如何转换 the reference binaries to OMF 以便他们真正正确链接到 DMD 编译的代码?作为最后的手段,有谁知道如何让 CLAPACK、CBLAS 和 F2CLIB 与 DMC 一起构建?这些附带的构建过程似乎完全面向 GCC 工具链。

【问题讨论】:

  • 在我之前的答案stackoverflow.com/questions/4937699/… 中链接的多数组包附带一个应该可以工作的 dll + 包装器(请参阅dsource.org/projects/multiarray/browser/downloads/win32-deps)(我尚未测试)。如果这不起作用,请告诉我,我将尝试构建一个。顺便说一句,如果您是 LAPACK 的新手,有两个陷阱:1)所有 Fortran 函数都通过引用获取所有参数(甚至是整数),除非 LAPACK 发行版具有 C 包装器; 2) Fortran 数组是列优先的布局,而 C 数组是行优先的。
  • @stephan:你应该把它作为答案。我会接受它,因为我在您发布的同一时间发现了同样的事情。就 Fortran 而言,我无意直接使用 BLAS 和 LAPACK。我将使用 Lars Kyllingstad 的 SciD 库,它提供了漂亮的包装器。

标签: d lapack blas object-files omf


【解决方案1】:

“...接缝完全面向 GCC 工具链。”

这是轻描淡写的。 Blas 高度“优化”以在一个特定的 gcc 版本 2.4.3?? 下编译。

也许有可能,从源代码的未优化版本开始,使用 OpenWatcom 工具链进行编译,以生成 32 位 OMF,但我担心会涉及很多 foo,结果会是死慢代码。

【讨论】:

  • 嗯? LAPACK 和 BLAS 绝不是专门针对 gcc 的;它们的目标是一个非常通用的 fortran/c/make 构建系统,该系统几乎可以移植到 除了 窗口之外的所有东西。
  • 感谢史蒂文的更正。我在想八度吗?我清楚地记得必须使用 2.4.3 来编译 Octave,但我记错了这是由于 lapack。
  • P.S.编辑最后一条评论时超时。忽略最后一点。
  • 有问题的软件包是 Atlas。我向 blas/lapack 社区道歉。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-29
  • 2015-03-27
  • 2015-11-20
  • 1970-01-01
相关资源
最近更新 更多