Coverage for src/flag_gems/runtime/backend/_kunlunxin/ops/reciprocal.py: 0%
17 statements
« prev ^ index » next coverage.py v7.6.9, created at 2026-03-12 02:21 +0800
« prev ^ index » next coverage.py v7.6.9, created at 2026-03-12 02:21 +0800
1import logging
3import triton
4import triton.language as tl
5from _kunlunxin.utils.codegen_config_utils import CodeGenConfig
7from ..utils.pointwise_dynamic import pointwise_dynamic
9logger = logging.getLogger("flag_gems").getChild(__name__.lstrip("."))
11config_ = CodeGenConfig(
12 512,
13 (65536, 65536, 65536),
14 32,
15 True,
16 prefer_1d_tile=True,
17 buffer_size_limit=4096,
18 isCloseVectorization=True,
19 unroll_num=8,
20)
23@pointwise_dynamic(promotion_methods=[(0, "INT_TO_FLOAT")], config=config_)
24@triton.jit
25def reciprocal_func(x):
26 return 1.0 / x.to(tl.float32)
29def reciprocal(A):
30 logger.debug("GEMS RECIPROCAL")
31 return reciprocal_func(A)
34def reciprocal_(A):
35 logger.debug("GEMS RECIPROCAL_")
36 return reciprocal_func(A, out0=A)