use new q4_0 batch kernel (#12396)
This commit is contained in:
		
							parent
							
								
									d6d63d6b84
								
							
						
					
					
						commit
						00fce5c940
					
				
					 1 changed files with 10 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -362,12 +362,16 @@ def use_batch_forward(x: torch.Tensor, qtype: int, output_len: int):
 | 
			
		|||
    batch_size = x.shape[0]
 | 
			
		||||
    hard_condition = (
 | 
			
		||||
        x.dtype in [torch.float, torch.half]
 | 
			
		||||
        and x.shape[1] % 256 == 0
 | 
			
		||||
        and output_len % 32 == 0
 | 
			
		||||
        and device in ["arc", "flex", "pvc", "mtl"]
 | 
			
		||||
        and qtype in [SYM_INT4, ASYM_INT4, SYM_INT8, FP4,
 | 
			
		||||
                      FP8E5, FP6, FP8E4, Q4_K, Q6_K]
 | 
			
		||||
        and batch_size <= 64
 | 
			
		||||
        and (
 | 
			
		||||
            x.shape[1] % 128 == 0 and qtype in [SYM_INT4]
 | 
			
		||||
            or (
 | 
			
		||||
                x.shape[1] % 256 == 0
 | 
			
		||||
                and output_len % 32 == 0
 | 
			
		||||
                and device in ["arc", "flex", "pvc", "mtl"]
 | 
			
		||||
                and qtype in [ASYM_INT4, SYM_INT8, FP4, FP8E5, FP6, FP8E4, Q4_K, Q6_K]
 | 
			
		||||
            )
 | 
			
		||||
        )
 | 
			
		||||
        and batch_size <= 48
 | 
			
		||||
    )
 | 
			
		||||
    if hard_condition:
 | 
			
		||||
        return (
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue