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

19 statements  

« prev     ^ index     » next       coverage.py v7.6.9, created at 2026-05-27 08:02 +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 

11MAX_GRID_SIZES = (65535, 65535, 65535) 

12config = CodeGenConfig( 

13 max_tile_size=1024, 

14 max_grid_size=MAX_GRID_SIZES, 

15 max_num_warps_per_cta=8, 

16 prefer_block_pointer=True, 

17 prefer_1d_tile=False, 

18) 

19 

20 

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

22@triton.jit 

23def logical_or_func(x, y): 

24 return x.to(tl.int1).logical_or(y.to(tl.int1)) 

25 

26 

27def logical_or(A, B): 

28 logger.debug("GEMS LOGICAL_OR") 

29 return logical_or_func(A, B) 

30 

31 

32def logical_or_(A, B): 

33 logger.debug("GEMS LOGICAL_OR_") 

34 logical_or_func(A, B, out0=A) 

35 return A