이 도움말에서는 Google 게시자 태그 구현 및 검토를 위한 가이드라인을 통역해 줍니다. 의도적으로 몇 가지 보조 작업을 포함했습니다. 확인자 및 유형 추론과 관련된 항목이 포함됩니다. 인터프리터 구현과 함께 이러한 측면의 작업을 진행합니다.
오퍼레이션을 구현하는 동안
- 테스트 전략을 명시적으로 서면 (PR 설명에 포함)합니다. 다음과 유사: this를 사용하려면 검증 및 유형 추론을 검토하는 동안 참조로 사용합니다. 메서드, 해당 테스트가 포함됩니다. 검토자는 할 수 있습니다.
- 컨설트 hlo_evaluator 까다로운 구현 세부정보와 잠재적인 기능 격차를 파악할 수 있습니다.
- 버그가 발견되면 해당 소프트웨어 구성요소에 대한 티켓을 제출합니다. 문제가 있을 수 있습니다
오퍼레이션을 구현한 후
-
- 작업 ODS의
summary
가 표준 형식을 따르는지 확인합니다. (관련 티켓) 다음에서 제약 조건 라벨 (예:
Cn
또는In
)을 참조하는 주석을 추가합니다. 작업XyzOp
에 대한xyz_cn
또는xyz_in
형식의 사양으로, ODS의 제약 조건과 사양 간의 대응 관계를 나타냅니다. 이 다음 예시에서는 제약조건 라벨을 주석으로 추가하는 방법을 보여줍니다. MLrTraits
및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*/ .... ); );
- 작업 ODS의
TypeInference.cpp에서 및 StablehloOps.cpp:
- '다음 속성을 확인하세요. ..."를 선택합니다.
- 다음에서 제약 조건 라벨 (예:
Cn
또는In
)을 참조하는 주석을 추가합니다. 작업XyzOp
의 경우xyz_cn
또는xyz_in
형식의 사양으로, 검증자 및 형태 함수의 어떤 부분이 해당하는가 제약 조건을 기준으로 지정할 수 있습니다- 제약 조건 라벨이 여러 개인 코멘트가 있거나
동일한 제약조건 라벨이 있는 댓글이 여러 개 있습니다. 모든 것은
제약 조건이 구현되는 방식을 정의합니다. 연속적인 제약 조건이 있는 경우
xyz_cn...xyz_cm, xyz_in...xyz_jn
로 압축합니다. - 구현 VS와 사양의 구현과 비교하면 해당 불일치를 반영한 미해결 문제가 있습니다.
- 제약 조건 라벨이 여러 개인 코멘트가 있거나
동일한 제약조건 라벨이 있는 댓글이 여러 개 있습니다. 모든 것은
제약 조건이 구현되는 방식을 정의합니다. 연속적인 제약 조건이 있는 경우
-
<op_mnemonic>.mlir
라는 파일을 추가합니다.- 테스트 가이드라인에 따라 테스트를 작성합니다.
testdata 디렉터리에서 다음을 실행합니다.
- 새로 추가된 작업이 적용되는 사용 중지된 테스트를 실행합니다.
- 테스트를 통과하면
RUN-DISABLED
를RUN
로 변환하여 테스트를 사용 설정합니다. - 정밀도 불일치 이외의 이유로 테스트가 실패하면 구현/테스트입니다.
- 정밀도 불일치의 경우 테스트에
RUN-DISABLED(#1278)
태그를 지정합니다( 아직 완료되지 않은 것입니다.
-
- 각각에 대해 적어도 하나의 테스트 (양성 또는 음성)가 있어야 합니다. 인증자 및 유형 추론 메서드의 제약 조건 제약 조건 검사에서 제외됩니다. 이 테스트는 대부분 음성 결과이며 제약 조건이 충족되지 않거나 양성인지 여부를 테스트하고 올바른 모양임을 알 수 있습니다.
- 테스트 중인 작업과 관련된 모든 테스트가 배치되었는지 확인합니다. 있습니다.
- 테스트 중인 작업과 관련된 모든 테스트가
앞에
CHECK-LABEL
조명 매크로가 추가됩니다. - 다음 형식을 사용하여 테스트의 함수 이름을 선택합니다.
함수 테스트 제약 조건
Cn
,Im
의 경우xyz_cn_im_...
작업XyzOp
등 제안된 형식이 적용하고 기존 이름을 유지합니다. - 위 단계가 완료되면 오퍼레이션과 관련된 모든 테스트를 정렬합니다. 알파벳 순으로 표시됩니다.
- ccov 작업의 범위가 90% 이상임
-
- 셰이프 추론 테스트와 관련된 모든 제약 조건이 있는지 확인합니다. 을 이 파일에 추가해야 합니다.
- 모든 형상 추론 테스트를 ops_stablehlo.mlir에서 이동합니다. 파일을 이 파일에 넣으세요.
spec.md에서:
-
- '통역 모드' 업데이트 열을
yes
로 변경합니다.
- '통역 모드' 업데이트 열을