역할 기준으로 크게 세 층으로 나눈다.
- 정적 명세 : 연산자 자체를 설명하는 비교적 고정된 정보
- 선택 입력 : 이후 primitive 추천, runtime path 선택, synthesis constraint 생성에 실제로 쓰일 수 있는 정보
- 출력 표현 : 사람이 읽거나 도구가 보기 좋게 보여주기 위한 정보
전체 분류
1. 정적 명세 중심
- name
- computataion_structure
- presesrvation_classes
2. 선택 입력 중심
- possible_primitives
- pipeline
3. 출력 표현 중심
- summary
1. name
주 분류
정적 명세
이유
name 은 연산자의 식별자
연산자 프로필이 존재하는 한 거의 고정
예
- reduction_sum
- softmax
- layernorm
2. computation_structures
이 필드는 이 연산이 어떤 계산 구조를 가지는지 설명한다.
- reduction
- summary_state
- rescaled_streaming
- weighted_aggregation
이 필드는 이후 선택 로직의 기반이 된다.
- reduction 이 있으면 reduction primitve 후보를 추천할 수 있고
- rescaled_streaming 이 있으면 streaming path 고려 가능
- summary_state 가 있으면 compact state path 를 고려할 수 있다.
현재 예시
reduction_sum
- reduction
- summary_state
softmax
- reduction
- rescaled_streaming
- summary_state
- weighted_aggregation
layernorm
- summary_state
- reduction
3. preseration_classes
어떤 종류의 transformation 이 의미를 보존하는지를 정의한다.
- order
- representation
- summary_state
- rescaling
- rematerialization
연산자 자체의 성질에 가깝다.
softmax 는 특정 하드웨어에서만 rescaling 이 되는 게 아니라, 구조적으로 rescaling preservation 을 가진다.
이 필드는 단순 설명이 아니라 선택 가능 범위를 제한하는 legality boundary 다.
- rescaling 이 없으면 rescaled path 는 허용되지 않는다.
- summary_state 가 없으면 streaming compact-state path 는 정당화하기 어렵다
- rematerialization 이 없으며 recompute path 를 쉽게 택할 수 없다.
현재 예시
reduction_sum
- reduction
- summary_state
softmax
- reduction
- rescaled_streaming
- summary_state
- weighted_aggregation
layernorm
- summary_state
- reduction
4. possible_primitives
이 필드는 이 연산에 대해 가능한 building block 후보가 무엇인가를 담는가.
- warp_reduction
- block_reduction
- max_reduction
- streaming_state_update
- shared_memory_staging
실행 선택에 가까운 정보
- 어떤 primitive 들이 후보군인지
- 이 후보들 중 어떤 것을 조합할 수 있는지
- 나중에 runtime 에서 어떤 realization path 를 구성할 수 있는지
이 연산에 대해 사용 가능한 실현 후보 집합이다.
현재 예시
reduction_sum
- order
- representation
- summary_state
- rematerialization
softmax
- order
- representation
- summary_state
- rescaling
- rematerialization
layernorm
- order
- representation
- summary_state
- rematerialization
'AI Compiler Generator' 카테고리의 다른 글
| Computation Structures (0) | 2026.04.06 |
|---|---|
| Computation Structures (0) | 2026.03.30 |
| 연산자들에 대해 미리 정의된 구조 정보 정의 및 조회 출력하는 초기 구조 해석기 operator analyzer 구현 (0) | 2026.03.30 |
| Computation Structure (0) | 2026.03.28 |
| 기존 Properties 와 Motifs 의 구분 (0) | 2026.03.28 |