EnzymeAD/Enzyme.jl

Julia bindings for the Enzyme automatic differentiator

What it solves

Enzymeは、複雑なソフトウェアに対して効率的に勾配を計算(自動微分)する問題を解決するために設計されています。高性能言語で書かれた関数の導関数を計算することを可能にし、機械学習や科学計算タスクのためにコードを書き直す必要がなくなります。

How it works

LLVMのプラグインとして動作するため、LLVMのコンパイラ中間表現(IR)上で自動微分を行います。最適化されたコードに対して微分を行うことで、最先端の AD ツールと比較して同等、あるいはそれ以上の性能を実現できます。 n## Who it's for

このプロジェクトは、JuliaやLLVMベースの言語を使用している開発者や、機械学習や高性能計算 (HPC) の研究者・開発者で、既存のコードベースに対して高速で効率的な勾配を計算する必要がある人々を対象としています。

Highlights

  • 高性能な自動微分を実現
  • 最適化されたコードを微分するための LLVM プラグインアーキテクチャ
  • リバースモード自動微分をサポート
  • GPU カーネルおよび高性能計算環境向けに最適化済み

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト