From 0b42cb771ef04321503cd60703c2ef41f5668521 Mon Sep 17 00:00:00 2001 From: gaopengf Date: Wed, 12 Nov 2025 18:29:49 -0800 Subject: [PATCH 1/2] remove clang::optnone attribute for IgammaFunctor --- src/ATen/native/xpu/sycl/IGammaKernel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ATen/native/xpu/sycl/IGammaKernel.cpp b/src/ATen/native/xpu/sycl/IGammaKernel.cpp index 6ef637fc0d..4907be2f5a 100644 --- a/src/ATen/native/xpu/sycl/IGammaKernel.cpp +++ b/src/ATen/native/xpu/sycl/IGammaKernel.cpp @@ -11,7 +11,7 @@ template struct IgammaFunctor { IgammaFunctor(bool calc_igammac) : calc_igammac_(calc_igammac) {} bool calc_igammac_; - [[clang::optnone]] scalar_t operator()(scalar_t a, scalar_t b) const { + scalar_t operator()(scalar_t a, scalar_t b) const { if (calc_igammac_) { return calc_igammac(a, b); } else { From a2711b0b289fb6a6fbf196d1d34d29b9cf995d33 Mon Sep 17 00:00:00 2001 From: gaopengf Date: Thu, 13 Nov 2025 19:11:05 -0800 Subject: [PATCH 2/2] rewrite kernel functor --- src/ATen/native/xpu/sycl/IGammaKernel.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/ATen/native/xpu/sycl/IGammaKernel.cpp b/src/ATen/native/xpu/sycl/IGammaKernel.cpp index 4907be2f5a..d638d55781 100644 --- a/src/ATen/native/xpu/sycl/IGammaKernel.cpp +++ b/src/ATen/native/xpu/sycl/IGammaKernel.cpp @@ -9,26 +9,27 @@ namespace at::native::xpu { template struct IgammaFunctor { - IgammaFunctor(bool calc_igammac) : calc_igammac_(calc_igammac) {} - bool calc_igammac_; scalar_t operator()(scalar_t a, scalar_t b) const { - if (calc_igammac_) { - return calc_igammac(a, b); - } else { - return calc_igamma(a, b); - } + return calc_igamma(a, b); + } +}; + +template +struct IgammacFunctor { + scalar_t operator()(scalar_t a, scalar_t b) const { + return calc_igammac(a, b); } }; void igamma_kernel(TensorIteratorBase& iter) { AT_DISPATCH_FLOATING_TYPES(iter.common_dtype(), "igamma_xpu", [&]() { - gpu_kernel(iter, IgammaFunctor(false)); + gpu_kernel(iter, IgammaFunctor()); }); } void igammac_kernel(TensorIteratorBase& iter) { AT_DISPATCH_FLOATING_TYPES(iter.common_dtype(), "igammac_xpu", [&]() { - gpu_kernel(iter, IgammaFunctor(true)); + gpu_kernel(iter, IgammacFunctor()); }); }