ในเอกสารนี้ เราได้สรุปหลักเกณฑ์ในการใช้งานและตรวจสอบ op สำหรับล่าม เราได้ใส่การดำเนินการเสริมบางอย่างโดยเจตนา รายการที่เกี่ยวกับผู้ตรวจสอบและการอนุมานประเภท โดยมีแนวคิดในการดำเนินการ ในด้านดังกล่าวควบคู่ไปกับการใช้ล่าม
ขณะใช้งานการดำเนินการ
- ระบุกลยุทธ์การทดสอบเป็นลายลักษณ์อักษรอย่างชัดเจน (ในคำอธิบายด้านการประชาสัมพันธ์) คล้ายกับ this ให้ใช้ เป็นข้อมูลอ้างอิงขณะตรวจสอบการยืนยันและการอนุมานประเภท และการทดสอบที่เกี่ยวข้อง ผู้ตรวจสอบจะตรวจสอบอีกครั้งว่า คำอธิบายมีความครอบคลุม
- ปรึกษา hlo_evaluator เพื่อระบุรายละเอียดการใช้งานที่ซับซ้อนและช่องโหว่ของฟังก์ชันที่อาจเกิดขึ้น
- ส่งคำขอรับคอมโพเนนต์ซอฟต์แวร์ที่เกี่ยวข้องหากพบข้อบกพร่อง หรือไม่มีฟังก์ชันการทำงาน
หลังจากใช้การดำเนินการ
ใน StablehloOps.td ให้ทำดังนี้
- โปรดตรวจสอบว่า
summary
ในหน่วยงานไกล่เกลี่ยข้อพิพาทนอกศาลเป็นไปตามรูปแบบมาตรฐาน (ตั๋วที่เกี่ยวข้อง) เพิ่มความคิดเห็นโดยอ้างอิงป้ายกำกับข้อจำกัด (เช่น
Cn
หรือIn
) จากแท็ก ในรูปแบบxyz_cn
หรือxyz_in
สำหรับการดำเนินการXyzOp
เพื่อระบุ ความสอดคล้องระหว่างข้อจำกัดในหน่วยงานไกล่เกลี่ยข้อพิพาทนอกศาลและตามข้อกำหนด ตัวอย่างต่อไปนี้แสดงวิธีเพิ่มป้ายกำกับข้อจำกัดเป็นความคิดเห็น พร้อมกับ mlirTraits
และTypeConstraints
หมายเหตุxyz_c4
หมายถึง ข้อจำกัดที่กำหนดไว้ในคลาสStableHLO_FooOp
(เช่นStableHLO_ShapedInterfaceOp
StableHLO_UnaryElementwiseOp
StableHLO_Op
ฯลฯ)def StableHLO_XyzOp: StableHLO_FooOp<"xyz", [Trait1, Trait2 /*xyz_c1, xyz_c2*/, InferTensorType /*xyz_c3*/]> { /*xyz_c4*/ ... let summary = "Xyz operation"; let arguments = (ins 1DTensorOf<[HLO_Float]>:$a, /*xyz_c5, xyz_i1*/ HLO_Tensor:$b, /*xyz_i2*/ .... ); );
- โปรดตรวจสอบว่า
ใน TypeInference.cpp และ StablehloOps.cpp
- ลบความคิดเห็นที่มีคำอธิบาย เช่น "ยืนยันพร็อพเพอร์ตี้ต่อไปนี้ ..."
- เพิ่มความคิดเห็นโดยอ้างอิงป้ายกำกับข้อจำกัด (เช่น
Cn
หรือIn
) จากแท็ก ข้อมูลจำเพาะในรูปแบบxyz_cn
หรือxyz_in
สำหรับการดำเนินการXyzOp
เพื่อระบุ ว่าส่วนใดของตัวยืนยันและฟังก์ชันรูปร่างสอดคล้องกับ ในข้อกำหนด- คุณสามารถมีความคิดเห็นที่มีป้ายกำกับข้อจำกัดหลายป้าย หรือให้มี
ความคิดเห็นหลายรายการที่มีป้ายกำกับข้อจำกัดเดียวกัน ทั้งหมดขึ้นอยู่กับ
วิธีนำข้อจำกัดมาใช้ หากมีข้อจำกัดติดต่อกัน
ย่อเป็น
xyz_cn...xyz_cm, xyz_in...xyz_jn
- ในกรณีที่มีความคลาดเคลื่อนระหว่างข้อจำกัดใน เทียบกับการใช้งานในข้อกำหนด ปัญหาแบบเปิดที่สะท้อนถึง ความคลาดเคลื่อนดังกล่าว
- คุณสามารถมีความคิดเห็นที่มีป้ายกำกับข้อจำกัดหลายป้าย หรือให้มี
ความคิดเห็นหลายรายการที่มีป้ายกำกับข้อจำกัดเดียวกัน ทั้งหมดขึ้นอยู่กับ
วิธีนำข้อจำกัดมาใช้ หากมีข้อจำกัดติดต่อกัน
ย่อเป็น
-
- เพิ่มไฟล์ชื่อ
<op_mnemonic>.mlir
- เขียนการทดสอบโดยทำตามหลักเกณฑ์การทดสอบ
- เพิ่มไฟล์ชื่อ
ในไดเรกทอรี testdata ให้ดำเนินการดังนี้
- เรียกใช้การทดสอบที่ปิดใช้ซึ่งครอบคลุมโดยการดำเนินการที่เพิ่มเข้ามาใหม่
- หากผ่านการทดสอบ ให้เปิดใช้โดยแปลง
RUN-DISABLED
เป็นRUN
- หากการทดสอบไม่สำเร็จด้วยเหตุผลบางประการนอกเหนือจากความแม่นยําที่ไม่ตรงกัน ให้แก้ไข การใช้งาน/การทดสอบ
- สำหรับความถูกต้องแม่นยำของข้อมูลที่ไม่ตรงกัน ให้ติดแท็กการทดสอบด้วย
RUN-DISABLED(#1278)
(หาก ยังไม่ได้ทำ)
-
- ตรวจสอบว่ามีการทดสอบอย่างน้อย 1 รายการ (เชิงบวกหรือเชิงลบ) ต่อแต่ละรายการ ในตัวแปรยืนยันและวิธีการอนุมานประเภท ข้อจำกัด หน่วยงานไกล่เกลี่ยข้อพิพาทนอกศาลจะไม่ได้รับการทดสอบ การทดสอบเหล่านี้ส่วนใหญ่จะเป็นค่าลบ การทดสอบว่าไม่เป็นไปตามข้อจำกัดหรือไม่เป็นไปตามข้อกำหนด การทดสอบว่าฟังก์ชัน รูปร่างที่อนุมานได้ถูกต้อง
- ตรวจสอบว่าคุณทำการทดสอบทั้งหมดที่เกี่ยวข้องกับการดำเนินการภายใต้การทดสอบ
- ตรวจสอบว่าการทดสอบทั้งหมดที่เกี่ยวข้องกับการดำเนินการที่อยู่ภายใต้การทดสอบนั้น
ใส่มาโครที่มีไฟ
CHECK-LABEL
ไว้ด้านหน้า - เลือกชื่อฟังก์ชันของการทดสอบโดยใช้รูปแบบ
xyz_cn_im_...
สำหรับข้อจำกัดการทดสอบฟังก์ชันCn
,Im
, ฯลฯ สำหรับ opXyzOp
ในกรณีที่รูปแบบที่เสนอไม่ ที่ถูกต้อง และเก็บชื่อเดิมไว้ - เมื่อขั้นตอนข้างต้นเสร็จสมบูรณ์แล้ว ให้จัดเรียงการทดสอบทั้งหมดที่เกี่ยวข้องกับการดำเนินการ ภายใต้การทดสอบตามตัวอักษรตามชื่อฟังก์ชัน
- เพิ่มการทดสอบไปเรื่อยๆ จนกว่า ccov แสดงการครอบคลุมการใช้จ่ายมากกว่า 90%
-
- ตรวจสอบว่ามีข้อจำกัดทั้งหมดที่เกี่ยวข้องกับการทดสอบการอนุมานรูปร่าง ในไฟล์นี้ โดยใช้หลักเกณฑ์การตั้งชื่อเดียวกันกับที่ระบุไว้ข้างต้น
- ย้ายการทดสอบการอนุมานรูปร่างใดก็ได้จาก ops_stablehlo.mlir ลงในไฟล์นี้
ใน spec.md
- เพิ่มลิงก์ไปยัง
stablehlo/tests/interpret/<op_mnemonic>.mlir
"ตัวอย่าง" ส่วน (เช่น ตัวอย่างเพิ่มเติม) - โปรดตรวจสอบว่าข้อมูลจำเพาะมีตัวอย่างเพียง 1 รายการ
- ตรวจสอบว่าตัวอย่างข้อมูลจำเพาะเป็นไปตามหลักเกณฑ์การทดสอบ
- ตรวจสอบว่าตัวอย่างการทดสอบข้อมูลจำเพาะตีความได้
- โปรดตรวจสอบว่าตัวอย่างข้อมูลจำเพาะเหมือนกับที่ระบุในเอกสารการไกล่เกลี่ยข้อพิพาทนอกศาล
- เพิ่มลิงก์ไปยัง
ใน status.md ให้ทำดังนี้
- อัปเดต "ล่าม" ลงใน
yes
- อัปเดต "ล่าม" ลงใน