หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

ภาษา MLIR

ภาพรวม

ในการแยกเป้าหมายฮาร์ดแวร์และซอฟต์แวร์ที่แตกต่างกัน MLIR มี "ภาษาถิ่น" รวมถึง:

  • TensorFlow IR ซึ่งแสดงถึงทุกสิ่งที่เป็นไปได้ในกราฟ TensorFlow
  • XLA HLO IR ซึ่งถูกออกแบบมาเพื่อใช้ประโยชน์จากความสามารถในการรวบรวมของ XLA (ด้วยการส่งออกไปยัง TPU อื่น ๆ )
  • ภาษาเลียนแบบการทดลองซึ่งมุ่งเน้นไปที่การนำ เสนอ และการปรับให้เหมาะสม
  • LLVM IR ซึ่งมีการแมป 1: 1 ระหว่างมันกับการเป็นตัวแทนของ LLVM ทำให้ MLIR สามารถปล่อย GPU และรหัส CPU ผ่าน LLVM
  • TensorFlow Lite ซึ่งจะแปลเป็นรหัสที่ทำงานบนแพลตฟอร์มมือถือ

แต่ละภาษาประกอบด้วยชุดของการดำเนินการที่กำหนดไว้ซึ่งมีค่าคงที่เช่น:“ นี่คือตัวดำเนินการไบนารีและอินพุตและเอาต์พุตมีชนิดเดียวกัน”

กำลังเพิ่มใน MLIR

MLIR ไม่มีรายการคงที่ / ภายในของการดำเนินการที่รู้จักทั่วโลก (ไม่มี "อินทริน") ภาษาท้องถิ่นสามารถกำหนดประเภทที่กำหนดเองทั้งหมดซึ่งเป็นวิธีที่ MLIR สามารถสร้างแบบจำลองสิ่งต่างๆเช่นระบบประเภท LLVM IR (ซึ่งมีการรวมกลุ่มชั้นหนึ่ง), โดเมนที่สำคัญสำหรับการเร่งความเร็ว ML ที่เหมาะสมที่สุดเช่นประเภทควอนตัมและแม้แต่ระบบประเภท Swift หรือ Clang ถูกสร้างขึ้นรอบ ๆ โหนดการประกาศของ Swift / Clang) ในอนาคต

หากคุณต้องการเชื่อมต่อคอมไพเลอร์ระดับต่ำใหม่คุณจะสร้างภาษาใหม่และลดระดับเสียงระหว่างภาษา TensorFlow กราฟและภาษาของคุณ วิธีนี้ทำให้เส้นทางสำหรับผู้ผลิตฮาร์ดแวร์และคอมไพเลอร์ราบรื่น คุณสามารถกำหนดเป้าหมายภาษาถิ่นในระดับที่แตกต่างกันในรุ่นเดียวกัน เครื่องมือเพิ่มประสิทธิภาพระดับสูงจะเคารพชิ้นส่วนที่ไม่คุ้นเคยของ IR และรอระดับที่ต่ำกว่าเพื่อจัดการ