igneum/proto-opencl/test-host.sh
igneum-labs dc84789e34 read-width experiment (gate 1): load classes W=4/16/64, per-load width mix, scratch RMW variant behind a generator flag; 20 packs; CPU verifier and acceptance mirror; emulator shims
Nothing changes for the default class: the pinned packs are byte-identical (tests/packs.rs), the v2 draw stream is untouched.
LoadClass {mix, load_slots, scratch}: fixed widths w16, w64, w64x4 (4 loads of 64 B), era mixes 50/35/15 and 25/50/25 drawn per load with one extra below(100) roll, and the scratch variant scr0/2/4/8 (persistent warps, 1 MiB per warp, tagged lazy fill, measurement only). A wide load reads the W-aligned address and folds every word: x = dst ^ w0; x = (rotl(x, 11) * 0x9e3779b1) ^ w[j]. Program ids carry the class. proto-opencl/host.c taken from opencl-rdna4 23810df (--memprobe, select read-back).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 19:46:54 +00:00

10 lines
591 B
Bash
Executable file

#!/usr/bin/env bash
# Builds and runs test_host.c (the device-free rules of host.c) against the placeholder pack. No GPU is touched.
set -euo pipefail
cd "$(dirname "$0")"
P="../proto-cuda/packs/igneum-devnet-v4-epoch0"
case "$(uname -s)" in
Darwin) cc -std=c99 -O1 -Wall -Wextra -Wno-deprecated-declarations -Wno-unused-function -I "$P" -DIGNEUM_KERNEL_PATH='"kernel_bound.cl"' -o test_host test_host.c -framework OpenCL ;;
*) cc -std=c99 -O1 -Wall -Wextra -Wno-unused-function -I "$P" -DIGNEUM_KERNEL_PATH='"kernel_bound.cl"' -o test_host test_host.c -lOpenCL -ldl ;;
esac
./test_host