본문 바로가기

AI Compiler Generator

연산자들에 대해 미리 정의된 구조 정보 정의 및 조회 출력하는 초기 구조 해석기 operator analyzer 구현

현재 작업 내용 정리

1. 현재 구현된 것

연산자를 입력으로 받아, 해당 연산자에 대해 미리 정의된 구조 정보를 조회하고 출력하는 초기 구조 해석기(operator analyzer) 를 구현했음

현재 구성된 파일

execution-structure-lab/
├─ computation-structure/
│  └─ registry.py
├─ examples/
│  └─ operator_specs.json
└─ scripts/
   └─ analyze_operator.py

각 파일의 역할

computation-structure / registry.py

연산자별 구조 정보를 등록하는 레지스트리,

현재는 세 개의 연산자 지원

  • reduction_sum
  • softmax
  • layernorm

각 연산자에 대해 아래 정보를 정의한다

  • computation_structure
  • preservation_classes
  • possible_primitives
  • summary

가장 작은 형태의 구조 지식 베이스 역할

 

examples / operator_specs.json

분석 대상이 되는 연산자 목록을 담은 입력 파일

세 연산자를 테스트 입력으로 사용한다

  • reduction_sum
  • softmax
  • layernorm

구조 해석기의 가장 단순한 입력 예시

 

scripts / analyze_operator.py

JSON 을 읽고, 각 연산자에 대해 registry 를 조회한 뒤 구조 정보를 출력하는 실행 스크립트

각 연산자에 대해 다음 정보를 반환한다

  • 연산자 이름
  • computation structures
  • preservation classes
  • possible primitives
  • summary

 

2. 현재 상황

연산자를 이름이 아니라 구조적 속성으로 바라보게 만든다

첫 번째 기준점을 만든 것