29 lines
1.4 KiB
Plaintext
29 lines
1.4 KiB
Plaintext
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
# Copyright (C) 2026 David (Corey) Herrera
|
|
# vector_add_float32.cbtable
|
|
# A DIFFERENT tile format and a DIFFERENT page size from everything Foundry had run on
|
|
# the card up to 2026-08-12: 32x32 Float32, so a tile is 4096 bytes rather than 2048.
|
|
# This is the table that shows the descriptor generator is really driven by the CB
|
|
# configuration -- the same kernel source built against the legacy uniform Float16_b
|
|
# descriptors unpacks these bytes as bfloat16 and returns garbage
|
|
# (tests/test_phase2_cb_formats.c runs both and compares).
|
|
#
|
|
# What the generator derives from `Float32` and does NOT read from this file: the
|
|
# source registers cannot hold Float32 without fp32 destination accumulation, so
|
|
# unpack_dst and pack_src become Float16_b while unpack_src and pack_dst stay Float32.
|
|
# That is the hardware's format-derivation rule, not ours (measured).
|
|
#
|
|
# Consequence for a test: values pass through bfloat16 inside the core, so only inputs
|
|
# whose sums are exactly representable there stay byte-exact. Small integers are.
|
|
#
|
|
# The reader and writer must be built with a matching 4096-byte tile compile-time arg;
|
|
# data-movement kernels have no descriptor header to tell them.
|
|
|
|
math_fidelity 4
|
|
approx 0
|
|
dst_accum_mode 0
|
|
|
|
cb 0 Float32 32 32 16 4
|
|
cb 1 Float32 32 32 16 4
|
|
cb 16 Float32 32 32 16 4
|