WebAssemblyがSIMDをサポート、「WebAssemlby SIMD」がChromeやFirefoxで標準実装。画像処理や物理演算など高速実行

今回は「WebAssemblyがSIMDをサポート、「WebAssemlby SIMD」がChromeやFirefoxで標準実装。画像処理や物理演算など高速実行」についてご紹介します。

関連ワード (利用、利用可能、標準仕様等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


ChromeなどのWebブラウザに搭載されているJavaScriptエンジン「V8」の開発チームは、WebAssemblyでSIMD命令をサポートする「WebAssembly SIMD」を来月、2021年5月にリリース予定のChrome 91からデフォルトで利用可能にすることを明らかにしました。

Firefoxでもx86版、x86-46版においてはすでにフラグを設定することでWebAssembly SIMDが利用可能になっており、Node.jsでもフラグの設定で利用可能になっています。

これによりWebAssemblyで画像処理などが高速に実行できるようになることが期待されます。

WebAssemblyとは、Webブラウザなどに実装された仮想マシン上で、ネイティブコードとほぼ同様の実行速度を実現するバイナリフォーマットです。すでに主要なWebブラウザやNode.jsなどに搭載されているJavaScriptエンジンはWebAssemblyに対応しています。

またWasmerやWasmtime、Lucetといった、Webブラウザなどから独立したWebAssemblyランタイムなども登場しています。

今回、WebAssemblyから利用可能になるSIMD(Single Instruction, Multiple Data)とは、一般に1つの命令で同時に複数のデータを処理できるプロセッサの命令、もしくはその処理のことを指します。

これを活用することで、単純な演算を大量に繰り返すような画像処理や機械学習、物理演算などの処理が高速になるのです。

WebAssembly SIMDは、WebAssemblyからSIMD命令を呼び出すための標準仕様とその実装です。

WebAssemblyはW3Cを中心に標準仕様の策定が進められており、WebAssembly W3C Processで設定されているプロセスには「1. Feature Proposal」「2. Proposed Spec Text Available」「3. Implementation Phase」「4. Standardize the Feature」「5. The Feature is Standardized」の5段階があります。

WebAssembly SIMDは現在、第四段階にあると説明されています。

ただし、WebAssembly SIMDはあらゆるプロセッサのさまざまなSIMD命令に対応するわけにもいかないため、次のようにある程度絞られた仕様での策定が進んでいます。「Fast, parallel applications with WebAssembly SIMD」から引用します。

WebAssembly SIMDは5月リリースのChrome 91からデフォルトで利用可能になる予定ですが、Chrome 84から90までのバージョンでも「Origin Trials」として利用可能になります。

Origin Trialsとは、あらかじめその機能を使うことを登録した開発者にのみ、機能を解放する仕組みです。一定期間が過ぎると自動的にその機能は使えなくなります。

かつてWebブラウザなどでの試験的な機能の実装はベンダプレフィクスを用いることで利用可能にしていました。しかしその機能がやがて標準となり正式版として実装されても、ベンダプレフィックスによるベンダ依存の表記がいつまでもWebアプリケーションなどに残り続けてしまうという負の側面がベンダプレフィクスにはありました。 Origin Trialsはこれを反省し、利用に期限を設けることで実験的機能に依存した表記や実装がいつまでも残り続けないようにしたものです。

下記は、そのOrigin Trialsを利用してWebAssembly SIMDを活用したデモ動画です。画像処理ライブラリのOpenCVをWebAssembly SIMD対応としてコンパイルし、実行。クレジットカードの券面を高速に読み取っています。

今後、Webブラウザを含むさまざまなエッジにおいて画像処理や機械学習処理などが行われることになるとみられます。WebAssembly SIMDの登場は、こうした処理を快適にしてくれることでしょう。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
光時代の本格到来を告げる–30回目のInterop Tokyo 2023開幕
IT関連
2023-06-16 09:49
自律型芝刈り機を提供する造園ロボットスタートアップScythe、芝を刈った面積に応じて料金が決まる
ロボティクス
2021-06-17 05:12
「コロナ対策」偽り顔写真を要求 厚労省かたるフィッシングに注意
セキュリティ
2021-08-14 23:02
第4回:SSEの導入で避けるべき「7つの落とし穴」
IT関連
2022-10-08 07:49
第3世代iPhone SE、ついに5G対応もミリ波がない理由―iPhone 14シリーズ、日本でミリ波対応はありえるのか
IT関連
2022-03-12 15:24
「生成系AIは3億人の雇用に影響」、ゴールドマン・サックスが予測
IT関連
2023-03-31 11:42
自然現象のデジタルツイン化を支援する新たなコンピューターシステム
IT関連
2023-02-21 09:25
「CRM+AI+データ+信頼」で新しい未来を築く–セールスフォース・ジャパン
IT関連
2024-04-17 18:26
「4℃」オンラインショップ、「Repro Booster」でサイト表示速度を改善
IT関連
2024-06-20 23:35
「Linux」で過去に実行したコマンドを見つけるには–historyコマンドを使用した手順
IT関連
2023-04-07 21:15
イーロン・マスク氏がClubhouseに登場、ファンがYouTubeへライブストリーム、途中からRobinhood CEOへのインタビューに
ネットサービス
2021-02-02 06:20
nearMeの空港送迎相乗りシャトルバス「スマートシャトル」が関西進出、関西空港・伊丹空港と京都府13地域を結ぶ
モビリティ
2021-06-30 05:25
チヌ→クロダイ、カサゴ→ボッカ──魚の「地方名」と「標準和名」を自動変換 産地と食品スーパーの取引アプリに新機能
企業・業界動向
2021-06-10 05:05
三菱マテリアル、分散したナレッジを自動集約して一元管理–法務業務のDXを推進
IT関連
2022-07-17 08:50