Trang này được dịch bởi Cloud Translation API.
Switch to English

phương ngữ MLIR

Tổng quat

Để tách phần cứng và phần mềm mục tiêu khác nhau, MLIR có “tiếng địa phương”, bao gồm:

  • TensorFlow IR, đại diện cho tất cả mọi thứ có thể trong đồ thị TensorFlow.
  • XLA HLO IR, được thiết kế để tận dụng khả năng biên soạn XLA (với sản lượng để, trong số những thứ khác, TPUs).
  • Một phương ngữ affine thực nghiệm, trong đó tập trung vào cơ quan đại diện đa diện và tối ưu hóa.
  • LLVM IR, trong đó có một 1: lập bản đồ 1 giữa nó và đại diện riêng LLVM của, cho phép MLIR phát ra GPU và mã CPU thông qua LLVM.
  • TensorFlow Lite, mà sẽ dịch để chạy mã trên nền tảng di động.

Mỗi phương ngữ bao gồm một tập hợp các hoạt động được xác định có bất biến đặt trên họ, như: “Đây là một nhà điều hành nhị phân, và các đầu vào và đầu ra có các loại tương tự.”

Thêm vào MLIR

MLIR đã không cố định / xây dựng trong danh sách các hoạt động nổi tiếng trên toàn cầu (không có “intrinsics”). Tiếng địa phương có thể định nghĩa hoàn toàn loại tùy chỉnh, đó là cách MLIR có thể mô hình những thứ như hệ thống kiểu LLVM IR (trong đó có uẩn hạng nhất), trừu tượng miền quan trọng đối với tăng tốc ML-tối ưu hóa như các loại lượng tử, và thậm chí cả hệ thống loại Swift hay Clang (mà được xây dựng xung quanh các nút khai Swift / Clang) trong tương lai.

Nếu bạn muốn kết nối một trình biên dịch ở mức thấp mới, bạn sẽ tạo ra một phương ngữ mới và lowerings giữa phương ngữ TensorFlow Graph và phương ngữ của bạn. Đây smooths con đường cho các nhà sản xuất phần cứng và trình biên dịch. Bạn thậm chí có thể nhắm mục tiêu tiếng địa phương ở các cấp độ khác nhau trong cùng một mô hình; các tối ưu cấp cao hơn sẽ tôn trọng những phần quen thuộc của IR và chờ đợi một mức độ thấp hơn để xử lý nó.