我希望使用JavaScript编写需要大量数值计算的应用程序。但是,我对客户端JavaScript中高效线性代数类计算的状态感到非常困惑。似乎有许多方法,但没有明确表明它们的就绪状态。它们中的大多数似乎限制了允许进行计算的向量和矩阵的大小。
WebGL
显然可以在GPU上进行向量和矩阵计算,但我不清楚其限制。尝试包装此库的尝试 限制 看来限制矩阵和向量的大小。这是实际限制(浏览器不支持其他东西)还是开发限制(需要有人编写代码)?
WebCL
WebCL 是OpenCL的提议的浏览器级实现,但似乎停滞不前。
WebGPU
Apple最近提出了一个名为WebGPU的WebCL替代方案。到目前为止,有原型和演示,但我不确定这是否会得到广泛采用。
SIMD
Mozilla发布了一个用于SIMD操作的API,但它仅具有实验性支持。
浏览器端是否支持向量化计算?
备注:
我的问题不是“JavaScript中进行数值计算的好库是什么”,而是“JavaScript是否支持向量化操作?”可接受的答案将链接到在非实验浏览器中工作的向量计算演示。
我可能把SIMD、向量化和GPU计算搞混了。在这个语境中,我认为可以将它们视为同义词使用,因为它们都允许利用硬件加速进行高维向量的高效计算。