TensorFlow XLA

提供: MonoBook
移動: 案内検索

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がやらかした依存命令の排除である。

その他[編集]

公式サイトを見よう。

関連項目[編集]

参考文献[編集]