Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minimum WebMetal support #912

Merged
merged 3 commits into from
Apr 3, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,13 @@ DNN applications to end-users is very hard.
**WebDNN** solves this problem by using web browser as installation-free DNN execution
framework. This framework optimizes trained DNN model to compress the model data and
accelerate the execution, and executes it with novel JavaScript API such as WebAssembly
and WebGPU to achieve zero-overhead execution. Empirical evaluations showed that it
and WebMetal to achieve zero-overhead execution. Empirical evaluations showed that it
achieved more than 200x acceleration.

Note: WebGPU introduced by Apple was renamed to WebMetal in 2019.
In WebDNN 1.2.8, both WebMetal and old name WebGPU are supported for compatiblity.
For string constant, currently `webgpu` is used, but will be changed to `webmetal` in the future version.

# Performance

- Compared processing time with [Keras.js](https://github.com/transcranial/keras-js)
Expand All @@ -46,7 +50,7 @@ achieved more than 200x acceleration.

Elapsed time per image are shown in vertical axis as logarithmic scale.

WebDNN with WebGPU backend was significantly faster than Keras.js.
WebDNN with WebMetal backend was significantly faster than Keras.js.
WebDNN with WebAssembly backend was comparable with GPU backend of Keras.js.
In each DNN model and backend, WebDNN obtained better results in terms of speed.
More speed improvement is observed when the optimizations are applied in the graph transpiler.
Expand Down
6 changes: 5 additions & 1 deletion README_ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ DNNは様々なタスクについて顕著な成果をおさめていますが
WebDNNにより、ウェブブラウザ上での実行を前提とした積極的な最適化が学習済みモデルに行われるため、
パラメータデータの配信サイズを小さく抑え、高速な実行が可能となります。

WebDNNではAppleにより提案されたアクセラレーションAPI WebMetalをサポートしています。
WebMetalは2019年までWebGPUと呼称されており、WebDNN 1.2.8では互換性のため両方の名称をサポートしています。
文字列定数は従来の`webgpu`を使用していますが、将来バージョンでは`webmetal`に変更します。

# Performance

- 比較対象: [Keras.js](https://github.com/transcranial/keras-js)
Expand All @@ -41,7 +45,7 @@ WebDNNにより、ウェブブラウザ上での実行を前提とした積極

縦軸は画像1枚あたりの処理時間(対数スケール)を表しています。

WebDNNの実行バックエンドとしてWebGPUを使用した場合、Keras.jsよりも大幅な速度向上が達成されました。
WebDNNの実行バックエンドとしてWebMetalを使用した場合、Keras.jsよりも大幅な速度向上が達成されました。
また、WebAssembly実装によるCPU上での実行でも、Keras.jsのGPUモードと同等以上の速度が出ていることが分かります。
さらに、WebDNNに実装された最適化機構を用いる事でより一層の速度向上効果が得られています。

Expand Down
Loading