如何在Chrome中试用SIMD说明?

时间:2015-10-28 21:48:47

标签: javascript google-chrome 32bit-64bit simd

我想尝试SIMD(单指令多数据)。根据Google Group发布的内容,人们一直在努力将其添加到Google Chrome中,但当我尝试在Chrome 46中调用SIMD.Float32x4时,我认为SIMD未定义。

我的谷歌搜索表明可能有一些Chrome的实验版本具有SIMD支持。什么是包含它的最新版本以及需要设置哪些命令行标志才能使用它?我需要使用严格模式吗?

什么时候SIMD会进入稳定的Chrome版本?

如果运行32位版本的Chrome或64位版本,运行SIMD指令也会有所不同吗?

2 个答案:

答案 0 :(得分:10)

更新(24/6/17): Chrome is dropping SIMD support在JS中,只允许它in WebAssembly

更新:现在可以在最新版本的Chrome中使用标记:

--js-flags="--harmony-simd"

在Chrome快捷方式属性中(例如桌面上)"目标"字段看起来像这样

"C:\Users\Pav\AppData\Local\Google\Chrome SxS\Application\chrome.exe" --js-flags="--harmony-simd"

旧回答:

您可以在Node中尝试将它们添加到Chrome(相同的JavaScript引擎)

  1. https://nodejs.org/en/

  2. 安装最新节点
  3. 运行您的JavaScript作为" node --harmony-simd index.js" (您在index.js中的代码)

  4. 使用console.log(' BANG')或仅记录(' TEST 2')

  5. 选项2

    不是Chrome解决方案,但您可以在Firefox中使用SIMD。 下载已经集成了SIMD的Firefox Nightly 。 SIMD在浏览器之间几乎完全相同。

    https://nightly.mozilla.org/

    如果有人能够解释如何使用原生SIMD构建最新的Chromium(现在不是polyfill)支持那么好。

答案 1 :(得分:1)

似乎Chromium中SIMD的范围是experimental contribution by Intel from 2013

您可以在special build of Chromium 37(ia32)中试用。来源:IDF14 demo links

要试用download the build for your platform并从command-line flag --js-flags=--simd-object开始。

例如,在OSX上:

./Chromium.app/Contents/MacOS/Chromium --js-flags=--simd-object

JavaScript控制台中提供了SIMD对象:

var a = SIMD.float32x4(1, 2, 3, 4);
var b = SIMD.float32x4(5, 6, 7, 8);
var c = SIMD.float32x4.add(a,b);
console.log(c.toString())
// > float32x4(6,8,10,12) 

我找不到有关合并意图的信息(但希望听到一些权威的信息)。