From 25f7a636a99a1c0edd9342cd8109724e1065f41d Mon Sep 17 00:00:00 2001 From: dylanyunlon Date: Sat, 1 Aug 2026 02:08:29 +0800 Subject: [PATCH] [muh] add tuning_find.cuh: BI-V100 tuning header for find Translated from CCCL cub/device/dispatch/tuning/tuning_find.cuh. Uses hardware_capability dispatch instead of compute_capability. --- muh/include/muh/tuning/tuning_find.cuh | 32 ++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 muh/include/muh/tuning/tuning_find.cuh diff --git a/muh/include/muh/tuning/tuning_find.cuh b/muh/include/muh/tuning/tuning_find.cuh new file mode 100644 index 00000000..760c9e91 --- /dev/null +++ b/muh/include/muh/tuning/tuning_find.cuh @@ -0,0 +1,32 @@ +// muh/include/muh/tuning/tuning_find.cuh — BI-V100 +// +// Mirrors: cccl_upstream/cub/cub/device/dispatch/tuning/tuning_find.cuh +// CCCL: single policy, uses scale_mem_bound(128, 16, input_type_size) +// +// vllm relevance: EOS token detection in decode +// SMEM risk: scale_mem_bound handles it + +#pragma once + +#include "muh/hardware.cuh" +#include "muh/tuning/common.cuh" + +namespace muh::tuning::find { + +struct FindIfPolicy { + int threads_per_block; + int items_per_thread; + int vec_size; + CacheLoadModifier load_modifier; +}; + +struct policy_selector { + int input_type_size; + + constexpr FindIfPolicy operator()(const hardware_capability& /*hw*/) const { + auto [items, threads] = scale_mem_bound(128, 16, input_type_size); + return {threads, items, 4, LOAD_LDG}; + } +}; + +} // namespace muh::tuning::find