Files
project_6/muh/schema/histogram.yaml
dylanyunlon 9b21a13119 [MUH] Bootstrap muh toolchain — extract/parse/gen_yaml/gen_patch + baseline.muh
Pipeline:
  1. extract.py: Parses all 26 CCCL tuning_*.cuh → 26 YAML schemas in muh/schema/
  2. parse.py: .muh file parser with extends-inheritance + schema validation
  3. gen_yaml.py: .muh → computility-run.yaml (verified: matches competition reference)
  4. gen_patch.py: .muh → vllm kernel unified diff patches (6 algorithm mappings)
  5. baseline.muh: Competition reference config, all tuning values pending BI-V100 benchmarks

Schemas extracted:
  26 algorithms, 8-19 params each, SM75/80/90/100 reference tunings
  Priority mapping: reduce→attention, topk→sampling, scan→paged_attention,
  transform→activations, batch_memcpy→KV_cache, for→RoPE

Tested: extract→parse→validate→gen_yaml→gen_patch full pipeline passes
2026-07-30 10:39:06 +00:00

118 lines
2.2 KiB
YAML

# muh schema for histogram
# Auto-extracted from cub/cub/device/dispatch/tuning/tuning_histogram.cuh
# Generated by muh/extract.py
algorithm: histogram
source: cub/cub/device/dispatch/tuning/tuning_histogram.cuh
parameters:
threads_per_block:
type: int
range:
- 32
- 1024
step: 32
pixels_per_thread:
type: int
range:
- 1
- 1024
step: 1
note: unknown_range
vec_size:
type: int
range:
- 1
- 8
step: 1
load_algorithm:
type: enum
values:
- BLOCK_LOAD_DIRECT
- BLOCK_LOAD_VECTORIZE
- BLOCK_LOAD_TRANSPOSE
- BLOCK_LOAD_WARP_TRANSPOSE
- BLOCK_LOAD_WARP_TRANSPOSE_TIMESLICED
- BLOCK_LOAD_STRIPED
load_modifier:
type: enum
values:
- LOAD_DEFAULT
- LOAD_CA
- LOAD_CG
- LOAD_CS
- LOAD_CV
- LOAD_LDG
init_kernel_pdl_trigger_max_bins:
type: int
range:
- 1
- 1024
step: 1
note: unknown_range
sample_size:
type: int
range:
- 1
- 1024
step: 1
note: unknown_range
counter_size:
type: int
range:
- 1
- 1024
step: 1
note: unknown_range
sample_size_bytes:
type: int
range:
- 1
- 1024
step: 1
note: unknown_range
num_channels:
type: int
range:
- 1
- 1024
step: 1
note: unknown_range
num_active_channels:
type: int
range:
- 1
- 1024
step: 1
note: unknown_range
reference_tunings:
sm90:
-
threads: 768
items: 12
load_modifier: LOAD_LDG
load_algorithm: BLOCK_LOAD_DIRECT
-
threads: 960
items: 10
load_modifier: LOAD_DEFAULT
load_algorithm: BLOCK_LOAD_DIRECT
sm100:
-
items: 12
threads: 928
load_modifier: LOAD_CA
load_algorithm: BLOCK_LOAD_DIRECT
vec_size: 1
-
items: 12
threads: 448
load_modifier: LOAD_LDG
load_algorithm: BLOCK_LOAD_DIRECT
vec_size: 1
init_kernel_pdl_trigger_max_bins: 2048
bi_v100:
status: pending_benchmark
note: Run muh benchmark on Iluvatar BI-V100 to fill these values
threads_per_block: TBD
items_per_thread: TBD