LAPACK 例程适用于 iPhone 模拟器,但不适用于设备

发布于 2024-11-11 16:53:58 字数 442 浏览 1 评论 0原文

我正在使用 Accelerate 框架来求解欠定/超定线性方程组。我使用的例程是 dgelsd_ ,最初来自 LAPACK。

dgelsd_( &m, &n, &nrhs, a_t, &lda, b, &ldb, s, &RCOND, &IRANK, work, &workSize, iWork, &info);

这在模拟器中工作得很好,在提供矩阵 a_t 和 b 时,结果在 b 中正确返回。但是,当我在设备上尝试此操作时,结果全为零。

我哪里可能出错了?我已根据需要为例程分配了一定量的工作内存,但我使用探查器进行了检查,内存似乎不是问题。

有人让 LAPACK 例程在 iPhone 设备上正常工作吗?谢谢。

编辑:iPhone SDK 版本 4.2,设备 iPhone 4

I'm using the Accelerate framework to solve a under/overdetermined system of linear equations. The routine I'm using is dgelsd_ originally from LAPACK.

dgelsd_( &m, &n, &nrhs, a_t, &lda, b, &ldb, s, &RCOND, &IRANK, work, &workSize, iWork, &info);

This works fine in the simulator, where on supplying matrices a_t and b, the result is returned correctly in b. However, when I try this on the device, the result is all zeroes.

Where could I be going wrong? I have allocated a certain amount of working memory for the routine, as required, but I ran a check with the profiler and memory doesn't seem to be the issue.

Has anyone got LAPACK routines to work correctly on the iPhone device? Thanks.

Edit: iPhone SDK version 4.2, Device iPhone 4

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

明媚如初 2024-11-18 16:53:58

使用双精度时,这似乎是一个已知问题

解决方案:使用单精度,即Floats。

Looks like it's a known issue when using double precision.

Solution: Use single-precision, i.e. Floats.

眼藏柔 2024-11-18 16:53:58

我正在使用 sgesv_(单精度)来求解 1200x1200 方程组。
iPhone 4 上的执行时间为 1.1 秒,而使用我旧的“手动”方法时为 60 秒。

I am using sgesv_ (single-precison) to solve a 1200x1200 equation system.
The execution time on an iPhone 4 is 1.1 s, compared to 60 s when using my old "manual" method.

猫弦 2024-11-18 16:53:58

LAPACK 不适用于 iOS 设备 - 仅适用于 BLAS 和 vDSP。它可以在模拟器上运行,因为该库在 Mac 上可用。 iOS 加速参考

LAPACK isn't available on ios devices - only BLAS and vDSP. It works on the simulator because that library is available on mac. iOS Accelerate Reference

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文