이 문서에서는 사양 변경사항을 검토하기 위한 가이드라인을 요약합니다. 현재 이러한 변경에는 일반적으로 여러 소스에서 여러 항목을 확인해야 하므로 이 문서에서는 검토를 간소화하기 위해 모든 항목을 요약합니다.
- status.md의 '사양' 열에 '예'라고 표시되는지 확인합니다.
- 섹션 제목이 ODS에서 작업의 연상 기호와 일치하는지 확인합니다.
- '시맨틱' 섹션이 XLA의 작업 시맨틱스와 일치하는지 확인합니다.
- '입력' 및 '출력' 섹션이 다음 상태인지 확인합니다.
- ODS와 동일한 항목을 나열합니다.
- HloDirection::CreateFromProto와 동일한 항목을 나열합니다.
- ODS와 동일하게 주문됩니다.
- 불일치가 있는 경우 해당하는 티켓이 있는지 확인합니다.
- 'Constraints' 섹션이 다음과 같은 상태인지 확인합니다.
- XLA의 shape_inference.cc와 일치합니다.
- XLA의 hlo_verifier.cc와 일치합니다.
- ODS와 일치합니다.
- StablehloOps.cpp와 일치합니다.
- 불일치가 있는 경우 해당하는 티켓이 있는지 확인합니다. 가능한 한 구체적인 위치에서 사양에 있는 모든 티켓을 연결합니다. 예를 들어 구현되지 않은 제약조건에 관한 티켓인 경우 해당 제약조건에서 바로 티켓을 연결합니다.
- ODS 및 StablehloOps.cpp의 상응하는 부분이 사양과 일치하면 status.md의 '인증' 및 '유형 추론' 열이 '예'라고 표시되는지 확인합니다.
- '예시' 섹션에 다음 내용이 있는지 확인합니다.
- 예시가 1개만 있습니다. (이후에는 StableHLO 인터프리터 테스트 모음의 더 많은 예를 링크할 예정입니다.)
- 코드 예시에서
stablehlo-opt
를 실행하여 유효한 MLIR 구문을 사용합니다. stablehlo-opt -mlir-print-op-generic
를 실행하여 얻을 수 있는 일반 MLIR 구문을 사용합니다. Prettyprinter 변경 시 사양을 변경할 필요가 없도록 사양의 일반 구문을 고수합니다.
- 작업의 ODS에서
description
를 확인합니다.- 사양의 첫 번째 문장이 포함됩니다.
- 그런 다음 사양의 해당 섹션으로 연결됩니다.
- 그런 다음 사양과 동일한 예를 사용하지만
stablehlo-opt
를 실행하여 얻을 수 있는 Pretty 구문을 통해 사용합니다.
- 인증 및 유형 추론 제약 조건 구현과 관련된 파일이 아래 언급된 가이드라인을 준수하는지 확인합니다.
- StablehloOps.td 가이드라인 1을 따릅니다.
- TypeInference.cpp 및 StablehloOps.cpp는 가이드라인 #2를 따릅니다.
- ops_stablehlo.mlir의 경우 가이드라인 #5를 따르세요.
- infer_stablehlo.mlir의 경우 가이드라인 #6을 따르세요.