@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / e8c3bd2cd1
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 15, 04:45 UTC

[Bugfix] Fix some narrowing conversion warnings (#20141)

Signed-off-by: Tyler Michael Smith <tyler@neuralmagic.com>

Tyler Michael Smith committed Jun 27, 2025 at 12:01 UTC e8c3bd2cd164786e764f7e3436bbaa6cd00ae64a
6 files changed +8 -14
csrc/attention/mla/cutlass_mla_kernels.cu
+1 -1
@@ -207,7 +207,7 @@ void cutlass_mla_decode_sm100a(torch::Tensor const& out,
207 "page_table must be a 32-bit integer tensor");
208
209 auto in_dtype = q_nope.dtype();
210 - at::cuda::CUDAGuard device_guard{(char)q_nope.get_device()};
210 + const at::cuda::OptionalCUDAGuard device_guard(device_of(q_nope));
211 const cudaStream_t stream =
212 at::cuda::getCurrentCUDAStream(q_nope.get_device());
213 if (in_dtype == at::ScalarType::Half) {
csrc/mamba/causal_conv1d/causal_conv1d.cu
+2 -6
@@ -185,9 +185,7 @@ void causal_conv1d_fwd(const at::Tensor &x, const at::Tensor &weight,
185 params.conv_states_ptr = nullptr;
186 }
187
188 - // Otherwise the kernel will be launched from cuda:0 device
189 - // Cast to char to avoid compiler warning about narrowing
190 - at::cuda::CUDAGuard device_guard{(char)x.get_device()};
188 + const at::cuda::OptionalCUDAGuard device_guard(device_of(x));
189 auto stream = at::cuda::getCurrentCUDAStream().stream();
190 DISPATCH_WTYPE_ITYPE_FLOAT_AND_HALF_AND_BF16(x.scalar_type(), "causal_conv1d_fwd", [&] {
191 causal_conv1d_fwd_cuda<input_t, weight_t>(params, stream);
@@ -278,9 +276,7 @@ void causal_conv1d_update(const at::Tensor &x,
276 params.conv_state_indices_ptr = nullptr;
277 }
278
281 - // Otherwise the kernel will be launched from cuda:0 device
282 - // Cast to char to avoid compiler warning about narrowing
283 - at::cuda::CUDAGuard device_guard{(char)x.get_device()};
279 + const at::cuda::OptionalCUDAGuard device_guard(device_of(x));
280 auto stream = at::cuda::getCurrentCUDAStream().stream();
281 DISPATCH_WTYPE_ITYPE_FLOAT_AND_HALF_AND_BF16(x.scalar_type(), "causal_conv1d_update", [&] {
282 causal_conv1d_update_cuda<input_t, weight_t>(params, stream);
csrc/mamba/mamba_ssm/selective_scan_fwd.cu
+1 -3
@@ -647,9 +647,7 @@ void selective_scan_fwd(const torch::Tensor &u, const torch::Tensor &delta,
647 );
648
649
650 - // Otherwise the kernel will be launched from cuda:0 device
651 - // Cast to char to avoid compiler warning about narrowing
652 - at::cuda::CUDAGuard device_guard{(char)u.get_device()};
650 + const at::cuda::OptionalCUDAGuard device_guard(device_of(u));
651 auto stream = at::cuda::getCurrentCUDAStream().stream();
652 DISPATCH_WTYPE_ITYPE_FLOAT_AND_HALF_AND_BF16(u.scalar_type(), "selective_scan_fwd", [&] {
653 selective_scan_fwd_cuda<input_t, weight_t>(params, stream);
csrc/quantization/fp4/nvfp4_experts_quant.cu
+2 -2
@@ -561,7 +561,7 @@ void scaled_fp4_experts_quant_sm100a(
561 TORCH_CHECK(output_scale.size(1) * 4 == padded_k);
562
563 auto in_dtype = input.dtype();
564 - at::cuda::CUDAGuard device_guard{(char)input.get_device()};
564 + const at::cuda::OptionalCUDAGuard device_guard(device_of(input));
565 const cudaStream_t stream =
566 at::cuda::getCurrentCUDAStream(input.get_device());
567 if (in_dtype == at::ScalarType::Half) {
@@ -579,4 +579,4 @@ void scaled_fp4_experts_quant_sm100a(
579 } else {
580 TORCH_CHECK(false, "Expected input data type to be half or bfloat16");
581 }
582 -}
\ No newline at end of file
582 +}
csrc/quantization/fp4/nvfp4_quant_kernels.cu
+1 -1
@@ -347,7 +347,7 @@ void scaled_fp4_quant_sm100a(torch::Tensor const& output,
347 auto input_sf_ptr = static_cast<float const*>(input_sf.data_ptr());
348 auto sf_out = static_cast<int32_t*>(output_sf.data_ptr());
349 auto output_ptr = static_cast<int64_t*>(output.data_ptr());
350 - at::cuda::CUDAGuard device_guard{(char)input.get_device()};
350 + const at::cuda::OptionalCUDAGuard device_guard(device_of(input));
351 auto stream = at::cuda::getCurrentCUDAStream(input.get_device());
352
353 // We don't support e8m0 scales at this moment.
csrc/quantization/fp4/nvfp4_scaled_mm_kernels.cu
+1 -1
@@ -267,7 +267,7 @@ void cutlass_scaled_fp4_mm_sm100a(torch::Tensor& D, torch::Tensor const& A,
267 B_sf.sizes()[1], ")");
268
269 auto out_dtype = D.dtype();
270 - at::cuda::CUDAGuard device_guard{(char)A.get_device()};
270 + const at::cuda::OptionalCUDAGuard device_guard(device_of(A));
271 const cudaStream_t stream = at::cuda::getCurrentCUDAStream(A.get_device());
272
273 if (out_dtype == at::ScalarType::Half) {