論文の概要: A High-level Synthesis Toolchain for the Julia Language
- arxiv url: http://arxiv.org/abs/2512.15679v1
- Date: Wed, 17 Dec 2025 18:32:06 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-12-18 17:06:27.101912
- Title: A High-level Synthesis Toolchain for the Julia Language
- Title(参考訳): ユリア語のための高レベル合成ツールチェーン
- Authors: Benedict Short, Ian McInerney, John Wickerson,
- Abstract要約: 本稿では,Juliaプログラミング言語で記述されたカーネルをSystemVerilogに自動コンパイルすることで,開発プロセスを統一するMLIRベースのコンパイラツールチェーンを提案する。
我々のツールチェーンは動的および静的なスケジューリングをサポートし、AXI4-Streamプロトコルと直接統合し、ベンダーに依存しないRTLを生成する。
このプロトタイプツールチェーンは、実際のFPGAデバイス上で100MHzで動作する一連の信号処理/数学的ベンチマークを合成することができる。
- 参考スコア(独自算出の注目度): 1.7995266833057173
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: With the push towards Exascale computing and data-driven methods, problem sizes have increased dramatically, increasing the computational requirements of the underlying algorithms. This has led to a push to offload computations to general purpose hardware accelerators such as GPUs and TPUs, and a renewed interest in designing problem-specific accelerators using FPGAs. However, the development process of these problem-specific accelerators currently suffers from the "two-language problem": algorithms are developed in one (usually higher-level) language, but the kernels are implemented in another language at a completely different level of abstraction and requiring fundamentally different expertise. To address this problem, we propose a new MLIR-based compiler toolchain that unifies the development process by automatically compiling kernels written in the Julia programming language into SystemVerilog without the need for any additional directives or language customisations. Our toolchain supports both dynamic and static scheduling, directly integrates with the AXI4-Stream protocol to interface with subsystems like on- and off-chip memory, and generates vendor-agnostic RTL. This prototype toolchain is able to synthesize a set of signal processing/mathematical benchmarks that can operate at 100MHz on real FPGA devices, achieving between 59.71% and 82.6% of the throughput of designs generated by state-of-the-art toolchains that only compile from low-level languages like C or C++. Overall, this toolchain allows domain experts to write compute kernels in Julia as they normally would, and then retarget them to an FPGA without additional pragmas or modifications.
- Abstract(参考訳): Exascaleコンピューティングとデータ駆動方式の推進により、問題のサイズが劇的に増加し、基礎となるアルゴリズムの計算要求が増加した。
これにより、GPUやTPUといった汎用ハードウェアアクセラレータへの計算のオフロードが推進され、FPGAを使った問題固有のアクセラレータの設計への新たな関心が高まった。
アルゴリズムは1つの(通常は高レベルな)言語で開発されるが、カーネルは完全に異なる抽象レベルで実装され、根本的に異なる専門知識を必要とする。
そこで本稿では,Julia プログラミング言語で記述されたカーネルを SystemVerilog に自動コンパイルすることで開発プロセスを統一する MLIR ベースのコンパイラツールチェーンを提案する。
我々のツールチェーンは動的および静的なスケジューリングの両方をサポートし、AXI4-Streamプロトコルと直接統合してオンチップメモリやオフチップメモリなどのサブシステムとインターフェースし、ベンダーに依存しないRTLを生成する。
このプロトタイプツールチェーンは、CやC++のような低レベル言語からしかコンパイルできない最先端のツールチェーンによって生成される設計のスループットの59.71%から82.6%を達成し、実際のFPGAデバイス上で100MHzで動作する一連の信号処理/数学的ベンチマークを合成することができる。
全体として、このツールチェーンにより、ドメインの専門家はJuliaで通常通り計算カーネルを記述し、追加のプラグマや修正なしにFPGAに再ターゲティングすることができる。
関連論文リスト
- Understanding Accelerator Compilers via Performance Profiling [1.1841612917872066]
アクセラレータ設計言語(ADL)は、ハードウェアユニットにコンパイルされるハイレベル言語である。
Petalは、コンパイラの判断がパフォーマンスにどのように影響するかを理解するための、サイクルレベルのツールです。
その結果,Petalのサイクルレベルのプロファイルは,既存の設計における性能問題を特定することができることがわかった。
論文 参考訳(メタデータ) (2025-11-24T22:40:11Z) - Hardware.jl - An MLIR-based Julia HLS Flow (Work in Progress) [1.2152813244704233]
われわれはJulia言語のための再利用可能なエンドツーエンドのコンパイラツールチェーンを開発している。
これにより、Juliaソースコードを自動的に高性能なVerilogに合成することで、アクセラレータとアルゴリズムの開発を統一する。
論文 参考訳(メタデータ) (2025-03-12T15:12:12Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - Evaluation of OpenAI Codex for HPC Parallel Programming Models Kernel
Generation [1.7646846505225735]
高性能コンピューティングにおける基本数値カーネル上でのAI支援生成能力の評価を行った。
生成したカーネルコードを様々な言語対応プログラミングモデルでテストする。
本稿では,各プロンプトに対して与えられた10のプロンプトに関する習熟度尺度を提案する。
論文 参考訳(メタデータ) (2023-06-27T00:11:31Z) - 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) - 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) - UNIT: Unifying Tensorized Instruction Compilation [11.193044425743981]
ハードウェアベンダは、Intel VNNI、Core、ARM-DOTなどの混合精度操作に対して、テンソル化命令を提供する。
これに対するコンパイルテクニックの欠如は、これらの命令の活用を困難にしている。
これらの命令のコンパイルを統一するコンパイラフレームワークを開発する。
論文 参考訳(メタデータ) (2021-01-21T06:22:58Z) - Extending C++ for Heterogeneous Quantum-Classical Computing [56.782064931823015]
qcorはC++とコンパイラの実装の言語拡張で、異種量子古典プログラミング、コンパイル、単一ソースコンテキストでの実行を可能にする。
我々の研究は、量子言語で高レベルな量子カーネル(関数)を表現できる、第一種C++コンパイラを提供する。
論文 参考訳(メタデータ) (2020-10-08T12:49:07Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。