Применение искинов - шоссе империализма (Стенгазета русификаторов ИТ)

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



WebAssembly System Interface

Сообщений 1 страница 3 из 3

1

https://wasi.dev/
https://github.com/WebAssembly/WASI/
https://en.wikipedia.org/wiki/WebAssembly#WASI

Лицензии нет.

Возможно Apache-2.0, но это неточно

Какие возможности вы видите в её применении?
1) Может быть она пригодится для реализации виртуальной машины в браузере?
2) Можно ли извлечь из того проекта какие-то уроки для нашего?

Отредактировано Лис (2023-03-13 16:36:48)

0

2

«we create universal binaries that work anywhere without modification, including operating systems like Linux, macOS, Windows, and web browsers. Wasm automatically sandboxes applications by default for secure execution»

Ну почти как у нас, разве нет? Только у нас позже, несекьюрная, и неработающая.

0

3

Не знаю, как WASI, но Firefox начиная с версии 79 (July 28, 2020) поддерживает многопоточность в WebAssembly:

«вы можете использовать WebAssembly Threads в своих приложениях, если ваш код компилируется с использованием SharedArrayBuffer и Atomics.»
«SharedArrayBuffer может быть использован только в контексте, который считается безопасным, чтобы предотвратить атаки, такие как Spectre.»

«Настройка заголовков CORS важна для обеспечения безопасности
веб-приложений и правильной работы с ресурсами, находящимися на других доменах
«для использования многопоточности в WebAssembly в Firefox
необходимо, чтобы ваш сайт использовал HTTPS и чтобы
были выполнены определенные условия безопасности, такие как
настройка заголовков CORS и использование заголовка Cross-Origin-Embedder-Policy.»

Код:
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Access-Control-Allow-Origin: https://yourdomain.com

Эти заголовки помогут обеспечить безопасный контекст для использования многопоточности в WebAssembly.

Ранее (не совсем) по теме:
asm.js оказывается не умеет работать с GC

===================================================================================================
# WebGPU

https://github.com/gpuweb/gpuweb/wiki/I … ion-Status

В Firefox для включения WebGPU в about:config предусмотрена настройка "dom.webgpu.enabled".
dom.webgpu.enabled = true
https://www.opennet.ru/opennews/art.shtml?num=52800
Концептуально WebGPU отличается от WebGL примерно так же, как Vulkan отличается от OpenGL

requires a browser restart after changes to work properly
https://bugzilla.mozilla.org/show_bug.cgi?id=1814745
(bug resolved)

Кроме 3D-графики WebGPU охватывает и возможности, связанные с выносом вычислений на сторону GPU
и поддержкой разработки шейдеров. Шейдеры могут создаваться
на языке WebGPU Shading Language или задаваться
в промежуточном формате SPIR-V

представляет собой универсальную прослойку, в общем виде использующую
те же низкоуровневые примитивы, что имеются в Vulkan, Metal и Direct3D.
Реализация WebGPU основана на коде проекта wgpu, написанного на языке Rust и способного работать поверх
API DX12, Vulkan и Metal в Linux, Android, Windows и macOS (в разработке также находится поддержка DX11 и OpenGL ES 3.0).

Для отрисовки CanvasContext также требуется включение системы композитинга WebRender ("gfx.webrender.all" в about:config),
написанной на языке Rust и выносящей на сторону GPU операции отрисовки содержимого страницы.

Отредактировано Лис (2025-04-01 14:41:26)

0