### What this PR does / why we need it? This was meant to be merged in #6536, but I accidentally restored a commit. You can find the relevant discussion [here](https://github.com/vllm-project/vllm-ascend/pull/6536#issuecomment-3882883471). Since `self.pass_config.enable_sp` is forcibly set to `False` in the [source code](f176443446/vllm/config/compilation.py (L1066)), this section will no longer verify whether the generated cudagraph shapes are multiples of both `uniform_decode_query_len` (`num_speculative_tokens + 1`) and `tensor_parallel_size`. This PR enables the `num_speculative_tokens + 1` and `tensor_parallel_size` check upfront. Therefore, it won't silently round up the `cudagraph_size` and throw a cryptic error for the user. A typical example of this cryptic error looks like: ``` ValueError: could not broadcast input array from shape (196,) into shape (14,) ``` ### Does this PR introduce _any_ user-facing change? no. ### How was this patch tested? Have passed all test. - vLLM version: v0.15.0 - vLLM main:83b47f67b1--------- Signed-off-by: lilinsiman <lilinsiman@gmail.com> Signed-off-by: guozr <guozr1997@hotmail.com> Co-authored-by: lilinsiman <lilinsiman@gmail.com> Co-authored-by: drslark <slarksblood@qq.com> Co-authored-by: guozr <guozr1997@hotmail.com>