Подтвердить что ты не робот

Как я могу проверить инструкции SIMD в Chrome?

Я бы хотел поэкспериментировать с SIMD (множественные данные с одной инструкцией). Из того, что я могу почерпнуть из сообщений Google Group, люди работали над тем, чтобы добавить это в Google Chrome, но когда я пытаюсь позвонить SIMD.Float32x4 в Chrome 46, я получаю, что SIMD - это undefined.

Мой поисковик предполагает, что могут быть некоторые экспериментальные версии Chrome, поддерживающие SIMD. Какова самая новая версия, которая включает ее, и какие флаги командной строки должны быть установлены для ее использования? Нужно ли использовать строгий режим?

Когда SIMD будет свернут в стабильную сборку Chrome?

Также имеет ли смысл работать с инструкциями SIMD, если я запускаю 32-разрядную версию Chrome или 64-битную версию?

4b9b3361

Ответ 1

Обновление (24/6/17): Chrome отбрасывает поддержку SIMD в JS и разрешает это в WebAssembly.


Обновление: Теперь это возможно в последней версии Chrome с флагом:

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

В свойствах ярлыка Chrome (т.е. на рабочем столе) поле "Target" будет выглядеть примерно так:

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

Старый ответ:

Вы можете попробовать их в Node, прежде чем они будут добавлены в Chrome (тот же механизм JavaScript)

  • Установите последнюю версию Node из https://nodejs.org/en/

  • Запустите JavaScript как "node --harmony-simd index.js" (ваш код в index.js)

  • Распечатайте вывод из своего script, как в консоли Chrome, используя console.log( "BANG" ) или просто журнал ( "TEST 2" )

Вариант 2

Не Chrome, но вы можете использовать SIMD в Firefox. Загрузите Firefox Ночной, у которого SIMD уже интегрирован. SIMD почти идентичен между браузерами.

https://nightly.mozilla.org/

Если кто-то может объяснить, как построить последний Chromium с родным SIMD (а не polyfill как он сейчас), это будет здорово.

Ответ 2

Похоже, что степень SIMD в Chromium - это экспериментальный вклад Intel от 2013 года.

Вы можете попробовать его в специальной сборке Chromium 37 (ia32). Источник: демонстрационные ссылки IDF14.

Попробуйте загрузить сборку для вашей платформы и начать с флаг командной строки --js-flags=--simd-object.

Например, в OSX:

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

Объект SIMD доступен в консоли JavaScript:

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) 

Я не мог найти никакой информации о намерении объединиться (но хотел бы услышать что-то авторитетное).