इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

MLIR

अवलोकन

MLIR, या मल्टी-लेवल इंटरमीडिएट रिप्रेजेंटेशन, कंपाइलर यूटिलिटीज का एक प्रतिनिधित्व प्रारूप और लाइब्रेरी है, जो मॉडल-प्रतिनिधित्व और निम्न-स्तरीय कंपाइलरों / निष्पादकों के बीच बैठता है जो हार्डवेयर-विशिष्ट कोड उत्पन्न करते हैं।

MLIR, इसके दिल में, आधुनिक अनुकूलन संकलक के लिए एक लचीला बुनियादी ढांचा है। इसका मतलब यह है कि इसमें मध्यवर्ती प्रतिनिधित्व (IR) के लिए एक विनिर्देश और उस प्रतिनिधित्व पर रूपांतरण करने के लिए एक कोड टूलकिट शामिल है। (कंपाइलर पार्लेंस में, जैसा कि आप उच्च-स्तरीय अभ्यावेदन से निचले-स्तर के अभ्यावेदन में जाते हैं, इन परिवर्तनों को "लोअरिंग्स" कहा जा सकता है)

MLIR LLVM से अत्यधिक प्रभावित है और इससे कई महान विचारों को अनभिज्ञता से पुन: उपयोग करता है। इसकी एक लचीली प्रकार प्रणाली है, और एक ही संकलन इकाई में अमूर्त के कई स्तरों के संयोजन के ग्राफ का प्रतिनिधित्व, विश्लेषण और रूपांतरण की अनुमति देता है। इन सार में TensorFlow संचालन, नेस्टेड पॉलीहेडल लूप क्षेत्र और यहां तक ​​कि LLVM निर्देश और निश्चित हार्डवेयर संचालन और प्रकार शामिल हैं।

हम उम्मीद करते हैं कि MLIR कई समूहों के लिए रुचिकर होगा, जिनमें शामिल हैं:

  • कंपाइलर शोधकर्ता और कार्यान्वयनकर्ता मशीन लर्निंग मॉडल के प्रदर्शन और मेमोरी खपत को अनुकूलित करना चाहते हैं
  • हार्डवेयर निर्माता अपने हार्डवेयर को TensorFlow से कनेक्ट करने का एक तरीका खोज रहे हैं, जैसे कि TPU, फोन में पोर्टेबल न्यूरल हार्डवेयर और अन्य कस्टम ASIC
  • भाषा बाइंडिंग लिखने वाले लोग जो कंपाइलर और हार्डवेयर त्वरण के अनुकूलन का लाभ उठाना चाहते हैं।

TensorFlow इकोसिस्टम में कई कंपाइलर और ऑप्टिमाइज़र होते हैं जो सॉफ्टवेयर और हार्डवेयर स्टैक के कई स्तरों पर काम करते हैं। हम इस स्टैक के हर पहलू को सरल बनाने के लिए MLIR के क्रमिक अपनाने की उम्मीद करते हैं।

MLIR अवलोकन आरेख