Exo-languageとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Exo-languageの意味・解説 

Exo-language

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/02/17 07:11 UTC 版)

Exo言語 (The Exo Language) は領域特化型のプログラミング言語である。

ハードウェアに近いレイヤのパフォーマンス・エンジニア向けで、計算内容を指定した非常に単純なプログラムを、繰り返し速く実行する非常に複雑なプログラムに変換できる。

他のプログラミング言語やコンパイラとは異なり、Exoはエキソコンパイル(Exocompilation)の概念に基づいて構築されている。[1] [2]

開発背景とエキソコンパイル[1]

伝統的なコンパイラは、あるハードウェア上で動作するようにプログラムを自動的に最適化するように作られており、多くのプログラマーにとって素晴らしい。だが、パフォーマンス・エンジニアにとっては、コンパイラは助けになるのと同じくらい邪魔になることも多い。コンパイラによる最適化は完全に自動で行われるため、間違った処理をした場合、修正する良い手段が用意されていない。

そして2022年現在作られている最高性能のハードウェア(GoogleのTPU、AppleのNeural Engine、NvidiaのTensor Coreなど)は、科学計算や機械学習の主要カーネル(例えば、基本線形代数サブルーチン(BLAS)ライブラリなど)を駆動する。これらのチップは、設計に何百人ものエンジニアを要するため、アプリケーション開発者にとっては、これらのカーネルが可能にする程度の性能しか発揮しない。

エキソコンパイルでは、パフォーマンス・エンジニアに最適化の手段を提供する。

どの最適化を、いつ、どのような順番で適用するかを選択する責任は、コンパイラからパフォーマンス・エンジニアに委ねられる。これにより、エンジニアはコンパイラと格闘したり、すべてを手作業で行うといった無駄な時間を過ごす必要がなくなる。同時に、Exoは、これらの最適化がすべて正しいことを保証する責任を負う。その結果、パフォーマンス・エンジニアは、複雑で最適化されたコードをデバッグするよりも、パフォーマンスの向上に時間を費やすことができる。

エクソコンパイルのもう一つの重要な部分は、パフォーマンス・エンジニアがコンパイラを修正することなく、最適化したい新しいチップを記述できることにある。従来、ハードウェアインターフェイスの定義は、コンパイラの開発者によって維持されてきた。しかし、ほとんどの新しいアクセラレータチップでは、ハードウェアインタフェースは独自仕様となっている。また、汎用チップに比べて変更頻度も高い。現状では、従来のコンパイラを自社専用のチップに対応するように修正した、独自のフォークを維持しなければならない。そのため、パフォーマンスエンジニアに加えて、コンパイラ開発者のチームを雇用する必要があった。

実績

Exo を使って、インテルの手作業で最適化された数学カーネル・ライブラリと同等の性能を持つコードを迅速に記述できることを示された。また、カリフォルニア大学バークレー校は、オープンソースの機械学習アクセラレータであるGEMMINI向けのコードを作成するための共同作業を継続している。

脚注

  1. ^ a b The Exo Language” (英語). The Exo Language. 2022年7月16日閲覧。
  2. ^ Ikarashi, Yuka; Bernstein, Gilbert Louis; Reinking, Alex; Genc, Hasan; Ragan-Kelley, Jonathan (2022-06-09). “Exocompilation for productive programming of hardware accelerators”. Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation (New York, NY, USA: Association for Computing Machinery): 703–718. doi:10.1145/3519939.3523446. ISBN 978-1-4503-9265-5. https://doi.org/10.1145/3519939.3523446. 



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  
  •  Exo-languageのページへのリンク

辞書ショートカット

すべての辞書の索引

「Exo-language」の関連用語

Exo-languageのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Exo-languageのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのExo-language (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS