我们有一些废弃的 FPGA 模块(Xilinx),以及我们自己的 PHP 服务器。服务器有时负载很高,PHP 脚本尤其会加载服务器。我们想尝试在 GPU 和 FPGA 上执行 PHP 脚本的某些部分。
你怎么看?这是一种明智的优化方式吗?
我相当确定任何与 PHP 相关的东西都不会被 GPU 加速。
而且我比 FPGA更确定 10 倍不能解决您的问题!
如果您碰巧有一小部分 PHP 占用了 99% 的时间,并且非常密集的数学运算并且不需要处理大量数据来传输到加速器,那么也许,只是也许,值得考虑。但无论如何,这将是一项艰巨的任务!
可以设计一个编译器,将 PHP 的“纯功能”子集翻译成另一种可以在 GPU 上运行的编程语言,例如Futhark。我为这个编译器写了一个小的概念验证,虽然它仍然是一个正在进行的工作。
例如,一个简单的高阶函数可以转换为 Futhark:
$higher_order_func = function($callback, $value) {
return $callback($value) * 3.0;
};
此函数的翻译可能如下所示:
let higher-order callback value =
(callback value)*3.0
Futhark 编译器可以生成 CUDA、OpenCL 或顺序 C 源代码,因此它可以在 GPU 或 CPU 上运行。