1

有一个程序我想了解更多,但大部分是在 ASM 中。矩阵乘法

参考页在这里

我了解 C++,但 ASM 部分有点模糊。有人可以解释吗?

4

3 回答 3

4

该程序使用 SIMD(即 SSE)指令来优化矩阵乘法。考虑将其转换为 PHP 的方法是没有意义的,因为它是一种解释性语言 - 您无法以这种方式访问​​ CPU,哎呀,PHP 可能在甚至不提供这些指令的 CPU 上运行.

如果您想在 PHP 中执行此操作,您可以创建一个简单的、未优化的矩阵乘法例程,或者开发一个扩展。在后一种情况下,我建议使用其中一个规范的 BLAS 实现,而不是来自网络的一些随机代码片段。请参阅http://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms

于 2010-07-31T11:54:33.753 回答
1

您要查找的搜索关键字是decompiler。AFAIK,您可能无法将 x86 程序集转换为 PHP 反编译器,因为可能没有人不需要它。

如果您的目的是了解汇编代码。C有很多反编译器。你可以理解阅读C代码。

于 2010-07-31T10:42:54.320 回答
1

在PHPMath上有一个用于 Java 的 JAMA 标准矩阵类的 PHP 端口,它提供了一套矩阵加法、减法、乘法、除法、变换等方法。它是用 PHP4 编码的,但不需要很多努力转换为PHP5。

虽然没有直接回答您关于 ASM 到 PHP 的问题,但给您一个现成的 PHP MatrixMultiply 可能会很有用

于 2010-07-31T16:34:15.960 回答