Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

MLIR

Gambaran

MLIR, atau Multi-Level Menengah Representasi, adalah format representasi dan perpustakaan utilitas compiler yang berada di antara model representasi dan tingkat rendah compiler / pelaksana yang menghasilkan kode khusus perangkat keras.

MLIR adalah, pada intinya, infrastruktur yang fleksibel untuk compiler mengoptimalkan modern. cara ini terdiri dari spesifikasi untuk representasi intermediate (IR) dan toolkit kode untuk melakukan transformasi representasi itu. (Dalam compiler bahasa, saat Anda bergerak dari representasi-tingkat yang lebih tinggi untuk menurunkan tingkat representasi, transformasi ini bisa disebut “lowerings”)

MLIR sangat dipengaruhi oleh LLVM dan tanpa malu-malu menggunakan kembali banyak ide-ide besar dari itu. Memiliki sistem tipe fleksibel, dan memungkinkan mewakili, menganalisa dan mengubah grafik menggabungkan beberapa tingkat abstraksi dalam unit kompilasi yang sama. abstraksi ini termasuk operasi TensorFlow, bersarang daerah lingkaran polyhedral, dan instruksi bahkan LLVM dan operasi hardware tetap dan jenis.

Kami berharap MLIR menjadi menarik bagi banyak kelompok, termasuk:

  • peneliti compiler dan pelaksana mencari untuk mengoptimalkan kinerja dan konsumsi memori pembelajaran mesin model
  • pembuat perangkat keras mencari cara untuk menghubungkan perangkat keras mereka untuk TensorFlow, seperti TPUs, hardware saraf portabel di telepon, dan Asics kustom lainnya
  • Orang menulis binding bahasa yang ingin mengambil keuntungan dari mengoptimalkan kompiler dan akselerasi hardware.

Ekosistem TensorFlow berisi sejumlah kompiler dan pengoptimalan yang beroperasi pada beberapa tingkat perangkat lunak dan perangkat keras stack. Kami berharap adopsi bertahap MLIR untuk menyederhanakan setiap aspek dari tumpukan ini.

MLIR ikhtisar diagram