TensorFlow XLA

提供: MonoBook
2017年6月10日 (土) 04:19時点における103.22.200.204 (トーク)による版 (→‎概要)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

XLA (Accelerated Linear Algebra)とは、TensorFlow 1.0に実験搭載された中間コードコンパイラである。

概要[編集 | ソースを編集]

旧来のTensorFlowでは実行環境のCPUGPUを変更するたびに常に最速で動くようソースコードからリビルドするのが普通であった。このため「TensorFlowの環境をCPU版で作ってみたが遅すぎるのでGPU版をインストールしなおした」などという馬鹿げたことをやっていた。

XLAの登場によりこのような手間が全自動化(JITコンパイル)される。ほとんどの環境ではXLA自体によるパフォーマンスの大きな変化は見られないが、実行環境のPC構成を変えた際に大きく手間が省かれる。

利点[編集 | ソースを編集]

実行速度の改善[編集 | ソースを編集]

従来はプログラマの書いたものが素直に実行されているが、将来的にはXLAに最適化が搭載される予定となっている。 なお、現状ではほとんどの環境でXLA自体によるパフォーマンスの大きな変化は見られない。

現状で影響が大きいのはXLAのJITコンパイル機構により実行環境を変えた際の手間が大きく省かれる点である。従来は実行環境のSSEAVXGPUの有無などにあわせTensorFlowをソースコードからリビルドしていたが、そんな馬鹿げた作業がなくなった。そのためMacUbuntuなどではTensorFlowのパッケージを入れれば環境構築完了となる。

メモリ使用量の改善[編集 | ソースを編集]

メモリ使用量を監視して最適化する機構がついたらしい。 とくに変化は見られない。

移植性の向上[編集 | ソースを編集]

一部のアルゴリズムでは特定のハードウェアに依存した命令を使って記述されたものがあったが、それらを排除する目的もあるらしい。かつてOpenGLがやらかした依存命令の排除である。

その他[編集 | ソースを編集]

公式サイトを見よう。

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]