Coverage for src/flag_gems/runtime/backend/_sunrise/ops/logical_and.py: 0%

15 statements  

« prev     ^ index     » next       coverage.py v7.6.9, created at 2026-06-05 07:36 +0800

1import logging 

2 

3import triton 

4import triton.language as tl 

5 

6from flag_gems.utils import pointwise_dynamic 

7from flag_gems.utils.pointwise_dynamic import CodeGenConfig 

8 

9logger = logging.getLogger("flag_gems").getChild(__name__.lstrip(".")) 

10 

11 

12MAX_GRID_SIZES = (65535, 65535, 65535) 

13config = CodeGenConfig( 

14 max_tile_size=2048, 

15 max_grid_size=MAX_GRID_SIZES, 

16 max_num_warps_per_cta=32, 

17 prefer_block_pointer=True, 

18 prefer_1d_tile=True, 

19) 

20 

21 

22@pointwise_dynamic(promotion_methods=[(0, 1, "ALWAYS_BOOL")], config=config) 

23@triton.jit 

24def logical_and_func(x, y): 

25 return x.to(tl.int1).logical_and(y.to(tl.int1)) 

26 

27 

28def logical_and(A, B): 

29 logger.debug("GEMS LOGICAL_AND") 

30 return logical_and_func(A, B)