[ET-VK][sdpa] Add SDPA operator perf benchmark binary (test_sdpa)
Pull Request resolved: https://github.com/pytorch/executorch/pull/21062 Adds a standalone custom-ops perf binary that builds a ComputeGraph containing only the SDPA op (`llama.custom_sdpa`, the causal LLM KV-cache decode/prefill path) and reports per-dispatch GPU timing for the three SDPA dispatches (QK GEMM, softmax, AV GEMM) in isolation, so shader variants can be A/B-benchmarked without a full model. `TestSDPA.cpp` registers a `test_etvk.test_sdpa` op wrapper that synthesizes `input_pos` from the tensor shapes and drives `llama.custom_sdpa`. Two env toggles: `SDPA_DECODE_ONLY=1` restricts the sweep to the decode (S==1) shape matrix, and `SDPA_NO_CHAIN=1` sets `op_invocations_per_execute=1` to remove inter-invocation pipelining from the timing. Follows the existing `test/custom_ops/` pattern (e.g. `test_mm`) and is registered via `define_custom_op_test_binary` in `targets.bzl`. ghstack-source-id: 405400496 @exported-using-ghexport Differential Revision: [D112906312](https://our.internmc.facebook.com/intern/diff/D112906312/)
S
Stephen Jia committed
ff9b4c5034b5145e8fd4dadd92ba5369fa74f99b
Parent: b22a902