論文の概要: LazyTensor: combining eager execution with domain-specific compilers
- arxiv url: http://arxiv.org/abs/2102.13267v1
- Date: Fri, 26 Feb 2021 02:22:16 GMT
- ステータス: 処理完了
- システム内更新日: 2021-03-01 16:34:07.930610
- Title: LazyTensor: combining eager execution with domain-specific compilers
- Title(参考訳): LazyTensor: 熱心な実行とドメイン固有コンパイラを組み合わせる
- Authors: Alex Suhan, Davide Libenzi, Ailing Zhang, Parker Schuh, Brennan Saeta,
Jie Young Sohn, and Denys Shabalin
- Abstract要約: LazyTensorは、定義による人間工学を犠牲にすることなく、ドメインコンパイラをターゲットとする技術である。
当初、クラウドTPUでPyTorchをサポートするために開発され、実質的に共有された実装テクニックとともに、Swiftは特定のアクセラレータに使用されている。
- 参考スコア(独自算出の注目度): 0.0
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Domain-specific optimizing compilers have demonstrated significant
performance and portability benefits, but require programs to be represented in
their specialized IRs. Existing frontends to these compilers suffer from the
"language subset problem" where some host language features are unsupported in
the subset of the user's program that interacts with the domain-specific
compiler. By contrast, define-by-run ML frameworks-colloquially called "eager"
mode-are popular due to their ease of use and expressivity, where the full
power of the host programming language can be used. LazyTensor is a technique
to target domain specific compilers without sacrificing define-by-run
ergonomics. Initially developed to support PyTorch on Cloud TPUs, the
technique, along with a substantially shared implementation, has been used by
Swift for TensorFlow across CPUs, GPUs, and TPUs, demonstrating the generality
of the approach across (1) Tensor implementations, (2) hardware accelerators,
and (3) programming languages.
- Abstract(参考訳): ドメイン固有の最適化コンパイラは、パフォーマンスとポータビリティのメリットは大きいが、特別なirsでプログラムを表現する必要がある。
これらのコンパイラの既存のフロントエンドは、ドメイン固有のコンパイラと対話するユーザのプログラムのサブセットでは、いくつかのホスト言語機能がサポートされない"言語サブセット問題"に苦しんでいる。
対照的に、"eager"モードと呼ばれる定義別MLフレームワークは、ホストプログラミング言語のフルパワーを使用できる使いやすさと表現性のために人気があります。
LazyTensorは、定義による人間工学を犠牲にすることなく、ドメイン固有のコンパイラをターゲットとする技術である。
当初、クラウドTPUでPyTorchをサポートするために開発されたこのテクニックは、実質的に共有された実装とともに、CPU、GPU、TPUでTensorFlow用にSwiftで使用され、(1)Tensor実装、(2)ハードウェアアクセラレータ、(3)プログラミング言語にわたるアプローチの一般性を示している。
関連論文リスト
- An approach to performance portability through generic programming [0.0]
この研究は、低レベルおよび冗長なプログラミングツールを、C++のテンプレートメタプログラミングに基づく高レベルな汎用アルゴリズムに統合するための設計アプローチを説明する。
これにより、HPCのハードウェアの多様化期間において、科学ソフトウェアは保守性と効率が向上する。
論文 参考訳(メタデータ) (2023-11-08T21:54:43Z) - mlirSynth: Automatic, Retargetable Program Raising in Multi-Level IR
using Program Synthesis [48.01697184432969]
mlirSynthは、プログラムを低レベルMLIR方言から高レベルなものに翻訳する。
Cプログラムを2つの異なるハイレベルなMLIR方言にリバイバイバルすることで、既存のハイレベルな方言固有のコンパイルフローを利用できることを示す。
論文 参考訳(メタデータ) (2023-10-06T12:21:50Z) - Harnessing Deep Learning and HPC Kernels via High-Level Loop and Tensor Abstractions on CPU Architectures [67.47328776279204]
この研究は、効率的でポータブルなDeep LearningとHigh Performance Computingカーネルを開発するためのフレームワークを導入している。
1)プロセッシングプリミティブ(TPP)を用いた計算コアの表現と,2)高レベルな宣言的手法でTPPのまわりの論理ループの表現の2つのステップでカーネルの開発を分解する。
我々は、スタンドアロンカーネルと、さまざまなCPUプラットフォームにおける最先端実装よりも優れたエンドツーエンドワークロードを使用して、このアプローチの有効性を実証する。
論文 参考訳(メタデータ) (2023-04-25T05:04:44Z) - QParallel: Explicit Parallelism for Programming Quantum Computers [62.10004571940546]
並列量子プログラミングのための言語拡張を提案する。
QParallelは、現在の量子プログラミング言語における並列性に関する曖昧さを取り除く。
並列化によって最も利益を上げるサブルーチンを識別し,並列領域の配置にプログラマを誘導するツールを提案する。
論文 参考訳(メタデータ) (2022-10-07T16:35:16Z) - Enabling Retargetable Optimizing Compilers for Quantum Accelerators via
a Multi-Level Intermediate Representation [78.8942067357231]
我々は、最適化され、再ターゲット可能で、事前コンパイルが可能なマルチレベル量子古典中間表現(IR)を提案する。
ゲートベースのOpenQASM 3言語全体をサポートし、共通量子プログラミングパターンのカスタム拡張と構文の改善を提供します。
私たちの研究は、通常のPythonのアプローチよりも1000倍高速で、スタンドアロンの量子言語コンパイラよりも5~10倍高速なコンパイル時間を実現しています。
論文 参考訳(メタデータ) (2021-09-01T17:29:47Z) - StreamBlocks: A compiler for heterogeneous dataflow computing (technical
report) [1.5293427903448022]
この作業では、オープンソースのコンパイラとランタイムであるStreamBlocksを導入し、CALデータフロープログラミング言語を使用して、プラットフォーム間で計算処理を分割する。
StreamBlocksは、最高のハードウェア/ソフトウェアパーティションを特定するためのプロファイル誘導ツールを使用して、デザインスペースの探索をサポートする。
論文 参考訳(メタデータ) (2021-07-20T08:46:47Z) - Representing Partial Programs with Blended Abstract Semantics [62.20775388513027]
プログラム合成エンジンにおける部分的なプログラム表現手法について紹介する。
モジュラーニューラルネットワークとして実装された近似実行モデルを学ぶ。
これらのハイブリッドニューロシンボリック表現は、実行誘導型シンセサイザーがより強力な言語構成を使うことができることを示す。
論文 参考訳(メタデータ) (2020-12-23T20:40:18Z) - Extending C++ for Heterogeneous Quantum-Classical Computing [56.782064931823015]
qcorはC++とコンパイラの実装の言語拡張で、異種量子古典プログラミング、コンパイル、単一ソースコンテキストでの実行を可能にする。
我々の研究は、量子言語で高レベルな量子カーネル(関数)を表現できる、第一種C++コンパイラを提供する。
論文 参考訳(メタデータ) (2020-10-08T12:49:07Z) - Instead of Rewriting Foreign Code for Machine Learning, Automatically
Synthesize Fast Gradients [6.09170287691728]
本稿では,LLVMコンパイラフレームワーク用の高性能自動微分(AD)コンパイラプラグインであるEnzymeを提案する。
EnzymeはLLVM中間表現(IR)をターゲットにした任意の言語で記述されたプログラムの勾配を合成する
MicrosoftのADBenchを含む機械学習に焦点を当てたベンチマークスイートでは、最適化されたIR上のADは、IR上のAD上の4.5倍の幾何平均スピードアップを達成する。
論文 参考訳(メタデータ) (2020-10-04T22:32:51Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。