Danh sách kiểm tra thông số kỹ thuật StableHLO

Trong tài liệu này, chúng tôi tóm tắt các nguyên tắc xem xét thay đổi đối với quy cách. Hiện tại, những thay đổi này thường liên quan đến việc kiểm tra nhiều thứ ở nhiều nguồn. Vì vậy, tài liệu này tóm tắt tất cả để đơn giản hoá quá trình xem xét:

  1. Kiểm tra để đảm bảo cột "Specification" (Thông số kỹ thuật) trong status.md cho thấy "yes" (có).
  2. Kiểm tra xem tiêu đề của mục có khớp với gợi nhớ của tác vụ trong ODS hay không.
  3. Kiểm tra xem phần "Ngữ nghĩa" có khớp với Ngữ nghĩa hoạt động của XLA hay không.
  4. Kiểm tra xem các phần "Inputs" (Đầu vào) và "Outputs" (Đầu ra) có phải không:
    1. Liệt kê các mục giống với ODS.
    2. Liệt kê các mục tương tự như HloInstruction::CreateFromProto.
    3. Được sắp xếp giống hệt như ODS.
    4. Nếu có bất kỳ thông tin nào không khớp, hãy kiểm tra xem có vé tương ứng hay không.
  5. Kiểm tra xem phần "Hạn chế":
    1. Khớp với shape_inference.cc của XLA.
    2. Khớp với hlo_verifier.cc của XLA.
    3. Khớp với ODS.
    4. Khớp với StablehloOps.cpp.
    5. Nếu có bất kỳ thông tin nào không khớp, hãy kiểm tra xem có vé tương ứng hay không. Liên kết tất cả các phiếu yêu cầu hỗ trợ đó trong thông số kỹ thuật, ở những vị trí càng cụ thể càng tốt (ví dụ: nếu một phiếu yêu cầu hỗ trợ về một quy tắc ràng buộc chưa được triển khai, hãy liên kết phiếu yêu cầu hỗ trợ ngay trong quy tắc ràng buộc đó).
    6. Nếu các phần tương ứng của ODS và StablehloOps.cpp khớp với thông số kỹ thuật, hãy kiểm tra để đảm bảo các cột "Xác minh" và "Dự đoán kiểu dữ liệu" trong status.md có nội dung là "yes" (có).
  6. Kiểm tra xem phần "Ví dụ":
    1. Chỉ có một ví dụ. (Trong tương lai, chúng tôi sẽ liên kết đến nhiều ví dụ hơn từ bộ kiểm thử phiên dịch StableHLO).
    2. Sử dụng cú pháp MLIR hợp lệ bằng cách chạy stablehlo-opt trên các ví dụ về mã.
    3. Sử dụng cú pháp MLIR chung có thể lấy được bằng cách chạy stablehlo-opt -mlir-print-op-generic (chúng ta sử dụng cú pháp chung trong quy cách để tránh phải thay đổi thông số kỹ thuật khi thay đổi prettyprinter).
  7. Kiểm tra để đảm bảo description trong ODS của tác vụ:
    1. Bao gồm câu đầu tiên của thông số kỹ thuật.
    2. Sau đó, liên kết đến phần tương ứng trong thông số kỹ thuật.
    3. Sau đó, sử dụng ví dụ tương tự như thông số kỹ thuật nhưng thông qua cú pháp đẹp có thể lấy được bằng cách chạy stablehlo-opt.
  8. Kiểm tra để đảm bảo các tệp liên quan đến việc triển khai quy trình xác minh và hạn chế suy luận kiểu dữ liệu đều tuân theo các nguyên tắc nêu dưới đây:
    1. Làm theo nguyên tắc #1 đối với StablehloOps.td.
    2. Làm theo nguyên tắc #2 dành cho TypeInference.cppStablehloOps.cpp.
    3. Làm theo nguyên tắc #5 đối với ops_stablehlo.mlir.
    4. Làm theo nguyên tắc #6 đối với infer_stablehlo.mlir.