
    .`i                     ~    d dl Z d dlmZ d dlmZmZ ej        dej        fd            Zde j	        de j	        fdZ
dS )	    N)	libdevice)tltriton
BLOCK_SIZEc                    t          j        d          }d}t          d||          D ]}|t          j        d|          z   }||k     }	t          j        | ||z  z   |z   |	d          }
|
                    t           j                  }
t          j        |
                              t           j	                  }|t          j
        |                              t           j                  z  }t          j        ||z   |           d S )Nr   )maskother)r   
program_idrangearangeloadtofloat32r   isnanint1sumint32store)
logits_ptrlogits_stridenum_nans_ptr
vocab_sizer   req_idxnum_nansiblockr   logitsis_nans               u/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/v1/worker/gpu/metrics/logits.py_num_nans_kernelr    	   s     mAGH1j*-- 0 0BIa,,,z!=0058t1
 
 
 2:&&((++BG44BF6NN%%bh///H\G#X.....    r   returnc                     | j         \  }}d}t          j        |t          j        | j                  }t          |f         | |                     d          |||           |S )Ni    )dtypedevicer   )r   )shapetorchemptyr   r%   r    stride)r   num_reqsr   r   r   s        r   get_num_nansr+      sm    !<HjJ{85;v}MMMHh[!a    Or!   )r'   &torch._inductor.runtime.triton_helpersr   vllm.triton_utilsr   r   jit	constexprr    Tensorr+    r!   r   <module>r2      s     < < < < < < ( ( ( ( ( ( ( ( /
 / / / /* %,      r!   