コンテンツにスキップ

LLVM

出典: フリー百科事典『ウィキペディア(Wikipedia)』
LLVM
作者 Vikram Adve, Chris Lattner
開発元 LLVM Developer Group
初版 2003年 (21年前) (2003)
最新版 18.1.8[1] ウィキデータを編集 - 2024年6月18日 (13日前)
リポジトリ ウィキデータを編集
プログラミング
言語
C++
プラットフォーム クロスプラットフォーム
種別 コンパイラ基盤
ライセンス イリノイ大学/NCSAオープンソースライセンス
LLVM例外付きApache License 2.0 (バージョン9.0.0以降[2])
公式サイト llvm.org
テンプレートを表示

LLVM LLVMLow Level Virtual Machine () [3][4]

概要

[編集]

LLVMLLVM-IRLLVM-IRLLVM-IRLLVMLLVMJIT使使JavaCILPythonJITMac OS X v10.5使OpenGL

LLVMC++Vikram AdveChris Lattner2000/NCSA[5]BSDOSI9.0.0LLVMApache License 2.0[2]

LLVM IR及びビットコード

[編集]

LLVM3

 cast 使LLVM5LLVMC++

MLIR

[編集]

MLIR (Multi-Level IR)  LLVM IR MLIRLLVM IRllvm[6]SIMD/SIMTx86x86vectoramxARMarm_neonarm_sveNVIDIA GPU (PTX) nvvmAMD GPUrocdl[7][8]

MLIROpenMPomp[9]OpenACCacc[10]CUDAOpenCLgpu[11]VulkanOpenCL使SPIR-VSPIR-V[12]

/使TOSAvectorLinalgaffineGoogleTensorFlowMHLO[1]TensorFlowGoogle JAX[13]Torch-MLIR[14]使GoogleOpenXLA[15]OpenXLATensorFlowStableHLO[16]

PyTorch 2.0TorchDynamoTorchInductor使OpenAI Triton[17]2.0MLIR[18]TritonTritonGPU使[19]

フロントエンド

[編集]

dragonegg

[編集]

LLVMGCCGCCLLVMGCC 4.6dragoneggCC++FORTRANAdaObjective-CObjective-C++Go

Clang

[編集]

LLVMCC++Objective-CObjective-C++ClangAppleClangGCCC/C++/Objective-C/Objective-C++[20]GCCObjective-C/Objective-C++退Objective-C/Objective-C++LLVM

Flang

[編集]

Flangは LLVM Project の FORTRAN コンパイラである。旧来の Flang は NVIDIA の nvfortran(元The Portland Group社のpgfortran)の派生であったが、f18プロジェクトとして開発された次世代 Flang は C++17 や MLIR などの新しい技術を採用している[21]

Torch-MLIR

[編集]

Torch-MLIR は機械学習に使われる PyTorch 向けのコンパイラとなっている。元々はnpcompであり[22]NumPyのコンパイラであった。

Polygeist

[編集]

Polygeistは旧来の LLVM IR の代わりに MLIR を用いた実験的なC/C++コンパイラである。MLIR を用いることによって多面体最適化が可能となっている[23]。C/C++からCUDAへのコンパイルも可能となっている。

標準C++ライブラリ

[編集]

GNUはlibstdc++という標準C++ライブラリを開発しているが、LLVMも独自のlibc++という標準C++ライブラリを開発している。

参照

[編集]


(一)^ "LLVM 18.1.8"; : 2024618; : 2024618.

(二)^ abLICENSE.TXT.  llvm.org. 2019924

(三)^ The LLVM Compiler Infrastructure Project. 2004532019116

(四)^ The LLVM Compiler Infrastructure Project. llvm.org. 2019116

(五)^ The University of Illinois/NCSA Open Source License (NCSA) - Open Source Initiative

(六)^ 'llvm' Dialect LLVM Project

(七)^ Composable and Modular Code Generation in MLIR p.6-7 Google 2022

(八)^ IRDL: An IR Definition Language for SSA Compilers p.206 Mathieu Fehr 2022

(九)^ 'omp' Dialect LLVM Project

(十)^ 'acc' Dialect LLVM Project

(11)^ 'gpu' Dialect LLVM Project

(12)^ SPIR-V Dialect LLVM Project

(13)^ Change log - jaxlib 0.1.76 (Jan 27, 2022) Google

(14)^ Torch-MLIR p.21 Sean SilvaAnush Elangovan 2021

(15)^ Google reveals whats next for Cloud AI VentureBeat 20221011

(16)^ Open source collaborations and key partnerships to help accelerate AI innovation Google 20221012

(17)^ PyTorch 2.0 PyTorch Foundation

(18)^ Triton - Changelog OpenAI

(19)^ Towards Agile Development of Efficient Deep Learning Operators p.41 Keren Zhou & Philippe Tillet

(20)^ New LLVM C Front-end (Steve Naroff)

(21)^ OpenMP in Flang : An Intro ARM 2022

(22)^ Torch-MLIR p.2 Sean SilvaAnush Elangovan 2021

(23)^ William S. MosesPolygeist: Raising C to Polyhedral MLIR IEEE 2021

関連項目

[編集]

外部リンク

[編集]